字节面经|三面 + HR 问题汇总分享
前言
正所谓知己知彼,方能百战百胜。如果你还在和字节 “缠缠绵绵” ,快来收下这篇超详细的「字节」三面的问题汇总分享吧!如果是你,你会怎么答?
耗时:1 小时
1、自我介绍
2、select、poll、epoll?
3、epoll 的两种触发模式?
4、TCP 三次握手过程,有什么状态,状态机如何变化?
5、TCP 握手的目的有哪些?
6、什么是 TIME_WAIT 状态,为什么需要 TIME_WAIT 状态?时间是多久,为什么?
7、TCP 和 UDP 的区别?
8、TCP 拥塞控制?慢启动的时候窗口在什么情况下会增长?为什么会呈指数增长?
9、Linux 中一个进程的虚拟内存分布长什么样?内核空间 + 用户空间(6 种不同的内存段)。
10、为什么要用虚拟内存?
11、虚拟地址映射为物理地址的过程?
12、进程和线程的区别?哪些资源是线程共享的,哪些是线程独占的?
13、使用线程有哪些好处?
14、使用线程有哪些坏处?
15、进程有哪些同步的机制?
16、协程的实现原理?无栈协程和有栈协程?独立栈和共享栈?
17、什么是稳定排序?
18、聊项目,难点,怎么解决?
19、手撕:数组循环右移。将一个长度为 n 的数组,循环右移 k 位,要求时间复杂度为 O(n) 空间复杂度为 O(1) 。
💡思路:三次 reverse,reverse 前 k 位,reverse 后 n - k 位,reverse 整个数组
小插曲: 一开始使用的是库中的 reverse 函数,写完后面试官要求自己实现这个 reverse。由于当时时间不多了又加上紧张,写完后答案一直有错,也没找到错在哪。面试结束之后,没有马上退出会议,想把这个错找出来。结果过了两分钟,面试官又回来了,说是下一个面试的还没到,就回来看看我。然后在他眼下把代码改对了,也算是有惊无险吧。
耗时:1 小时
1、自我介绍
2、进程有哪些状态?
3、进程的调度算法?
4、进程间的通信方式?
5、进程上下文切换做了哪些事?流程是怎么样的?
6、进程在哪些场景会进行上下文切换?
7、上下文切换为什么资源消耗会比较高?消耗在什么地方?
OS:虚拟内存、栈、全局变量等用户空间的资源,还包括了内核堆栈、寄存器等内核空间的资源。
8、上面哪个资源的切换效率更低?
9、为什么虚拟内存的切换效率更低?
OS:因为切换后 TLB 无法被命中
10、常见的排序算法?
11、堆排序原理?
12、归并排序原理?
13、LRU 缓存?为什么要链表?为什么要用哈希表?为什么要用双向链表?既然哈希表中已经存了 key,为什么链表中还要存 key 和 val 呢,只存 val 不就行吗?
14、linux 命令,如何查看主机 CPU 核数?如何查看内存还剩多少?
15、如何查看哪个进程正在监听 80 端口?
16、netstat - n 是什么意思?- a 是什么意思?- p 是什么意思?
17、TCP 为什么要三次握手和四次挥手?
18、为什么 TCP 第二次握手的 SYN 和 ACK 要合并成一次?
19、SYN Flood 的原理?有哪些防范的方法?
OS:上面三个问题问了十多分钟。看起来简单,但面试官会顺着你的思路一直往下问,问得特别深,差点给问崩了。
下面问了几个 C++ 的问题。字节不是用 go 吗?
20、智能指针有哪些?主要解决什么问题?
21、指针和引用的区别?为什么要引入引用?好处有哪些?
22、重写和重载的区别?
23、手撕:二叉树的最近公共祖先(最后只剩十分钟,要求十分钟之内写出来)。
耗时:1 小时
1、自我介绍
2、聊项目
3、问了一会儿八股,具体问题忘了。
4、如果设计一个视频网站,所有用户都可以上传自己的视频,也可以观看别人的视频。
- 你作为后端要怎么设计?
- 用户目录怎么设计?
OS:这个问题聊了 20 分钟。因为没做过相关的东西,感觉答得一般。刚开始答了很多个方面,感觉面试官都不太满意。但是面试官会一直引导你回答。最后反问的时候面试官也说这个问题没有固定的答案,这个问题涉及的方面非常多,从接入到怎么去存储以及怎么去实现一些具体的逻辑功能,这些方面很难一下子就能想出一个很全面方案。问这个问题主要还是想考察思考的过程。
手撕:回文链表
耗时:12 分钟
1、自我介绍
2、家在哪?
3、为什么选择这个专业?
4、有没有校外实习的经历?
5、研究生期间的成绩?
6、参加过什么计算机相关的比赛?在团队中担任什么角色?
7、为什么选择我们这个部门?
8、对我们的部门有没有什么了解?
9、大概说了一下,HR 介绍了一下这个部门。
10、想去什么城市?
11、有没有考公的想法?
12、职业规划是怎么样的?
13、有没有在面其他的公司?BAT 都有投吗?
14、能不能提前来实习?
15、反问:后续流程是什么?
OS :内部讨论后,过几天会给答复。如果没过就等其他的部门来捞,过了的话会先发意向书,十月份左右谈薪资。有可能还有加面的情况(忘记问这个加面是好还是不好了,网上有的说会刷人,有的说是看看你能不能拿更高的等级)。
祝愿每个在看这篇文章的你都能成功上岸,offer 不断!
BY /
本文作者:davidditao
编辑&版式:Irene
声明:本文归“力扣”版权所有,如需转载请联系。
点个在看,少个 bug
微信扫码关注该文公众号作者