百度一面(现场)

  1. 自我介绍
  2. Java中的多态
  3. 为什么要同时重写hashcode和equals
  4. Hashmap的原理
  5. Hashmap如何变线程安全,每种方式的优缺点
  6. 垃圾回收机制
  7. Jvm的参数你知道的说一下
  8. 设计模式了解的说一下啊
  9. 手撕一个单例模式

算法题目

  1. 手撕算法:反转单链表
  2. 手撕算法:实现类似微博子结构的数据结构,输入一系列父子关系,输出一个类似微博评论的父子结构图
  3. 手写java多线程
  4. 手写java的soeket编程,服务端和客户端
  5. 手撕算法: 爬楼梯,写出状态转移方程
  6. 智力题:时针分针什么时候重合

百度二面(现场)

  1. 自我介绍
  2. 项目介绍
  3. 服务器如何负载均衡,有哪些算法,哪个比较好,一致性哈希原理,怎么避免DDOS攻击请求打到少数机器。
  4. TCP连接中的三次握手和四次挥手,四次挥手的最后一个ack的作用是什么,为什么要time wait,为什么是2msl。
  5. 数据库的备份和恢复怎么实现的,主从复制怎么做的,什么时候会出现数据不一致,如何解决。
  6. Linux查看cpu占用率高的进程
  7. 手撕算法:给定一个数字三角形,找到从顶部到底部的最小路径和。每一步可以移动到下面一行的相邻数字上。
  8. 然后继续在这个问题上扩展
  9. 求出最短那条的路径
  10. 递归求出所有的路径
  11. 设计模式讲一下熟悉的
  12. 会不会滥用设计模式
  13. 多线程条件变量为什么要在while体里
  14. 你遇到什么挫折,怎么应对和处理

百度三面(现场)

  1. 自我介绍
  2. 项目介绍
  3. Redis的特点
  4. Redis的持久化怎么做,aof和rdb,有什么区别,有什么优缺点。
  5. Redis使用哨兵部署会有什么问题,我说需要扩容的话还是得集群部署。
  6. 说一下JVM内存模型把,有哪些区,分别干什么的
  7. 说一下gc算法,分代回收说下
  8. MySQL的引擎讲一下,有什么区别,使用场景呢
  9. 分布式事务了解么
  10. 反爬虫的机制,有哪些方式