字节跳动基础架构四面面经(已意向书)

base杭州,整个流程包括周末下来10天左右,因为没有录屏做记录,所以很多问题给忘了,只记得部分。
大部分时间是在聊实习经历和项目,其他问题问的不多。

8.27 一面(70分钟)

1. 实习业务相关
2. lvs四层转发和nginx七层转发的区别?
3. 为什么要有lvs四层转发?
4. close_wait和time_wait是什么?为什么要time_wait?
5. 499和502出现的原因是什么?
6. session和cookie区别,解决了协议的什么问题?
7. 转账过程中,会出现什么事务的问题?
8. from_count -> to_count,to_count是热点用户,可能有多个请求要修改,怎么处理?
9. 什么场景需要建立索引,为什么要建立索引?
10. 排序数据要建索引吗?范围查询要建索引吗?txt文本数据要建索引吗?
11. 用户id怎么生成?(DB自增不可靠,因为可能有多个机器共用一个DB,自增会溢出。从代码层面解释如何生成)?
12. 怎么保证DB里面的数据不会被修改(权限问题不考虑,假设用户有权限)?
算法:任意三个数之和最接近0

8.31 二面(60分钟)

1. 实习经历(20分钟)
2. 三次握手具体过程(要说自己的理解,不能直接背),seq可以从0开始吗?
3. 数据库索引引擎为什么用B+树,和B树区别在哪,为什么不用红黑树/AVL树(从磁盘IO,查找稳定性,数据量去分析)?
4. B+树的双向有序链表有什么用?
5. 进程和线程机制上的区别,应用上的区别,线程共享/独有的,进程通信方式(一个一个往后推理,为什么要有这个)。
6. 线程和goroutine的区别,为什么协程比线程轻量级?
算法:lc124. 二叉树中的最大路径和

9.1 三面(60分钟)

1. golang,defer的底层执行过程,顺序是怎么样的,多个defer执行顺序
2. 实习项目,开发流程,遇到的问题(20分钟)
3. golang的slice扩容原理(顺带提了下vector的扩容)
4. 网络IO模型有几种,分别是什么(阻塞IO、非阻塞IO、IO多路复用、信号IO、异步IO,详细介绍)
5. socket编程的流程(服务端、客户端)
6. session和cookie
7. 进程和线程在应用上的区别,机制上的区别,什么场景选择哪种,为什么?

9.6 四面(45分钟)

1. 实习项目(20分钟)
2. C++和golang在并发场景下的应用区别
3. socket编程心得
4. 个人项目(问了个RPC框架)
5. 算法:
(1)合并两个有序数组(简单)
(2)找一个数,它两边的数都比它大(二分查找变种)

面试完隔天,也就是9.7号,HR联系发意向书,当天中午收到意向书。


总结:

面试的大部分时间在聊实习经历(我在腾讯云有过一段实习经历,做cdn),和基架那边的业务线有些关联,所以聊得来。然后大多是一些开放性的问题,不是那种八股直接背出来就行的,我这里列的问题可能不全,但每个问题面试官都会追问。二面后问面试官表现怎么样,他说底层技术知识还是不错的,不会停留于表面,因此面试问到不会的可以尝试和面试官讨论下,不要停留在背八股的层面。
最后,祝大家都能拿到心仪的offer,顺利结束秋招!





#字节跳动##面经##基础架构工程师#
全部评论
好难
1 回复 分享
发布于 2021-09-11 10:50
挺难的感觉,想问问春招还有岗位吗
1 回复 分享
发布于 2021-09-11 15:50
想问一下,面试会问计算机网络八股,那计算机网络黑书,tcpip卷一,图解tcpip,应该看哪些
点赞 回复 分享
发布于 2021-11-07 14:51
请问是基础架构什么部门?
点赞 回复 分享
发布于 2021-09-11 10:58
大厂实习经历吗
点赞 回复 分享
发布于 2021-09-11 21:46
请问找一个数,它两边的数都比它大不是归并吗?
点赞 回复 分享
发布于 2021-09-15 12:08
如何保证DB数据不被修改?
点赞 回复 分享
发布于 2021-09-26 15:24
加个好友嘛,我也拿了字节跳动的基础架构的意向书
点赞 回复 分享
发布于 2021-09-27 15:44
大佬怎么是四面
点赞 回复 分享
发布于 2021-09-28 20:46
楼主一面后多久收到二面通知的
点赞 回复 分享
发布于 2021-09-29 21:02
请问你是学golong的吗?我是Java,面经里好多东西我不会😅
点赞 回复 分享
发布于 2021-11-12 13:03

相关推荐

16 133 评论
分享
牛客网
牛客企业服务