1面(60min)
- 聊项目 15min
- golang多态 底层源码哪里用到了
- 介绍项目里的知识点
- 设计一个hashmap
- redis分布式锁如何实现看门狗
- 如何实现20个任务,最大协程数5,快速执行,且能够优雅关闭
- mysql死锁如何发生
- 算法:678. 有效的括号字符串
- 反问:业务,对自己的建议
2面(70min)
- 聊项目 30min
- 公司限流是集群限流吗
- 实习的太简单了 面试官就一直听我讲我的IM项目如何选型和设计的 以及目前的瓶颈
- idx: (b,a) select xx from xx where a > 10 and b < 10 会走什么索引
- context原理 聊源码实现
- 分布式锁
- 看一段golang代码有什么问题
func dfs(root *TreeNode, list []int) {
if root == nil {
return
}
dfs(root.Left, list)
list = append(list, root.Val)
dfs(root.Right, list)
}
- slice的底层字段有哪些 何时/如何扩容
- 工厂模式
- 算法:三个协程打印轮流123十次
- 反问:因为实习是tob,对于现在竞争者难以有优势,如何进行学习
3面(30min)
- 在公司里面是如何学习的
- 项目拷打5min
- RocketMQ你不是实现了延迟消息吗?延迟消息底层如何实现的
- RocketMQ可靠性如何保证的呢?
- IM项目里面Epoll的实现
- GMP模型
- 算法:链表环入口
- 反问:如何提升,应届生如何成长