400-123-4657

咨询热线

400-123-4657
地址:广东省广州市天河区88号
QQ:1234567890
传真:+86-123-4567
邮箱:admin@youweb.com

公司动态

当前位置: 首页 > 蓝狮动态 > 公司动态

字节跳动 基础架构 一二面面经

发布时间:2023-08-19 点击量:89

作者:康宇PL

链接:字节跳动 基础架构 一二面面经。好像是做网络协议栈的部门?

来源:牛客网

先说说学历之类的硬性条件,方便同样经历的人做参考:

学历:齐鲁工业大学,也不是很清楚是二本还是三本,总之普通的本科。和公司前辈们聊过这种学历投大公司能不能被捞挺看运气的。

ACM 铜牌一块(只是有的面试官会稍微提一嘴,没感到很有用的样子)

实习经历腾讯一段 (硬通货)

三个项目,基本上反映了我的技能栈:

乞丐版的 C++ web server

乞丐版的 TCP 协议原型

乞丐版的 os 内核

12 投,13 收到预约提醒,约了 16 号的

一面

自我介绍

然后是随便聊聊天缓解气氛:

“你怎么想着打 ACM 的?” “因为爱啊”

“我听说有些人高中就打 OI 了,你大学入学时什么水平?”“C语言能写hello world 吧”

“那你从什么时候开始学编程的?”“初四”

“讲讲你大学前是学编程的经历吧”太羞耻了,这里放我以前写的回忆录吧 回忆:我的第一篇技术日志 - 康宇PL - 博客园

“你在纸上编程时代写过最长的代码有多长?”“纸上写代码页写不了多长,大概也就贪吃蛇的程度吧”

然后是计算机基础:

计网:

“我看你写了个 TCP 原型,那我们来聊聊 TCP 吧”

TCP 四次握手

TIME_WAIT 2MSL

拥塞控制

TCP 有哪几种关闭的情况。 项目里实现过,但当时没答上来。分两种:1)普通的正常关闭 2)收到 RST 后非正常关闭,因为 TCP 本身作为可靠协议理应把数据都发完再关闭,非正常关闭的话则会把发送缓冲区的数据都给扬了直接强退。

TCP 里的 RTT 和 RTO 怎么测量的?当时没答出来,下来搜索后发现有专门的算法的。

有看过 Linux 内核怎么实现 TCP 的吗?啊这,无。

有看过 TCP 的 RFC 文档吗?啊这,无。

socket 编程:

更多名企笔试真题解析、面试经验交流、招聘信息内推,尽在牛客!

求职之前,先上牛客!快快下载拿offer!

牛客APP下载_C++Java前端经典笔试面试题库_牛客网

操作系统:

“我这个内核是怎么做的?”“它本身是别人做的教学用操作系统,我在之上加了点功能。就,懂得都懂。”

那你讲讲 Linux 里 page fault 是怎么实现的?(恰好我也实现过这方面的功能,所以基本接住了接下来的几个问题)

子问题 1:Linux 下中断的触发流程

子问题 2:Linux 怎么确定是谁出发的 page fault

子问题 3:page fault 判断线程没有访问内存的权限会发生啥 (查线程的 vmspace 发现这段内存没有被分配的话会触发 segment fault)

子问题 4:page fault 分配物理内存失败时会触发啥错误?(犹犹豫豫的说应该是内存不足之类的错误码吧)

算法题:

给你几个数组,每个数组抽一个数,把所有组合情况列一下。 赤裸裸的 DFS, 秒了

反问:

对应届生有什么建议:keep learn,多读代码,多读论文,保持编程的热情,保持新知识的输入

面完当晚收到下一轮预约,约了 18 号的

二面

自我介绍

聊实习经历, 10 min

实习用的一致性哈希,这个一致性怎么理解?

聊项目, 10 min

你这个 TCP 里重排序用的什么数据结构?

有没有了解过 Linux 内核里用的啥结构?

讲讲你这个里面时怎么实现的流量控制?

socket 编程

聊聊 epoll 的 ET LT

算法题:

写个单生产者单消费者的 ring buffer

反问:

您作为面试官比较关注候选人哪些方面的能力? 编程的热情、扎实的计算机基础知识,就网络、OS,然后有一定的算法基本功

面完当晚收了预约,约了 22 号的

三面

22 号面完再回来更新

与作者交流:字节跳动 基础架构 一二面面经。好像是做网络协议栈的部门?

更多笔经面经:找面经_求职交流学习社区_找工作神器_牛客网

平台注册入口