首页 > 字节后端面经(2021.2.3)
头像
Henry965
编辑于 2021-02-09 21:29
+ 关注

字节后端面经(2021.2.3)

2021.2.9 更新
已oc

—————————— 手动分割线 ——————————————————
一面:
1. Tcp的三次握手四次挥手?可不可以两次握手?(不可以)可不可以三次挥手(可以,server不发包的时候给一条FIN=1的ACK)?三次握手期间除了建立连接,还有互相交换什么信息?(窗口大小)
2. TCP和UDP区别(简单答了一下就过了)
3. 进程和线程有什么区别?为什么会出现僵尸进程?僵尸进程和孤儿进程区别是什么?孤儿进程如何善终?进程的状态(逻辑状态和ps指令看到的状态分别回答)
4. 做个题
思路:二分,如果中点不满足条件,哪边比中点大往哪边走

二面:
1. 项目中落到db的操作是如何调优的?(拒绝后端的for循环,尽量使用联表,有层级的话使用SQL的递归,或者是嵌套子查询)
2. Redis是用在什么场景?(对一致性要求不高的统计类数据,或者是对一致性要求较高但是对后端压力较大的的复杂查询)
3. 怎样处理一致性的?(建立接口到数据库表的依赖,加入手动删除缓存的机制)
4. 上述方案还有什么问题?(容易错杀无辜,干掉无关的缓存,但至少一致性是可以保证的,在写少读多的场景是适用的)
5. 做题
给定个满二叉树的后序遍历vector,恢复二叉树并给出中序遍历结果验证
用例:{1,4,3,8,10,9,7}
如果把满二叉树换成完全二叉搜索树,怎么处理?(在中间每一次递归之前添加二分查找来划分左右树)

三面:
1. 虚拟内存是什么用途,如何实现?
2. Tcp四次挥手,为什么要有Time-Wait的两个往返时间?如果有大量的Time-Wait会占用哪些资源?最应该的care的资源是什么?(端口号)
3. 数据库的ACID分别是什么?隔离级别有哪些?不同的隔离级别分别解决了哪些并发问题?幻读和不可重复读有什么区别,为什么会有这种区别?如何在可重复读级别解决幻读?mvcc是怎么解决幻读问题(RW时间戳)?基于RW时间戳解决幻读的具体策略大概是什么?
4. 做题


更多模拟面试

全部评论

(14) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

近期精华帖

热门推荐