阿里一面题目:
1、osi七层网络模型,五层网络模型,每次层分别有哪些协议:
2、死锁产生的条件, 以及如何避免死锁,银行家算法,产生死锁后如何解决
3、如何判断链表有环
4、虚拟机类加载机制,双亲委派模型,以及为什么要实现双亲委派模型
5、虚拟机调优参数
6、拆箱装箱的原理
7、JVM垃圾回收算法
8、CMS G1
9、hashset和hashmap的区别,haspmap的底层实现put操作,扩容机制,currenthashmap如何解决线程安全,1.7版本以及1.8版本的不同
10、md5加密的原理
11、有多少种方法可以让线程阻塞,能说多少说多少
12、synchronized和reetrantlock锁
13、AQS同步器框架,countdowmlatch,cyclebarrier,semaphore,读写锁
阿里二面题目:
1、B-Tree索引,myisam和innodb中索引的区别
2、BIO和NIO的应用场景
3、讲讲threadlocal
4、数据库隔离级别,每层级别分别用什么方法实现,三级封锁协议,共享锁排它锁,mvcc多版本并发控制协议,间隙锁
5、数据库索引?B+树?为什么要建索引?什么样的字段需要建索引,建索引的时候一般考虑什么?索引会不会使插入、删除作效率变低,怎么解决?
6、数据库表怎么设计的?数据库范式?设计的过程中需要注意什么?
7、共享锁与非共享锁、一个事务锁住了一条数据,另一个事务能查吗?
8、Spring bean的生命周期?默认创建的模式是什么?不想单例怎么办?
阿里三面题:
1、高并发时怎么限流
2、线程池的拒接任务策略
3、HashMap和Hashtable的区别
4、实现一个保证迭代顺序的HashMap
5、说一说排序算法,稳定性,复杂度
6、说一说GC
7、JVM如何加载一个类的过程,双亲委派模型中有哪些方法?
8、TCP如何保证可靠传输?三次握手过程?
9、springboot的启动流程
10、集群、负载均衡、分布式、数据一致性的区别与关系
11、数据库如果让你来垂直和水平拆分,谁先拆分,拆分的原则有哪些(单表数据量多大拆)
12、最后谈谈Redis、Kafka、 Dubbo,各自的设计原理和应用场景
如果大家想获取BAT更多的面试题和以上的面试题答案,大家可以群获取: 552391552 里面已经发有总结好的BAT面试题,大家想获取的备注好进群消息就可以了。群里面还会不定时的分享Java后端架构技术干货【高性能及分布式、深入浅出。微服务、Spring,MyBatis,Netty源码分析、JVM等面试技术视屏知识点分享】
面试总结:
通过这次面试题和之前发的面试题来看,可以总结出目前互联网公司面试考点为:
1、性能调优、算法数据机构
2、高并发下数据安全、接口冪等性、原子性等
3、分布式下协同、已经锁的处理
4、数据库的分库分表、项目之间的垂直拆分
详细技术点为:
1、HashMap
2、JVM 【必问】
3、Dubbo
4、Mybatis
5、Zookeeper
6、http tcp/ip