字节跳动 C++深圳后端 四面面经 意向书已get

本硕985科班,面的是base深圳的后端开发,为了做好准备,一直拖到提前批截止前一周才递简历,30号四面完后等了一个星期,终于拿到了意向书,没有hr面。贡献一波面经,还在等待的兄弟们不要着急,一般面试完没立刻收到感谢信就已经成功了一半,拿offer的希望还是挺大的!

7-15 一面 (60min
TCP如何实现可靠传输
TCP拥塞控制过程
UDP如何设计可靠传输
系统调用的底层过程
Linux读写文件的整个底层过程
进程切换为什么开销大(必须说到TLB)
进程切换需要保存什么信息,线程切换需要保存什么信息
操作系统内存管理
线程同步方法
讲讲互斥锁和自旋锁,linux自旋锁底层实现
有没有研究过无锁同步
mysql有没有了解
有哪些用于排序的数据结构
讲讲lsmtree(项目相关)
手撕快排
快排应用场景、如何保证快排效率

隔了5分钟

7-15 二面(60min)
系统调用的底层过程
TCP四次挥手
进程与线程区别
讲讲协程
如何实现哈希表,redis有没有了解?redis如何实现哈希表在线扩容
cpp程序生成过程,本文件外的函数在什么阶段才引用(记不清楚,回答extern方面的)
epoll使用流程
epoll LT与ET区别
哪些知名项目用到epoll
gdb调试core、git使用
C 11新特性
项目最难的部分、最有成就感的部分(疯狂被怼)
手撕最大连续子序列和(剑指offer原题)

面试官在结束前还朝我挥挥手,估计凉了。。。。
前两面表现很差,觉得肯定挂了,但出乎意料过了几天hr打来约三面......

7-26 三面(75min)
项目为主,网络编程和键值存储相关的聊了30min
C 多态
C 虚函数实现机制
类的内存模型
代码题,关于C 成员函数调用(静态绑定,使用空的类指针调用成员函数是否会报错
找出1000W整型数据的中位数(说了快排,面试官说有比nlogn快的,但没想出来,希望大佬们讲解一下)
手撕复杂链表的复制(给剑指offer跪了)
有什么想问的?

一小时后接到hr电话约四面,还是技术面(估计是前两面表现的比较差加面吧,没细问hr)......

7-30 四面(50min)
面试官说前三面已经聊过一些基础知识了,所有以网络的项目为主
Reactor模式在编程中遇到的问题(面试官说事件驱动机制的开发麻烦,redis这种直接返回还好,如果涉及到其他服务的调用就麻烦)
系统收到网络数据交付给应用程序的整个过程(从网卡说起,面试官说我对底层了解的挺深)
UDP发送100个字节,对方的应用程序只recv了90个字节,剩下的10个字节怎么处理(没太明白正常情况下为什么会剩10个字节,跟面试官讨论了半天,他说这个问题太刁钻就过了)
TCP的传输速率受什么影响(先扯了硬件,再扯了Nagle算法,面试官说知道这个不错,最后扯数据分片,面试官说这个没关系就过了)
TCP发送消息如果对方不接收,我们这边会有什么情况发生(扯了应用层相关的,其实面试官只是为了引导我回答TCP的传输速率与接收窗口有关)
TCP的拥塞控制
TCP的滑动窗口
TCP的超时时间计算
手撕跳台阶(剑指offer原题......)
手撕N个“(”和N个“)”的排列组合(就是有重复数据的全排列,不需要括号匹配)

字节跳动的面试体验比oppo什么的好多了(oppo到现在还没给我发感谢信.....),视频面试很方便,面试官都挺nice,答不上来也不会表现得不耐烦。
自认为运气很好,几道算法题都很简单,因为项目原因没什么时间刷题,这方面比不上其他大佬。第一次面大厂准备不充分,一二面被问懵,之后回去狂补网络和操作系统的底层知识,三四面表现好多了,四面面试官居然还说我基础扎实,弄得我有点尴尬......
个人的教训就是细节决定成败,只会调接口、不熟悉的技术千万不要随意往简历上写,写了就要尽可能深挖原理,做好觉悟不怕被面试官“夺命连环怼”~
#字节跳动##面经##C++工程师##内推#
全部评论
中位数用的是bfprt。最近刚看😁
点赞 回复 分享
发布于 2019-08-05 20:22
好多内核的题。。。楼主可以透露一下简历上怎么说关于操作系统与linux内核方面的吗
点赞 回复 分享
发布于 2019-08-06 01:03
不是说面得多评价高么。。
点赞 回复 分享
发布于 2019-08-05 20:14
👍
点赞 回复 分享
发布于 2019-08-05 20:14
左神说从数据流中找中位数用大小顶堆,时间复杂度logn叭。
点赞 回复 分享
发布于 2019-08-05 20:22
恭喜恭喜
点赞 回复 分享
发布于 2019-08-05 20:23
恭喜恭喜
点赞 回复 分享
发布于 2019-08-05 20:37
楼主和我面的算法题好像,也是深圳
点赞 回复 分享
发布于 2019-08-05 22:19
问的好全面,可以当复习提纲了。楼主厉害呀。
点赞 回复 分享
发布于 2019-08-05 23:01
中位数很简单,遍历一遍半就能解决。 注意是整型,所以数值是有范围的,这就很好解决了。
点赞 回复 分享
发布于 2019-08-05 23:23
我感觉你的三四面面试官和我遇到的一样
点赞 回复 分享
发布于 2019-08-06 00:27
楼主,项目怎么做的,现在手头没项目,楼主有没有什么好的建议?
点赞 回复 分享
发布于 2019-08-06 01:14
什么部门
点赞 回复 分享
发布于 2019-08-06 02:57
恭喜恭喜,面试官也说我基础比较扎实,挺尴尬哈哈🤣
点赞 回复 分享
发布于 2019-08-06 07:05
强调整型我觉得应该是想让你用桶排序或者基数排序做,复杂度O(n)
点赞 回复 分享
发布于 2019-08-06 07:53
可以说一下 UDP如何设计可靠传输这个题怎么答的么
点赞 回复 分享
发布于 2019-08-06 16:24
大佬请问进程切/线程切换保存的信息,以及操作系统内存管理这些问题怎么回答?有没有参考书籍或者资料推荐的?
点赞 回复 分享
发布于 2019-08-07 10:31
咋问你这么多操作系统的问题啊😂,大佬是不是简历写的精通操作系统知识啊🤣
点赞 回复 分享
发布于 2019-08-07 14:56
恭喜恭喜!请问你的帖子是怎么变成精华的?我也好想有一篇精华帖啊
点赞 回复 分享
发布于 2019-08-07 15:38
你怎样补的网络和操作系统的底层啊?看的书吗?求指教
点赞 回复 分享
发布于 2019-08-09 10:15

相关推荐

12-02 14:27
Java
点赞 评论 收藏
分享
评论
22
242
分享
牛客网
牛客企业服务