字节跳动-后端开发岗最新春招面经分享,四面拿下,有惊无险

校招过程中,除了面试前对于基础知识的积累掌握,在面试的长线战斗中,更重要的是去收集面经,从面经中获取到面试的岗位与公司的基本信息,整理与你背景相同的同学在面试中被考察的点,找寻它们之间的规律,当掌握了这个规律后,面试会变得轻松很多。

如今春招也已经进行到一半了,很多同学还不知道该如何准备,不如先看下这篇来自X同学的字节跳动-基础架构-后端开发岗的面经分享,找准自己的重点、难点,逐个击破。

字节一面,时长:1h10min

1.自我介绍

2.OSI网络7层模型

​​​​​​OSI七层模型详解_小鹏_加油的博客-CSDN博客_osi七层模型

3.tcp和udp的区别

4.一个MTU最大是1500字节,那么最多包含多少的数据
ip头部字节大小为20~60,最多数据即1500-20=1480

5.tcp三次握手是否能够减少为两次

6.golang中常用的并发模型
这个地方复盘的时候发现面试官应该是想问channel和一些同步原语,但是答到csp和gmp上面去了,又因为gmp能讲的比较多,就没有主动说下去了。所以总体答的很浅,两三句就说完了。。。

7.进程、线程、协程、goroutine区别
(46条消息) 进程、线程、协程、goroutine区别_SlagSea-CSDN博客_goroutine是线程还是协程

8.linux中线程的状态
(46条消息) Linux进程状态解析 之 R、S、D、T、Z、X (主要有三个状态)_sdkdlwk的博客-CSDN博客_进程状态d

9.golang中有几种锁
mutex、rwmutex
这个地方也是只回答了两种锁,也可能本来问的比较干。。。这个地方应该主动提出自己了解这两种锁的一些底层实现,需要我讲一下嘛?

10.go中变量分配在什么地方

11.go的gc

12.mysql的ACID
(46条消息) 什么是事务,事务的四个特性是什么_kayla的博客-CSDN博客_事务的四个特性

13.分布式的cap理论

14.提问:cap中的c和acid中的c有区别吗
回答:个人认为有一定的区别。cap中的c,主要指在分布式事务中,保证数据的强一致性。acid的c,主要指mysql的状态一致性,数据库的约束。
面试官解答:acid的c其实就是指所有数据的一致性。

15.mysql的存储引擎了解的有哪些
主要回答到innodb和myisam就可

16.innodb和MyISAM的区别
(46条消息) MyISAM与InnoDB 的区别(9个不同点)_张花生的博客-CSDN博客_innodb和myisam的区别

17.innodb中主键索引和非主键索引都是聚簇索引吗
回答:主键索引是聚簇索引,非主键索引不是聚簇索引,因为非主键索引的叶子节点只会存主键和index,所以会有索引下推,索引覆盖,回表。

18.事务回滚的实现
(46条消息) mysql 事务 回滚 原理_mysql 事务的实现原理_weixin_39660931的博客-CSDN博客

19.mysql主从架构
回答了主从复制机制和主从架构的作用

20.提问mysql双主架构在不分表的情况下保证数据一致性
回答:pc两阶段提交

21.如何避免mysql双主架构出现会循环的数据更新
回答:使用一个标志位,来标记请求的来源,如果是来自用户则执行后广播至其他主节点,如果来自其他主节点则执行。
面试官对于回答没有做任何评价

eg.用户在节点A插入,节点A插入后通知节点B插入,节点B插入后又反过来通知节点A来插入...

22.项目最大的难点

23.算法:给定一个数n,如23121;给定一组数字A如{2,4,9},求由A中元素组成的、小于n的最大数。如小于23121的最大数为22999。(时间关系没有让写测试用例)
思路一:暴力回溯
思路二:贪心 n和答案res的长度一定相同,因为要求小于n的最大数,那么从最高位开始比较,从A中选择<=n的最大数(贪心),例如23121(最高位2)<···>{2,4,9}(2)。我们从A中选取的数字和当前比较的数字相同,那么递归迭代至次高位重复上述过程,在这个过程中会出现两种边界情况。如果,我们从A中选取的数字小于当前比较的数字,那么之后的数字直接选取A中最大的数字就能得到答案。如果我们找不出比相比较数字小的,那么说明我们需要在上一次的选择时选择小一点的数字,之后选择A中最大数字补充即可。

面试中由于时间原因选择回溯,最后复盘时,发现思路二贪心实现比较困难,但是可以通过该思路和回溯结合实现剪枝优化

反问:部门主要从事什么样的工作,主要业务。

面试结束,当即告知一面通过,能否直接二面。回复有急事,能不能过1-2小时,面试官说可以,结果被鸽了。。。第二天中午收到面试通过邮件,选择二面时间。

总结:一面主要以基础为主,也会问到相关编程语言底层实现,进阶知识。算法不难。

字节二面,时长:50min

1.自我介绍

2.讲一下项目
curd项目,很简单

3.自己在项目实现了哪些
全部,前端后端

4.项目体量有多大
不是很懂怎么衡量项目体量,于是说了实体类有多少个,有多少张表

5.项目数据库有哪些表

6.说到了外键,提问:外键的约束的作用
没有准备到,乱答用于连接两张表。

7.你觉得项目的难点在哪里
答curd项目,很简单。面试官没有多问。

8.golang的gmp模型

9.gmp中m和p的数量关系

10.go的gc

11.了解docker镜像
答:image相关

12.了解docker网络吗
答:不了解,但是了解docker资源隔离,于是回答资源隔离
(46条消息) 聊一聊Docker所使用到的Linux底层技术(Namespace,Cgroup与存储驱动和容器引擎)_小凯的博客-CSDN博客

13.了解k8s吗
答:听说过,不了解

14.tcp状态机的切换
即三次握手和四次分手过程中,客户端和服务端的过程状态。

重点在于四次分手时,time_waitclose_wait

15.tcp滑动窗口,拥塞控制
(46条消息) TCP滑动窗口和拥塞控制机制详解_genzld的博客-CSDN博客_tcp窗口滑动以及拥塞控制

16.Linux内核了解吗

17.内存分页、分段
(46条消息) 分段和分页机制_续航fff的博客-CSDN博客_分段和分页

18.os内存伙伴算法
没答上,不知道。。。面试官说太过底层了吗?
(46条消息) 伙伴算法_csdn_kou的博客-CSDN博客_伙伴算法

算法:给定一个二叉树,请计算节点值之和最大的路径的节点值之和是多少。这个路径的开始节点和结束节点可以是二叉树中的任意节点
思路:使用递归,从结束节点开始向上返回节点值,其余节点返回零值。左右子节点有非零返回值,则说明子节点处于路径中,返回子节点值+自己的节点值。到开始节点时,将值保存在全局变量res中。

总结:和一面差不多。

字节三面,时长:40min

1.自我介绍

2.介绍项目

3.用户态和内核态的区别

4.为什么要区分用户态和内核态
答:资源隔离和通过系统调用接口提供硬件资源

5.golang中使用goroutine使用系统调用会阻塞线程吗

6.如果golang中所有goroutine调用一个系统,会导致没有线程可用吗
答:gmp中m不会耗尽,但是os的线程会耗尽

7.追问gmp中m是什么
M代表OS内核线程,是操作系统层面调度和执行的实体。M仅负责执行,M不停地被唤醒或创建,然后执行。M启动时进入的是运行时的管理代码,由这段代码获取G和Р资源,然后执行调度。另外,Go语言运行时会单独创建一个监控线程,负责对程序的内存、调度等信息进行监控和控制。--《Go语言核心编程》

8.mysql事务隔离级别

9.不可重复读是什么

10.故障测试了解吗
不知道

11.ut了解吗
不知道

12.了解docker的XXX(忘了)
答:只了解资源隔离,就没问了

13.go闭包的一道题

func calc(base int) (func(int) int, func(int) int) {
    add := func(i int) int { base += i
    return base }
    sub := func(i int) int { base -= i
    return base }
    return add, sub
}
func main() {
    f1,f2 := calc(10)
    fmt.println(f1(1),f2(2))
    fmt.println(f1(3),f2(4))
    fmt.println(f1(5),f2(6))
    fmt.println(f1(7),f2(8))
}

请说明上述程序的输出是什么?

11 9
12 8
13 7
14 6

14.两个list求相同元素

题目描述:
1、有两个有限队列,求两个队列的相同元素
2、对自己的代码进行测试用例编写
3、通过自己的用例,优化自己的代码
4、说出自己代码的时间复杂度
5、如果是两个无限队列,怎么办

思路:哈希表

反问:部门主要业务?
答:大方向存储相关

总结:三面leader面,问了一些场景题,比较考验理解,八股文很少。

最后HR面,聊了下岗位福利待遇,最后顺利拿下啦。

你还在忙于春招,苦于论文吗?解决就业难、进大厂难的CSDN超级实习生计划2022年春季内推正在进行中!大厂、名企实习直通车,年薪最高可达30万,名额有限,先到先得!点击下方链接,填表预约测评,获取内推名单!

想知道你的Java/Python/前端实操能力如何?
点击链接开始测评>>>CSDN·超级实习生测评名单收集超级实习生计划,名企实习保offer,进名企更简单!https://jinshuju.net/f/sUsAAV

字节跳动-后端开发岗最新春招面经分享,四面拿下,有惊无险_第1张图片

你可能感兴趣的:(超级实习生,面试,职场和发展,后端,春招,实习)