首先是笔试,题目有:
1.谈谈对Java注解的认识以及应用场景;
2.Java常用的设计模式有什么,谈谈其中一个设计模式的理解和实现;
3.Spring的动态代理,以及你对动态代理的理解;
4.如果不用Spring的AOP,自己如何实现一个AOP;
5.MySQL的索引的类型有哪些,谈谈聚合索引的理解;
6.代码题,输出try、catch、finally和return中语句的值;
7.写一个两表关联查询left join的最终结果。
一面是一个小哥,主要聊了JVM(类加载机制、类查找、回收机制)、多线程AQS的实现原理、MySQL聚合索引和二级索引的区别、Springboot自动装配机制。二面是CTO副总,聊了三个问题,一个是字符串常量池相关,判断两个字符串拼接的结果true还是false,第二个是手写一下斐波那契数列的算法实现,从递归聊到空间换时间,聊到最优解决方案,第三个是http和https的区别,引出如何防止网站被劫持,除了CA证书,有没有其他方案:DNS验证。最后CTO急着开会,面试结束。
面试总结:一面小哥透露的感觉,业务项目遗留的坑很多,除了Java项目还有.Net项目。二面CTO感觉还可以,比较耐心的引导,技术关注性能以及执行效率,偏业务。
...查看更多