16:20的面试,提早上了发现16:00的时候面试官就进入会议了
30分钟
八股+实习
感觉答的还行,基本上都答上来了。
自我介绍
八股:
1. hashmap的get方法(1.7,1.8)
2. 如果给你一个对象,让你按其中一个字段进行排序,你会怎么做(collections.sort方法,重写接口)
3. 重写哪一个接口,这边忘了然后随便说了一个Comparator。
4. sort方法使用了什么排序(没看,说了应该是快速排序和归并排序中的一种)
5. 快速排序和归并排序有什么区别
6. 线程安全概念,如何实现线程安全(wait,notify,synchronized和AQS实现类,忘了说volatile 了,后面就没问这个,对这个底层不熟)
7. synchronized 和 ReentrantLock 有什么区别(这里我提到了锁升级和AQS的模板方法)
8. 公平锁和非公平锁
9. 设计模式了解哪些(设计模式+举例,这里举例了很多spring里面用到的设计模式)
10. spring 循环依赖(三级缓存,这边说着说着有点乱了,不过还是勉勉强强答上来了)
11. mysql了解吗,主键分为自增主键和非自增主键,这两者区别和使用场景(提到了自增主键效率高一点,非自增主键可能会暴露一些敏感信息)
12. 为什么自增主键效率高一点(底层b+树,数据有序,双向链表,范围查询快,批量插入不用页分裂合并)
13. 场景题:既然自增主键效率高一点如何把非自增主键变为自增主键(这边说了内部用自增主键,然后前台返回数据的时候脱敏处理)
(这里问完大概22分钟)
询问实习情况
反问:
1. 几面
2. 应届生入职培养(这里跟我详聊了几分钟)