1. 快手实习
2. 线程安全的List、Map类(Vector、ConcurrentHashMap)
3. ArrayList是线程不安全,如何避免(1.synchronized同步机制;2.使用Vector替代;3.Collections.synchronizedList(List list)方法)
4. ConcurrentHashMap如何保证线程安全(synchronized + CAS机制)
5. Lock和synchronized的区别(分别阐述了两者的区别,后面自己引入ReentrantLock,往AQS那边说)
6. MySQL的索引类型、范围查询、联合索引失效场景、如何确认SQL是否使用索引(讲了各种索引类型;自己举了一个联合索引失效的例子;explain命令)
7. B+树和红黑树的区别(阐述了下红黑树的定义,以及五个特性)
8. Redis数据结构、内存淘汰策略、使用LRU的优势(常见八股了,后面自己往Redis持久化引入了AOF和RDB机制)
9. 一致性Hash(一致性算法以前自己整理过的,这个面试过程中忘记了)
10. 稳定排序有哪些,稳定的定义什么(稳定的定义使我傻了。不知道,后面搜下了是两个元素有相等的键值,在排序后这两个元素的相对顺序应保持不变)
手撕算法:有10个不重复的数字比如1829043567,要求重新整理排列得到升序差值最小的数组组合(这道题想了5分钟,本来想着能不能按照下一个排列的做法,后面思考不可以,就请求换题了)
后面换了一道Leetcode21:合并两个有序链表,ac了
全部评论
(14) 回帖