面试公司:虾皮
面试岗位:Java后端开发
面试过程:全程一个小时
1.java中的锁机制,什么是可重入锁
2.AQS
3.redis相关数据结构,为什么每种数据类型一般都有两种数据结构?
4.jvm 相关 内存结构,gc
5.hashmap底层原理
6.mysql 索引类型,分别解释,索引失效,什么是覆盖索引,什么是hash索引,和b+树有什么区别?
7.spring ioc aop原理,循环依赖怎么解决,三级缓存具体实现,如果构造函数内存在循环依赖还能解决吗?
8.mybatis相关,#和
9.线程池相关,流程,拒绝策略的选择,如何设计线程池最大线程数和核心线程数
10.HashMap ConcurrentHashMap
11.红黑树 二叉查找树 红黑树高度差
12.Mysql索引
13.两道算法 (怎么判断链表有环 两个方式 怎么判断树是不是二叉查找树 两个方式)
13.Redis 分布式锁
15.限流算法
面试总结:总体不难,算法题脑抽了只过了一半,面试官点出了问题说时间到了,反问一点点,感觉五五开,许愿一个二面