字节跳动后端开发面经(已意向)

先讲一下时间线吧,7.7号投递 -> 7.17一面 -> 7.21二面 -> 7.28三面 -> 8.2HR面 -> 8.13OC -> 8.15意向

因为楼主没有录屏,所以可能有些遗漏。

一面 7.17(60min)

一面的面试官给我留下了非常好的印象,面试开始时告诉我他有两个显示器,所以有时目光不会直视我,并且他会做一些必要的记录,如果我回答完他没有立即回应的话,希望我能理解。

1.自我介绍(介绍实习项目)
2.根据我的实习项目对我进行提问,问的较为仔细,需要对自己的项目有较深的理解
3.OSI7层网络了解吗?说说具体有哪些层,并且每一层起到什么作用?互相之间如何协作?
4.应用层,传输层,网络层,数据链路层都有哪些协议?它们都起到了什么作用?
5.MAC地址在传输过程中会改变吗?
6.CSMA/CD协议作用于哪一层?如何工作的?如何降低碰撞几率的?
7.TCP三次握手,四次挥手聊一聊?
8.进程,线程,协程了解吗?说说他们的特性和区别。
9.select,poll,epoll的区别?
10.进程间的通信方式有哪些?共享存储的优点和缺点分别是什么?消息队列与管道相比有什么优势?
11.JDK8默认使用的垃圾收集器有哪些?新生代为什么普遍采用复制算法?老年代为什么普遍采用标记清除算法?
12.虽迟但到的算法题环节:
(1)接雨水
(2)链表每k个进行反转


二面 7.21(70min)

1.自我介绍(介绍实习项目)
2.也是针对项目进行提问,相较于一面更为深入,例如会问为什么选择使用这项技术?有没有和其他技术进行过对比?可扩展性如何?
3.TCP和UDP区别是什么?TCP依据什么来保证可靠性?TCP是面向什么进行传输?
4.HTTPS和HTTP的区别?HTTPS协议链接建立流程是什么?HTTPS中的S代表什么?介于拿两层之间起作用?对于应用层透明吗?
5.数据链路层为网络层提供了哪些服务?ARP协议是哪一层的协议?
6.ICMP报文能起到哪些作用?分别是如何起作用的?
7.虚拟内存了解吗?有什么作用?
8.讲讲请求分段,请求分页,请求段页的实现方式及使用场景
9.请求分页的具体工作流程能不能讲讲呢?页面置换算法有哪些?(其中我说了LRU,结果后面算法题出的就是LRU😂)
11.你平时喜欢使用什么关系型数据库呢?(回答的是mysql)
12.mysql一般使用哪些引擎呢?
13.Innodb和myisam的区别是什么呢?哪种情况下该使用innodb,哪种情况下使用myisam呢?为什么?
14.当查询数据库时使用limit 10000,10有什么弊端?有什么好的解决方案吗?
15.什么时候索引会失效?能够使用>和>=的时候你会使用哪一个?为什么?
16.当查询条件有xx == null 时索引一定会失效吗?
17.执行计划了解吗?
18.智力题
有36匹马,6赛道,每条赛道之间的名次不可知,只能获知单条赛道马的名次,问最少比多少次能知道前三名?
19.算法题
(1)LRU(后面又让改成带过期时间的LRU,我使用的惰性删除)
(2)查找旋转数组(时间复杂度要求O(logn))

三面 7.28(70min)

前两面面试官询问Java方面的知识点比较少,三面面试官问的比较多
1.自我介绍(介绍实习项目
2.针对实习项目和简历中的项目展开地毯式考察(花费大概25min)
3.HashMap如何是如何实现的呢?JDK8HashMap的散列算法能不能从源码层面来介绍一下?为什么扩容是两倍呢?自己手写实现过HashMap吗?
4.我看之前答垃圾收集器答的蛮好的,你能介绍一下CMS垃圾收集器的优缺点吗?为什么CMS会将serial old作为后备垃圾回收器?
5.对象只会被分配到堆吗?(答:不是,还有可能会栈上分配)
6.什么时候会进行栈上分配?
7.ThreadLocal的作用?如何实现?会不会出现内存泄漏?如何避免内存泄漏?
8.Spring AOP 的作用?如何实现的?
9.Spring 自动注入如何实现?(这个涉及的方面就比较多,讲了好久)
10.了解SSD的原理吗?(答:不知道,只知道磁盘,所以就讲了下磁盘存储原理和寻道算法)
11.操作系统是如何判定内存访问越界的?
12.访问越界后操作系用会如何进行处理?
13.用户态转换到核心态的过程?
14.进程切换过程?线程切换过程?
15.当我们ping的时候发送的是什么包?
16.TCP协议头部长度是使用哪个字段?如何计算的?
17.TCP如何实现流量控制和拥塞控制?
18.TCP的滑动窗口移动流程你能具体讲讲吗?
19.当我们输入一个SQL查询语句时,mysql数据库引擎是如何执行并得到最终结果的?(答:先查询缓存->解析器->优化器)
20.智力题
(1) 一个桶能存储5升水,一个桶能存储3升水,如何操作能量出4升水?
(2)两根质地不均匀的木头,从一端烧到另一端需要60分钟,如何操作能准确量出15分钟?
21.算法题
你之前说了解析器,那我现场出一道算法题吧,我会输入一个SQL语句,你需要将where后面的查询条件解析为一棵规则树
例如:where (a == b and c == d) or (e == f or (g == h))
我需要生成一棵树,结构为
or
- and
    - a == b
    - c == d
- or
    - e == f
    - g == h
楼主运气比较好,肌肉记忆写出来了,面试官几个测试用例也通过了,算是有惊无险。

HR面 8.2 (30min)

询问实习期间的挑战和解决问题的思路,就拉拉家常,如实回答就好~。
HR面完后,HR加了我微信,长达11天的审批流程后终于OC。

总结

总的来说,字节跳动后端开发考察具体语言知识是比较少的,计算机网络,操作系统原理考察的比较多。智力题也会进行考察可以事先准备下。算法题我的体验是每面都有一道Hard,不过是比较常见的(除了最后一面)。
面试体验也十分的好,可能是我运气好,没有遇到故意刁难的面试官,特别是最后一面的面试官,一直在呵呵的笑(很友善),搞得我也一直在笑,哈哈。
今年秋招十分的不容易,希望这篇面经能帮助到大家~

对了,楼主base成都

#面经##字节跳动##提前批##秋招##校招#
全部评论
请问楼主是抖音社交吗(我跟你同一个部门)
点赞 回复 分享
发布于 2022-08-17 22:35 四川
想请问下再发意向书之前的oc是什么状态啊,hr面完说需要等他们半个月一次的review
点赞 回复 分享
发布于 2022-08-17 09:15 四川
请问lz,sql语法树那道题leetcode上有类似的题目吗,或者您知道哪里有类似的题目?
1 回复 分享
发布于 2022-08-16 18:12
老哥 为什么CMS会将serial old作为后备垃圾回收器?该怎么回答呀
2 回复 分享
发布于 2022-08-17 12:04 天津
哥能解答一下 sql >= >对索引的区别吗?
点赞 回复 分享
发布于 2022-08-16 20:30
楼主能讲一下过期时间的 LRU,如何实现么? 要是链表+哈希表的话,每次找过期键的话,恐怕复杂度会是 O(n) 吧
点赞 回复 分享
发布于 2022-08-18 23:23 山东
老铁 请问你有大厂实习吗?
点赞 回复 分享
发布于 2022-08-17 20:32 广东
大佬三面后多久约的hr面啊
2 回复 分享
发布于 2022-08-17 08:56 北京
楼主是硕士吗
1 回复 分享
发布于 2022-08-16 17:11
请问楼主是科班的嘛
点赞 回复 分享
发布于 2022-08-17 10:41 四川
您好,TCP协议头部长度是使用哪个字段?如何计算的?这个问题是要回答什么呀,首部长度控制,计算是指头部长度为20个字节吗
点赞 回复 分享
发布于 2022-08-17 21:43 湖南
认真看了下大佬的面经,这不给个SP说不过去了吧
点赞 回复 分享
发布于 2022-08-19 17:26 天津
你好,我想问一下这两个问题怎么回答的呢 11.操作系统是如何判定内存访问越界的? 12.访问越界后操作系用会如何进行处理?
点赞 回复 分享
发布于 2022-08-21 22:46 山东
大佬
点赞 回复 分享
发布于 2022-08-16 17:58
老哥问一下 2面 介于拿两层之间起作用?对于应用层透明吗?这两个问题该怎么回答呀 还有ARP到底是网络层还是数据链路层的协议呀
点赞 回复 分享
发布于 2022-08-16 22:43 天津
请问下楼主为啥cms要采用serial old做后备方案呀?搜了下没搜到😂
点赞 回复 分享
发布于 2022-08-17 18:42 陕西
大佬,你网络怎么学的
点赞 回复 分享
发布于 2022-08-17 22:23 山东
楼主三面后多久通知hr面呀
点赞 回复 分享
发布于 2022-08-19 13:13 湖南
厉害啊
点赞 回复 分享
发布于 2022-08-21 16:03 北京
楼主厉害,我也准备了大半年,前端上岸了,base北京系统架构,各位大佬加油
1 回复 分享
发布于 2022-08-17 20:16 四川

相关推荐

10-27 17:26
东北大学 Java
点赞 评论 收藏
分享
vegetable_more_exercise:1-1.5万,没错啊,最少是1人民币,在区间内
点赞 评论 收藏
分享
109 571 评论
分享
牛客网
牛客企业服务