祖龙娱乐Java一面二面面经(校招)
一面(50分钟)2021.12.09
1、项目
2、了解哪些集合比较深(具体说说)
3、HashMap put方法流程
4、HashMap扩容流程
5、ConcurrentHashMap扩容有什么改变
6、JUC是做什么的
7、多线程了解嘛
8、线程池的参数
9、如何修改原生线程池,使得可以先拉满线程数再入任务队列排队?
10、Mysql的索引是什么结构的
11、MySQL为什么要用B+树来作为数据结构
12、算法:反转链表
13、LRU用来做什么的
14、Redis中的内存淘汰策略中volatile-lru和allkeys-lru有什么区别
15、算法:LRU缓存机制(本来打算让我写的,问了我是不是写过LRU,我答:写过。面试官:那不写LRU了)
16、设计数据结构:
队列 存Integer数据 容量为10000 30min过期
二面(50分钟)2021.12.09
1、项目
2、项目中Redis用了什么
3、除了项目中用到的Redis数据类型,你还了解哪些
4、Redis中String底层的实现(SDS)
5、项目中的难点或者bug排查印象深刻的,是怎么做的
6、MySQL数据结构的实现
7、为什么要是B+树
8、项目中表的设计,字段,索引,为什么要这么设计索引
9、Redis过期键的删除策略
10、你觉得你这个系统该用什么垃圾回收器
11、为什么用CMS
12、CMS流程和优缺点
13、什么情况下CMS不适合你的系统(单核 CMS是CPU敏感)面试官提示了从配置上想想
14、算法:
N * N矩阵,从左上角开始以对角线方式打印数组内元素,例如: 1 2 3 4 5 6 7 8 9 输出顺序1,2,4,3,5,7,6,8,9