三面: 1、实习介绍2、项目 1 拷打(10min)3、谈谈 Redis 的 Zset 的底层实现4、Zset 插入一个元素的时间复杂度是多少?5、完整的讲述一下 Zset 插入一个元素的过程,代码使用的过程6、Zset 基于跳表实现时去插入元素的具体操作过程7、Redis 有哪些使用多线程的场景?8、Redis 持久化过程的 save 和 bgsave 的区别9、为什么 bgsave 需要 fork 一个子进程去执行?10、谈谈 fork 的原理11、谈谈 Redis 的 LRU 底层实现12、如果让你实现一个简易版的 LRU 算法,你会如何操作?13、谈谈 ConcurrentHashMap 的底层实现14、如何设计一个微信群发红包,抢红包的系统?15、为什么需要用到消息队列?它承担怎样的工作?16、抢的过程中是拼手速,有人抢得到,有人抢不到,这个逻辑如何实现?17、如果抢的人拿到扣减余量的权利,但是后续执行的逻辑失败了,如何设计回滚?18、现在场景变为春晚给全国人民发红包,又该怎么设计?19、手撕做题:找出一个整型数组 nums 中第 K 大的数20、反问