字节后端开发面经
发一下面经,攒攒好运,希望剩下的池子都泡出来
字节一面
一面还是项目问的多一点,后面都是常规八股。
1. 问项目,完成了海量轨迹点处理的优化,如何优化
2. 分库分表,根据我的项目,如何对读/写场景进行优化,具体的分片键
3. 根据我的分片键,提问如何实现跨天查询
4. 联合索引在B+树上的存储结构,其实是想问mysql中的索引在B+树上怎么存
5. Netty中的reactor模型
6. select/poll/epoll有什么区别
7. 基于项目询问为什么选用MQTT协议来进行消息传输,对比常见的协议优缺点,为什么选用这个协议
8. 常规八股,浏览器中输出url之后,点击回车的整个阶段
9. TCP的可靠性如何保证
10. 根据上边的回答,问到MAC地址与IP地址的作用(这一块深挖了一手,好久没看,差点被问烂,建议看看)
11. mysql中的事务,隔离级别
12. MVCC的实现思路
13. mysql中的三大日志
14. 问我项目中的慢查询如何优化
15. 还是细问项目,具体的数据量级,高峰的写入速度在多少
16. 手写一个sql
17. 关于二叉树的算法,不太难,我忘了具体是什么,用层序遍历就能做
字节二面
二面上来就是压力爆大,面试官直接说时间很紧,需要做两道算法
1. 简单聊了会项目
2. 先弄了三个sql语句,分别让我分析如何建立索引,具体的索引树是什么结构
3. 手写一个sql语句
4. 然后直接问redis中的常见基本数据结构的命令,很细节,没怎么写的还真得多看看
5. redis为什么用来做缓存,与mysql比较,redis的使用场景
6. redis如何保证高可用,聊了巨久,这一块记不住了,建议多看,问到具体有多少槽位,很细。
7. 此时已经过去40分钟了,开始手撕,第一个是小于n的最大数,面试官让加速写
8. 第二题是二叉树的最近公共祖先,必须要求空间复杂度是O(1),这一块说了递归的思路,面试官说不够优化,面试官提示了一手,太紧张,思路已经切换不过去了,最后面试官也没让写。
字节三面
三面面试官很严肃,但是沟通起来很友好,完全从项目出发去问八股。别人的三面都很爽,我差点都烂了
1. 聊项目,聊了我参与的模块
2. Netty与Java的NIO有什么区别
3. eventloopgroup与eventloop的区别
4. Netty中的异步处理机制如何实现非阻塞I/O
5. Channelhandler的作用
6. 零拷贝技术,Netty如何实现的零拷贝
7. Netty的零拷贝做了那些优化
8. Netty在使用中会有什么问题,潜在的挑战(这个问题当时大脑宕机了一下,还真没想过,还好最后说上来了)
9. Netty中怎么避免这种内存的泄露?(此处已经快爆了,脑子只剩Java垃圾回收)
10. Netty怎么去做内存泄露的检测和处理?(面试官很懂,我只记得大概的参数,面试官直接就说出来了)
11. 又回到项目,问我做的报警模块,介绍一下,整个模块的参与对象,具体的报警信息如何产生
12. 多条报警信息如何做到有效推送,想问我规则引擎,但是那个模块我只是看了,并没有具体参与设计
13. 直接让我现场设计一个规则引擎,实现消息聚合,规则互斥,具体有那些要素。(问的快烂了)
14. redis中的过期淘汰策略
15. redis的性能优化,比如设置内存大小的数据结构
16. redis内存不足如何解决,很细,面试官问到具体的参数设置
17. 引申到LRU算法,详细介绍
18. spring中的循环依赖如何解决
19. Java中的泛型
20. 数据库的范式
21. 面试官说前边写过sql,今天就不写了,字节真的重视基础
22. 手撕一个计算器,传入一串字符表达式,其实就是用栈,最后算出表达式结果
字节一面
一面还是项目问的多一点,后面都是常规八股。
1. 问项目,完成了海量轨迹点处理的优化,如何优化
2. 分库分表,根据我的项目,如何对读/写场景进行优化,具体的分片键
3. 根据我的分片键,提问如何实现跨天查询
4. 联合索引在B+树上的存储结构,其实是想问mysql中的索引在B+树上怎么存
5. Netty中的reactor模型
6. select/poll/epoll有什么区别
7. 基于项目询问为什么选用MQTT协议来进行消息传输,对比常见的协议优缺点,为什么选用这个协议
8. 常规八股,浏览器中输出url之后,点击回车的整个阶段
9. TCP的可靠性如何保证
10. 根据上边的回答,问到MAC地址与IP地址的作用(这一块深挖了一手,好久没看,差点被问烂,建议看看)
11. mysql中的事务,隔离级别
12. MVCC的实现思路
13. mysql中的三大日志
14. 问我项目中的慢查询如何优化
15. 还是细问项目,具体的数据量级,高峰的写入速度在多少
16. 手写一个sql
17. 关于二叉树的算法,不太难,我忘了具体是什么,用层序遍历就能做
字节二面
二面上来就是压力爆大,面试官直接说时间很紧,需要做两道算法
1. 简单聊了会项目
2. 先弄了三个sql语句,分别让我分析如何建立索引,具体的索引树是什么结构
3. 手写一个sql语句
4. 然后直接问redis中的常见基本数据结构的命令,很细节,没怎么写的还真得多看看
5. redis为什么用来做缓存,与mysql比较,redis的使用场景
6. redis如何保证高可用,聊了巨久,这一块记不住了,建议多看,问到具体有多少槽位,很细。
7. 此时已经过去40分钟了,开始手撕,第一个是小于n的最大数,面试官让加速写
8. 第二题是二叉树的最近公共祖先,必须要求空间复杂度是O(1),这一块说了递归的思路,面试官说不够优化,面试官提示了一手,太紧张,思路已经切换不过去了,最后面试官也没让写。
字节三面
三面面试官很严肃,但是沟通起来很友好,完全从项目出发去问八股。别人的三面都很爽,我差点都烂了
1. 聊项目,聊了我参与的模块
2. Netty与Java的NIO有什么区别
3. eventloopgroup与eventloop的区别
4. Netty中的异步处理机制如何实现非阻塞I/O
5. Channelhandler的作用
6. 零拷贝技术,Netty如何实现的零拷贝
7. Netty的零拷贝做了那些优化
8. Netty在使用中会有什么问题,潜在的挑战(这个问题当时大脑宕机了一下,还真没想过,还好最后说上来了)
9. Netty中怎么避免这种内存的泄露?(此处已经快爆了,脑子只剩Java垃圾回收)
10. Netty怎么去做内存泄露的检测和处理?(面试官很懂,我只记得大概的参数,面试官直接就说出来了)
11. 又回到项目,问我做的报警模块,介绍一下,整个模块的参与对象,具体的报警信息如何产生
12. 多条报警信息如何做到有效推送,想问我规则引擎,但是那个模块我只是看了,并没有具体参与设计
13. 直接让我现场设计一个规则引擎,实现消息聚合,规则互斥,具体有那些要素。(问的快烂了)
14. redis中的过期淘汰策略
15. redis的性能优化,比如设置内存大小的数据结构
16. redis内存不足如何解决,很细,面试官问到具体的参数设置
17. 引申到LRU算法,详细介绍
18. spring中的循环依赖如何解决
19. Java中的泛型
20. 数据库的范式
21. 面试官说前边写过sql,今天就不写了,字节真的重视基础
22. 手撕一个计算器,传入一串字符表达式,其实就是用栈,最后算出表达式结果
全部评论
我靠,还得是抖音啊,这强度也太猛了,换我直接挂。lz基本都能答出来吗
约hr面了吗
我靠,这强度太顶了,能问问是什么部门吗
请问netty内存泄露那里是用leakdetector吗
咱俩似乎做的是同样的项目....我猜是IoT平台
请问netty是项目里提到了所以问的那么细吗
小于n的最大数是啥意思呀?没排序数组找小于n的最大数吗?
相关推荐