百度一面(现场)
- 自我介绍
- Java中的多态
- 为什么要同时重写hashcode和equals
- Hashmap的原理
- Hashmap如何变线程安全,每种方式的优缺点
- 垃圾回收机制
- Jvm的参数你知道的说一下
- 设计模式了解的说一下啊
- 手撕一个单例模式
算法题目
- 手撕算法:反转单链表
- 手撕算法:实现类似微博子结构的数据结构,输入一系列父子关系,输出一个类似微博评论的父子结构图
- 手写java多线程
- 手写java的soeket编程,服务端和客户端
- 手撕算法: 爬楼梯,写出状态转移方程
- 智力题:时针分针什么时候重合
百度二面(现场)
- 自我介绍
- 项目介绍
- 服务器如何负载均衡,有哪些算法,哪个比较好,一致性哈希原理,怎么避免DDOS攻击请求打到少数机器。
- TCP连接中的三次握手和四次挥手,四次挥手的最后一个ack的作用是什么,为什么要time wait,为什么是2msl。
- 数据库的备份和恢复怎么实现的,主从复制怎么做的,什么时候会出现数据不一致,如何解决。
- Linux查看cpu占用率高的进程
- 手撕算法:给定一个数字三角形,找到从顶部到底部的最小路径和。每一步可以移动到下面一行的相邻数字上。
- 然后继续在这个问题上扩展
- 求出最短那条的路径
- 递归求出所有的路径
- 设计模式讲一下熟悉的
- 会不会滥用设计模式
- 多线程条件变量为什么要在while体里
- 你遇到什么挫折,怎么应对和处理
百度三面(现场)
- 自我介绍
- 项目介绍
- Redis的特点
- Redis的持久化怎么做,aof和rdb,有什么区别,有什么优缺点。
- Redis使用哨兵部署会有什么问题,我说需要扩容的话还是得集群部署。
- 说一下JVM内存模型把,有哪些区,分别干什么的
- 说一下gc算法,分代回收说下
- MySQL的引擎讲一下,有什么区别,使用场景呢
- 分布式事务了解么
- 反爬虫的机制,有哪些方式