一面
- 自我介绍
- Redis使用场景
- Redis设计了解过吗
- 哈希表本质,常用吗
- 用的哪个MySQL引擎,为什么
- 四种隔离级别作用
- RocketMQ使用场景
- RocketMQ架构
- RocketMQ实现事务性消息
- RocketMQ事务型消息ACK丢失怎么办(不太明白什么鬼=_=)
- 多线程利弊
- 多线程的同步机制(从操作系统角度…)
- 算法:最小覆盖子串
二面
- 自我介绍
- 项目登录怎么做的
- session和token区别
- 分布式session解决方法
- 系统权限怎么做的
- 解决一个用户多个身份问题而且便于后续扩展
- 解决用户多角色且每次切换到某一种角色
- 一次Http请求的过程
- TCP三次握手,可不可以只做两次握手
- TCP传输可靠性原因
- HTTP中Headers中的字段
- get和post区别
- MySQL索引优化,如何优化
- 建索引有哪些注意点
- 重排链表
- JVM内存模型
- 垃圾回收算法,以及算法优缺点
- 哪个算法内存利用率最高
- 垃圾收集器
- CMS的优缺点
- 反问
三面
- 自我介绍
- MySQL三种log日志以及作用
- 有哪些索引
- 为什么要有索引
- 聚集索引和非聚集索引
- 事务四种隔离级别,分别介绍
- Innodb如何实现四种隔离级别
- 千万数据实现分页查询,以及与单纯只用limit分页的区别
- 两线程交替打印1–200
- 对TCP的理解
- 三次握手,能否两次握手
- 百万级数据进行搜索匹配
- Redis数据结构
- 讲讲zset底层设计
- Redis哈希表rehash过程