1. 自我介绍
2. 介绍下你在实习的时候干了什么?
3. 你们分词是怎么分词的?
4. 重要性分析是怎么做的?
5. 纠错是如何利用elasticsearch完成的?你知道elasticsearch是如何计算分数的?
6. Map的哪种遍历方式效率比较高?
7. 你讲讲ArrayList的几种遍历方式?有什么问题
8. 口述算法题思路:颜色分类(leetcode中等题)
9. 口述算法题思路:寻找无序数组中的中位数(leetcode中等题)
10. 介绍一个你比较熟悉的Java类(我选了AQS)
11. AQS中持有锁的线程是在队头还是队尾
12. 线程加入到AQS的队尾需要进行CAS吗?
13. 场景题:有任务A、B、C、D。如果保证A先执行,A执行完之后,B、C、D开始并行执行。如果B、C、D执行完成之后,又要怎么通知B(要求只能用原生Java代码实现,不能使用消息队列,最后提示说使用countDownLatch)
14. IO多路复用了解吗(不会)
15. 伪内存了解吗(不会)
16. 四次挥手之后,为什么要等待两个time wait?
17. 如果等待超过两个time wait会发生什么?
18. 你还有什么比较了解的方面(我选了MySQL)
19. 你知道MySQL为什么能够支持那么高的QPS吗,他是怎么取数据的(提示Buffer Pool数据结构)
20. 你介绍下MySQL中的锁?
21. for update是锁表还是锁行?
22. 反问