凉经,供你参考
1. 自我介绍
2. 那些排序算法是稳定的
3. 那个是平均最快的排序?时间复杂度?
4. 如果基本有序,用哪个排序?
5. 如果判断两个链表有交集?
6. 每个对象都有个 hash 函数,是干什么用的?
7. 为什么重写 equal 要重写 hasHash ?
8. String,StringBuilder,StringBuffer,用在什么场景下
9. 进程通信有几种方式?
10. rpc 通信是哪种?(和 9 联系)
11. 访问
www.xxx.com 的过程
12. 长连接和短链接的区别?怎么看出来 http 用的哪种?
13. volatile 关键字干啥的?怎么实现的?
14. java 里面的 hashMap 和 chm 的区别? chm 的数据结构和并发量? chm 怎么解决的线程安全问题?
15. chm 什么时候扩容,扩容的容量是多少,为什么?
16. 线程都有哪些状态?怎么转移的?
17. sleep 和 wait 的区别
18. 调用 wait 之后,释放锁之后线程去哪里了? (!)
19. java 锁的控制有哪几种方法?
20. hashset 的数据结构是怎样的?
21. java 从启动到启动完毕,java 虚拟机都做了什么事情?(!)
22. jvm 内存结构
23. gc 常用算法?新生代用哪种?新生代的区域设计。
24. 哪几种情况进入老年代?
25. stackoverflow 一般是什么情况导致的
26. Metaspace out of memory 是什么情况?程序还能继续执行吗?一般怎么处理?
27. wait 和 notify 是怎么搭配一起完成线程的过程的?
28. 怎么设置唤醒特定的线程? (!)
29. (算法,说说思路)找两个字符串的最大公共子串。
30. (算法)找一个数组里面的前 n 大元素。