百度java提前批一面面经
全程1h30min左右,八股可能有一小部分忘记了
1. 自我介绍
2. 介绍实习+项目
3. 有哪些线程安全的set,原理是什么
4. 创建线程有哪些方法
5. 线程run()和start()区别
6. volatile作用
7. concurrentHashmap的锁和synchronized的锁有什么区别
8. synchronized能修饰哪些东西,它在修饰类和方法的时候有什么限制
9. 介绍分代回收机制,老生代里面都会有什么,老生代的垃圾回收的方法
10. 数据库创建索引的指令
11. 查询指令遇到瓶颈后如何优化
12. redis都用来做什么,用于什么场景
13. redis实现分布式锁,除了redis的话还有什么方法实现分布式锁,比如怎么用数据库实现
14. redis数据淘汰策略,最常用的是哪个
15. 形成死锁的四个条件
16. 发送https请求之后的全套流程
17. 设计模式的六大原则
18. CAS是什么
19. http500代表什么
20. https默认port
以上大概不到1h
然后是两个题
1. 回形填充n*n的数组
就是比如n=4,你要把二维数组填充成
10 11 12 1
9 16 13 2
8 15 14 3
7 6 5 4
2. 堆排序取数组里最大的k个数
手写小根堆
#面经##百度##Java##提前批#