斗鱼一,二面(10.19)
一面(50min):
自我介绍
golang基础:
1. 介绍slice, 看代码输出结果
2. slice并发安全?不是 怎么避免?
3.channel底层?哪些情况触发panic?
4.defer底层?看代码写结果
5.select安全退出
6.panic recover,子协程触发panic,能捕获异常吗?
7.代码题:给出slice:存储ID,函数:根据获取用户名,写函数启动多个协程,最短时间获取到切片中id对应的Name
Mysql:
1.3000W表分页查询? 写sql 分页优化?
2. 事务隔离级别,解决哪些问题,介绍不可重复读,读提交和可重复读怎么实现?
3.介绍Mysql索引?
Redis:
1. 内存淘汰?
2. 单线程为什么这么快?
3.持久化技术?
4.排行榜怎么实现?zset底层实现?
5.排行榜查前N个数据,怎么查,时间复杂度?
反问:评价建议?
二面(关键时候掉链子,没把握住20min, 线上学的项目太简单确实没啥问的,一道简单代码脑子还抽了):
1.自我介绍
2.项目介绍
3.分布式ID,分库分表, JWT过程
4.Mysql索引
5.默认存储引擎,Innodb,MyISAM区别
6.Zset底层
7.两协程交替打印奇偶?之前几分钟就能写过,关键时刻脑子发抽,打印出了0112233。。。
反问:微服务学习建议,技术栈
面试官都很好很耐心,还听我哔哔赖赖讲发论文没有实习啥的。。可惜啊,最想去斗鱼和Bilibili的,bilibili简历挂了,斗鱼也无了。。