字节后端面经(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. 做题


#面经##校招##C++工程师#
全部评论
这个木头我题目都读不回😆
1 回复 分享
发布于 2021-02-08 18:04
木头的题目是二分范围,不断验证吗?
点赞 回复 分享
发布于 2021-02-08 18:09
Time-Wait是出现在主动关闭连接的一方。如果是客户端主动关闭连接,Time-Wait其实对服务器并没啥影响啊;如果是服务器主动关闭连接,大量的Time-Wait说明是服务器还需要维持这些要关闭的连接,维持连接一般是要需要维护一个连接套接字对应的文件描述符,所以至少要占用文件描述符资源的。而服务器端始终是使用某个固定端口(如80)监听,应该不会耗尽端口资源啊
点赞 回复 分享
发布于 2021-02-08 22:08
寻找峰值那题有复杂度要求嘛,如果写个O(n)的暴力面试官会要求优化嘛..
点赞 回复 分享
发布于 2021-02-09 00:10
那个RW是快照吗
点赞 回复 分享
发布于 2021-02-09 13:12
第二题是完全二叉树还是满二叉树呀= =,完全二叉树怎么做呀= = =,怎么分成两部分哇
点赞 回复 分享
发布于 2021-02-09 16:07
lz怎么又面试了,我照着你上个帖子学习的😀
点赞 回复 分享
发布于 2021-02-09 18:22
二叉搜索树那题有题目链接地址吗?比如leetcode啥的
点赞 回复 分享
发布于 2021-02-13 21:51
Mvcc解决幻读是用next key锁?
点赞 回复 分享
发布于 2021-02-15 09:22
时间戳应该是实现了可重复读
点赞 回复 分享
发布于 2021-02-15 09:24
感觉楼主这个面经很友好的样子,问的知识点就那几个方面,算法题也还好
点赞 回复 分享
发布于 2021-02-15 12:01
楼主这是实习还是校园招聘
点赞 回复 分享
发布于 2021-02-22 08:26
请问是现场面试吗?
点赞 回复 分享
发布于 2021-02-22 22:02
楼主最后去哪工作了啊
点赞 回复 分享
发布于 2021-02-23 09:44

相关推荐

评论
12
157
分享
牛客网
牛客企业服务