牛客网Java后端开发一面、二面面经
一面
1. 算法题(二分查找,秒)
2. 进程与线程的区别
3.进程的调度算法
4. 虚拟内存
5.页面置换算法
6. 讲讲7层和5层网络模型
7. 在浏览器上输入域名,按Enter,说说这个过程
8. DNS解析的过程
9. 解释网络模型的MTU(最大传输单元),MSS(最大报文段)
10. 讲讲TCP的四次挥手
11. 为什么要有TIME_WAIT状态
12. 场景题:实现栈,获取栈中的最小值 时间复杂度 O(1)
13. Linux
14. 日志中出现Top10错误日志信息(使用linux命令)
15. 八种数据类型
16. 自动装箱与自动拆箱
17. ==与equals的区别
18. 为什么覆盖equals()要覆盖hashCode(),有什么好处?
19. 讲讲JDK中的栈是怎么实现的?
20. HashMap的底层数据结构
21. HashMap的hash()是怎么实现的(没看这个方法的源码,呜呜呜...)?
22. HashMap的定位过程 取余 和 & 的哪个更合适,为什么(再见,不会,不想面了!!!)?
23. 聚簇索引和非聚簇索引的区别?
24. 两者的叶子节点分别的存储了哪些信息?
25. 什么是回表?
26. 解释最左匹配原则?
27. MySQL中的group by,order by 如何进行优化
28. 做过MySQL的SQL优化
29. Redis你在哪些场景使用过?
30. Redis的String的底层数据结构?
31. 场景题:请求大量不存在的数据,该怎么做(缓存击穿)?
32. 讲讲缓存雪崩
二面
1. 自我介绍
2. 挖项目(订单模板挖了整整30min)
3. 讲讲RSA的实现过程?
4. ReentrantLock的原理
5. synchronized与ReentrantLock的区别
6. synchronized的锁升级机制
7. 场景题,一套试卷,有多种题型,如何设计(使用策略模式、模板模式)
#牛客网##牛客##面试题目#