携程一面
1. 接口集合框架
2. arraylist扩容 ,数组特别大会有什么问题:效率低 占内存
2.1 内存分配在什么位置? 堆空间结构
3 List接口下的线程安全实现类:vector, copyOnWriteList(没看过)
4 Map 底层数据结构 链表转红黑树,什么时候退化
4.currentHashMap 加锁过程: cas 机制 + synchronized
5. cas机制会有什么问题:aba问题,忙等问题(消耗cpu)
6.忙等怎么解决? 答:cas次数超阈值后加synchronized , 这样释放了cpu,但没有提升并发性能,更好的解决? 参考原子类实现方式, automicInteger 底层如何实现的?(cas)
jdk8 LongAdder (没看过),底层其实跟 currentHashMap 计算size原理,分成数组,多个数位同时承担所有线程并发!
7.因为cas忙等并发问题没答上来,跳到redis分片,再到 秒杀数据的分片
8.mysql索引 聚簇索引的查询方式? 一直是回表吗?(不会) 不是的! 覆盖索引
9:锁相关:AQS机制 :具体实现类 ,底层数据结构,(没仔细看)
10. spring循环依赖
无手撕,没问实习