字节跳动后台开发一二三三面面经(被拒了,唉)
本来想收到 offer 的时候再发这篇面经,结果在 4.30 主动询问得知不安排后续面试了。(是不是我不主动问就可以当还有机会 (逃))。
先说一下个人情况,某 211 应届生,计算机相关专业。本次面试是我第一次面试。在得知消息后起初有些怀疑自己,这几天好好想了下还是自己能力不够,经验不足。我投的校招补录,然后转到社招,而我目前的经验应该是无法达到字节的社招要求的。总之好好努力吧,接下来就得投社招了,没有应届生的优势了。
说一下面试过程,顺便总结一下,面经题目可能有遗漏。。
首先是要对目标岗位有个清晰的认识。
其次是面试过程中要保持良好心态。可能是因为第一次面试,也可能是因为经验不足,面试过程中十分紧张,即便是到三面了。后面复盘面试时发现很多会的题目结果脑袋宕机了或者没有表达好。三面有一题问问什么 MySQL 数据结构是 B+树而不是平衡二叉树,这题很简单,但是面试过程中解释的磕磕绊绊的,估计这给面试官不好的印象,不利于团队沟通等;再有就是三面的笔试题--零钱兑换,用动态规划就可以做,我当时说了思路,但是转成代码过程中出了很多问题,而这在平常是不可能出现的。
一面(4.8, 1h)
-
自我介绍
-
项目
-
线程和进程关系
-
进程通信
-
实体及其之间关系
-
项目中数据库设计
-
E-R图
-
MySQL事务级别
-
MySQL锁
-
主键索引和非主键索引
-
Python装饰器
-
a + b + c = 0
-
单例模式
一面总体不错,面试官很有耐心,会经常说不要紧张,不会的还会给解释,面完就通知二面。
二面(4.8,40min)
-
自我介绍
-
线程和进程
-
进程通信
-
TCP 和 UDP
-
TCP 四次挥手理解
-
Redis 数据结构
-
Redis 模型(我说了单线程,问为什么单线程还快,我说了多路复用,于是有了下面的epoll)
-
epoll (没回答上,因为当时了解不深,不该挖坑的。不过后来了解了。)
-
HTTP
-
HTTP 和 TCP 工作在哪个层
-
联合索引(给一句 SQL 问是否走索引)
-
输入 URL 到页面展示(这部分回答的不完整,前面 epoll 那没缓过来,中间过程记岔了)
-
扫码登录原理(没回答好)
-
前端发起请求,请求如何到达后端(具体问法忘记了)
-
字符串大数求差(a: str - b: str)
-
十亿数求最大十个,时间复杂度(回答的分堆加最小堆,还要求时间复杂度)
面试官人很好,但是有点严肃,于是一面结束消失的紧张感又来了。二面完感觉有点糟糕,第二天 hr 电话约三面时间。
三面(4.13,30min)
三面太紧张了,加上下午两点的面试,整个人昏昏沉沉的。
-
代码:
-
快排
-
二分查找
-
单链表转置
-
-
项目
-
MySQL in 原理(我回答了范围查找,感觉不是想要的答案)
-
接口幂等(一个接口插入数据,如何保证幂等)
-
两部很高的电梯,如何调度使其性能最大(等待的人和电梯里的人的时间最佳,当时没理解提意,没回答)
-
有什么问题吗
面试官人很好,但是气场强大。三面完就觉得完了,和二面完感觉不一样的,就自己一无是处的感觉,果然面完三天官网状态已结束,但是下午 hr 电话说另一个部门觉得合适,于是约接下来三面。
三面(被捞,4.20,40min)
-
自我介绍
-
项目(介绍,你觉得最难的地方)
-
算法(买卖股票,这里要求只买入卖出一次,我理解错了写成多次买入卖出,扣分点)
-
MySQL数据结构
-
为什么不用平衡二叉树或者红黑树(回答磕磕绊绊,扣分点)
-
还有什么结构
-
C++模板(没回答出来)
-
协程(关键点没回答出来)
-
缺页中断
-
算法(零钱兑换,说了思路但是很久才转换成代码,扣分点)
-
有什么问题吗
三面完感觉比第一次三面好一点,但是迟迟没有消息。于是 4.30 咨询 hr 被告知不安排接下来的面试流程了。
总体面试体验还不错,各个面试官都很好,回答不出的也给出了解答。无奈自己不够强,心理素质也不够,不足点在于心理素质不好,笔试状态差,给了机会没把握住。但是这次面试也给了我信心,感谢字节的 hr 给我面试机会,字节之路尚远,继续加油吧。
#字节跳动2020春招##字节跳动##面经##社招#