忙完项目和毕业论文,趁着这段时间的空闲,回忆总结了一下自己2020年字节跳动的面试过程,比较坎坷,主要语言为C++,投了提前批内推的杭州安全与风控直接简历被挂,随后开启了被HR反复打捞的路途中。
base:北京 产品研发与工程架构部 客户端开发 整个流程约为9天
一面: 手撕线程安全的单例模式、找出链表的倒数第k个节点,专业基础考察的比较广
二面: 手撕string类的实现、智能指针的实现,top K的场景题(答得不算太好),再加一道leetcode中等题,侧重于语言基础和计算机网络
三面: 考察STL迭代器、vector等的常规使用,深挖项目,面试官全称比较严肃,有点吓人
三面结束后,问了HR,三面都是通过的,以为比较稳,结果等了二十多天,收到了第一封感谢信,也许是录用排名不够高的原因吧,这也打乱了自己的秋招计划,心情也非常失落,不过刷完的第二天就被捞了起来,或许是因为面评还可以的缘故吧。
base:深圳 data部 整个流程约为一周
客户端开发:
四面:一道leetcode中等题,全面考察数据结构、网络、操作系统的知识以及项目
五面:两道leetcode中等题,考察了文件下载的场景设计,在面试官的引导下算是答了上来,可能他还是不太满意吧,于是就被挂了,被捞去面了一次后端
后端开发:
六面:主要围绕网络进行提问,刚好自己也比较擅长,但是后面一道比较复杂的SQL手撕题没整出来,虽然后面一道leetcode困难题也写了出来,但并没有什么用,后端的侧重点可能不太一样吧,同样受到感谢信的第二天被捞了起来
base:杭州 抖音/抖音火山版/直播 客户端开发 整个流程约为一周
七面: 手撕一道leetcode中等题、leetcode计算字符串中最长的回文串长度
八面: 手撕leetcode全排列、leetcode压缩字符串的进阶,top K的场景题
九面: 手撕leetcode最长有效括号,深挖项目,考察围绕C++的底层编译过程、数据结构、网络方面知识,刚好自己比较擅长,所以答得比较完美
国庆节过后收到了HR的口头OC,随后收到了正式的录用意向书,虽然不太想去做iOS客户端开发,但思前想后还是接了offer,因为听说直播团队是抖音的核心,作为一位本科双非、研究生211且没有实习经验的渣渣来说,这份offer也很值得,还是怪自己太菜了,没能去其他理想的岗位,进去之后再努力提高自己的水平吧。一个月后,自己又收到了华为南研所数通的offer,里面的学长说很苦逼,money抵不上工作量,也就婉拒了。后续美团、百度的面试也都推掉了,只是有点后悔没去试试百度的后端cpp,教研室有同门去了,参观了他的几轮面试,感觉难度也不是很大。整个秋招8月处处碰壁,9月面试频率较高,到了10月就成了收获的季节。由于自己比较任性,只投递了自己想去的公司,没有广撒网,还好在字节一轮又一轮的打击下没有放弃,也不得不说杭州真的自己有缘,刚好满足了一心想去江浙的愿望。
回想当时的面试准备:
【基础知识】C++基础知识:面向对象思想、底层编译、虚函数、多态继承、设计模式、STL源码、字节对齐、多线程等等;操作系统:分页分段、内存管理与调度、Linux基础命令;数据库:redis、SQL语句;计算机网络:深入理解TCP/UDP协议过程、深入学习HTTP协议、I/O复用、DNS域名解析方式、Web页面请求过程。
【项目比赛】面试官考察你在项目、比赛中扮演的角色、有什么收获
【场景设计】给出很多应用场景,设计出解决方案,甚至包括一些奥数题
【手撕算法】面试必考:大部分是Leetcode的原题,除了部分外企;一小部分是单例模式、手撕STL底层(各类库)实现代码、SQL语句;leetcode算法题:《剑指offer》-> Hot 100 -> 模块刷题,推荐:https://github.com/labuladong/fucking-algorithm。
祝各位同学好运!