网易一面(电话 3.6下午 一面通过)

2019-04-13 17:04发布

1.项目介绍
没什么难度,各有各的项目,就不写了
2.GC算法了解哪些
CMS,G1,serial,parallel,scavenge balabala
3.说下G1?
太简单不写了,此处感谢美团,看这个就行(https://tech.meituan.com/g1.html)
4.CMS?
太简单不写了,周志明的书81页。
5.Spring boot的好处?
约定大于配置,而且集成了许多框架,比如传统的tomcat 应用要先打成war包然后放入到相应的文件夹。Spring boot直接集成tomcat,可以以jar包形式直接运行等等。
6.设计模式知道哪些?模板模式知道吗?使用场景呢?
模板模式不知道呢,设计模式知道单列,工厂,代理,装饰器,责任链等。提了下Aop的实现使用动态代理,Mybatis的session用了装饰器。
7.详细说下责任链模式
balabala
8.你觉得Spring中哪里使用了责任链模式?
(想了3秒)应该是bean的生命周期管理,就是什么初始化,然后各种实现aware的接口处理bean,然后前置处理器,属性设置,后置处理器什么的。(这部分源码我没看过,根据责任链特性猜的,面试官没有异议,应该对了)
9. mysql锁的机制
自旋锁,共享锁,排它锁,意向锁,然后解释了实现方式和应用场景,(此处依旧推荐InnoDB技术内幕)直接秒。
又提了下,gap Lock,Record Lock,Next-key Lock(依旧推荐InnoDB技术内幕还有何登成的blog,可以让你瞬间根据事务级别和sql语句判断加锁形式)还有死锁检测和处理的方式(wait-for graph),然后又提了下rollback的原理(undo日志)。
10.Redis的数据类型有哪些?
列举了六种数据类型,然后分析了每种类型的内部编码方式和应用场景(比如hash有ziplist和hashtable实现)。
11.问下下私人问题,然后约了二面现场面时间。