整个面试过程一共一小时17分,是我目前面试时间最长的一场面试,面试官会针对你的回答和你写的答案继续提问深究,面试压力还是挺大的,反正我面完下来整个人都不好了
1.自我介绍
2.谈了一下项目,比如有什么功能,用了什么框架,因为这个项目比较简单,所以面试官就没有继续问了
3.TreeMap和HashMap的区别以及底层实现,分别用在什么场景
4.HashMap的底层为什么要这样实现,有什么优缺点?
5.数组和链表的区别
6.有哪些排序算法,复杂度分别是?
7.快速排序算法的思想
8.Java底层的排序算法用的是什么算法?
9.多线程怎么保证同步?
10.synchronize和retranklock的区别?
11.什么是公平锁和非公平锁,非公平锁是怎么决定的?
12.了解哪些设计模式?
13.写一个单例模式,懒汉式和饿汉式,怎么解决饿汉式的线程安全问题?如果用lock()怎么加锁?
14.写一个大数相加的算法,面试官降低了一下难度,说只考虑正整数吧。写完后问假如要测试你写的这个代码对不对,你怎么设计测试用例?
全部评论
(5) 回帖