TimeLine:11.28 一面12.3 二面12.5 HR面,下午直接发offer项目:知光平台 + 点评一面1. 自我介绍(介绍学历+项目)2. 介绍一下知光中 Feed 流中用到的三级缓存?(本地缓存+Redis 页面缓存+Redis 片段缓存)3. 你知光的项目中怎么保证的 Caffeine, Redis 和 MySQL 的一致性4. 某一个用户发帖,他的粉丝是怎么收到的?(项目中还没做,简单说了下思想)5. 推流模式对于大V是不是有问题?6. Redis 数据结构,重点讲一下 ZSet7. 设计一个 key 去重,value 排序的数据结构(其实就是 ZSet)8. 秒杀怎么设计的,lua 脚本怎么实现的9. 分布式缓存是怎么选择节点的?10. 一致性 hash 怎么做的?11. B+ 树底层原理,延伸到索引12. 讲一下 go 的 channel 和协程的用法和你的理解13. 算法:力扣 1838 最高频元素的频数(冷门,字节喜欢出这种)14. 反问二面整个二面大部分都在围绕操作系统底层拷打,算法题也不常规1. 自我介绍(学历+项目)2. 什么情况会出现缓存穿透,你项目中有处理过这个吗?3. 除了缓存空值还能怎么解决,如何在查询之前判断数据库里是否有某个值4. 讲讲你项目中的 hotkey 怎么设计的?5. 什么是 Outbox 模式?为什么用 Canal?具体讲讲6. 问 ProtoBuf 协议了解的多不多(就 RPC 的那个二进制传输协议)7. 如何优化读取一个大文件(没答出来)类似于 10亿个QQ号,如何快速查找。8. 协程和线程的区别,为什么协程切换更快9. 内核态切换10. 操作系统内存映射 mmap11. Go 语言,GMP 模型12. 算法题(面试官直接口述):一个数组求和,每个元素都在int范围内,保证最终的结果在int范围内,但是中间会溢出,怎么实现13. 反问