字节秋招面经后端开发三面

三面:
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、反问
全部评论
结果出了吗
点赞 回复 分享
发布于 2025-11-10 14:18 湖南

相关推荐

一面:几乎都是项目方面讨论,一道手撕,反问面试官很友善,更像是探讨的方式进行问答,他输出似乎更多一些,最后也给了一些学习上意见- CMU-15445 项目:- 为什么是一个读快写慢的,了解过 RocksDB吗,LSM Tree 如何存储的- 缓存池管理器维护哪些数据(页表,空帧链表...)- 替换策略,ARC 基于何种假设而效果好(说是顺序扫描 LRU差),探讨了下 LRU 是更适合 28定律热点数据- 索引是怎么存储的,页面结构怎么样- 支持事务吗,undolog 如何实现,redolog 如何存储- redis 数据结构有哪些,zset 如何实现- MQ了解吗,kafka 怎么保证高可用- 设计题:数据库和缓存同步相关的,忘记了,大概是说先删除数据库数据,如何通知到 redis- 手撕:最小的 k 个数,手写堆二面:自我介绍,纯粹八股,没有问任何项目,一道手撕,时间原因不进行反问- 僵尸进程(父进程未回收已结束的子进程)、孤儿进程(父进程先退出)是什么- Kill -9 (SIGKILL 不能被捕获和忽略)若无法杀死另一个进程为什么(无权限)- 若进程持续高 CPU 占用,如何排查- MySQL 慢查询如何优化,给的建表语句和SQL,只有主键索引,还有 order by,联合索引;如果索引后还是慢,如上亿数据,分库分表;- 设计题:设计一个高并发文件上传服务- 1. 传输协议怎么选择?TCP 和 UDP 区别,UDP 优势是什么,TCP 如何建立连接,若使用 UDP ,如何在应用层支持可靠性- 2. 应用层方面协议怎么设计,交换什么信息- 3. 高并发连接,I/O 多路复用- 4. 大文件、传输失败,并发分片上传、断点续传- 手撕,给定一棵 N个节点的树,给定一个长为 N 的数组,判断该数组序列是否是这棵树的一个 BFS 遍历序列 (以数组第一个元素为起点进行 BFS,记录访问到的节点,BFS每过一层再去检查给定序列对应几个是否能访问到)答得不好,手撕有个很愚蠢错误一直没看出来,应该凉凉,任重道远
查看19道真题和解析
点赞 评论 收藏
分享
评论
3
23
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务