2019天猫面试题(含总结):线程池+并发编程+分布式设计+中间件

引言
过年之后相信有一部分的人,早已磨刀霍霍向大厂。势必要大展拳脚,必将在大厂内创出一片天地。但是,想必大家都知道:最近几年的最严重的互联网寒冬来临,各位兄弟都会说“江湖再见”。耳边总是充刺着流言蜚语,这个地方裁员了,这个地方缩减HC。弄得人心慌慌。年后将是一片血雨腥风,程序界的江湖将在这一天精彩斑斓。
但我们要知道,寒冬之中,什么是最珍贵,就让鄙人告诉你:人才。只要有过硬的技术和装备,在逆风直下的情况下,咱们也能迎难而上,打他个戳手不及。不是“李云龙”大哥说:“过狭路相逢勇者胜。”
在这里插入图片描述
一面:

HashMap实现原理,ConcurrentHashMap实现原理
红黑树,为什么允许局部不平衡
TCP,UDP区别,为什么可靠和不可靠
一次HTTP请求的全过程,包括域名解析、定位主机等
TCP三次握手
MySQL事务是什么?四大特性,四大隔离级别
ConcurrentHashMap和Hashtable区别
spring IOC和AOP,以及各有什么优点
有哪几种常用的线程池
什么情况下使用Runnable和Thread创建线程,Runnable和Callable的区别
线程方法中的异常如何处理,副线程可以捕获到吗
synchronized和锁的区别,什么情况下使用synchronized和ReentrantLock
JVM的对象分配在哪个区,Class对象分配在哪个区

二面:

常用的设计模式介绍:单例模式、装饰者模式等
Java会出现内存溢出吗?什么情况下会出现?
双亲委派模型,为什么这样做?
对象什么情况下进入老年代?
快速排序说一下过程
AOP实现原理:动态代理
BIO、NIO(如何实现的)、AIO
消息中间件有哪些?他们之间的优劣势?
Redis,持久化框架
栈和队列
垃圾回收算法
MySQL的索引
Tomcat 类加载器
OOM内存泄漏,什么情况下会出现,如何排查

三面:

介绍你实践的性能优化案例,以及你的优化思路
微服务和SOA的区别,优劣势
SQL慢查询的优化方案,索引和表的优化方案。
MySQL与MongoDB的区别,海量数据的存储
缓存框架,例如Redis、Memcached之间的区别,优劣势比较
请描述一致hash算法
分布式session的共享方案有哪些,有什么优劣势
高并发情况,系统的优化方案有哪些,以及优先级排序。

面试总结

阿里的面试特别喜欢面试技术原理,特别是:

多线程
NIO
异步消息框架
分布式相关的缓存算法等
JVM的加载过程和原理
回收算法
以及具体使用过的框架,会问部分参数检验你是否熟用
第一面被通过,后续被录用的可能性就会很大了,第一轮非常重要,建议系统的学习

面试题
就面试而言,有时候能发挥出150%的实力,有时候却只能发挥出50%。
我对提前做面试题的看法:面试就如同学生时代的考试,有些人平时学习认真,裸考也能名列前茅;有些人平时懒一些,考前拼几周也能获得不错的成绩。

现在是跳槽招聘季,为了解决小伙伴们的燃眉之急

小编也准备了一些JAVA程序员面试题,小伙伴可以试试。

需要的可以加小编QQ群855801563

猜你喜欢

转载自blog.csdn.net/zhuguanghalo/article/details/88535641