字节跳动算法工程师 三面已意向书 感谢牛客
Base:北京
岗位:推荐算法工程师
情况: 211本 主EE辅CS,英国硕士 CS NLP方向 大四接触到深度学习,当时学长和我说深度学习大体分为CV和NLP两个方向,但是CV人比较多,所以本渣选择了NLP方向。
本科没有什么项目经历,在英国作为授课型硕士也只是跟着毕设导师做了实验室的项目。最终简历上有三个项目:两个自己做的+一个实验室的(面试的时候基本对自己做的项目不感兴趣,都是问实验室项目)
无竞赛,无paper。
有一个月百度实习经历(CV方向)
大概六月末回的国,适时刚好字节跳动开方提前批,于是急忙投递,结果因为根本没有准备所以一面挂(血的教训。。心仪的公司一定要最后投,不然面试挂了留案底特别伤)。
七月找了百度的实习,被派去做了CV方向(OCR)。八月末离职备战秋招,基本互联网大厂投了遍,以及n多小厂,期间看了很多dalao在牛客的面经,有很大的帮助,因此写一下字节跳动的面经回馈一下牛友~
一面:
一面的面试官很好说话,很温柔,详细问了问百度的实习经历,问了为什么做的是CV以及为什么没留百度,深挖了一些项目的内容(简历上的项目一定要保证写的都是自己做的而且很熟悉!),延伸到了优化器的话题,从SGD到Adam的各代优化器都很深的问了遍,探讨了为什么Adam有时候可能没那么好,怎么解决(这里主要都是我引深出来的,感觉我有一点带面试官的节奏了-,-)
实习经历和项目大概聊了半小时,优化器聊了十多分钟,然后面试官觉得聊得够深入了就停了。
算法题:合并K个排序链表:由合并两个排序链表去归并。
二面:
一面结束后hr马上联系我然后约了第二天的二面。
二面的难度明显要比一面大很多。
基本流程是 聊实习 -- 聊项目 -- 聊传统机器学习方法 -- 聊深度学习方法 -- 聊具体场景应用 -- 算法题
传统机器学习方法问了SVM,CRF以及聚类(具体问到什么有些忘了,时间有点久)
深度学习方法让我自己说从 DNN到BERT的发展,中间会根据我说的打断我引深问一些相关知识;有没有自己实现过优化器比如SGD或者Adagrad(没有)
具体场景应用是由词向量引出的,首先问了词向量负采样的细节,数学原理,然后问大规模的用户导致维度爆炸怎么处理(没答好-,-工业界经验太弱了);问了让我自己设计一个推荐系统怎么做(不会,因为我的硕士方向是NLP,不会推荐系统,面试官表示你面试前应该做好准备,我回答说我确实准备了很多NLP的东西,但是昨天才知道咱们是做推荐方向所以时间来不及了,面试官表示理解)
算法:字符串的全排列,问了时间复杂度(O(n*n!)),以及详细的时间复杂度推导(n是怎么来的,n!是怎么来的),怎么优化(DFS剪枝)。
三面:
二面过后一小时hr来电约了一周后的三面。
一周的时间我恶补了推荐系统的知识,了解了常用的协同过滤,隐变量分解等常用方法。
三面上来就是一道算法题:求无序数组的不连续递增子序列。手撕了O(n**2)的解法,然后自己提出可以有O(nlogn)的解法,面试官点头,大概讲了一下二分的思路,面试官表示思路没问题让我自己回去写写(说挺好玩的一题)
没聊项目和实习,让我设计一个系统来筛选抖音中的低俗视频(从视频帧,图片,文字三方面来提取特征 balabala)
中间聊了很多细碎的知识点记不太清了。。
最后问了我实习时候项目的评价指标,我说用召回率来评估,从而引申到我都了解什么评估指标。说了recall,precision,f1-score以及AUC
详细聊了聊AUC,以及:那你可以自己实现AUC吗?(现场手撕实现AUC的计算)
两天后hr通知三面通过,流程走完就发意向书。
心得:对于字节跳动的校招包括实习(8月投了字节的算法实习不过被一面挂了,手撕dp没做出来),给我最大的感觉就是字节跳动是一个很注重基础的公司,他不会要求你有竞赛有paper有多么强的工业界能力,但是基础一定要好,至少对于算法工程师来说现场手撕code的时候 bug free 是必须的,因为面试官不会留太长的时间给你debug,除非能够精准定位bug并快速解决,不然凉的几率很大(别问我为什么知道的,都是教训)。另外就是字节的面试官都很好(我遇见的都很好),与他们聊得时候要把他们当成朋友来相处,不要当成面试,要当成和朋友的一次聊天,不卑不亢。要敢于反驳,敢于提出不同的观点。(但是要友好交流hhh不是吵架)
心路历程:我的秋招到这里基本就结束了,拿到了心仪大厂的心仪offer已经是一本满足了。回想这几个月,也有心态爆炸的时候,有过怀疑自己的时候,尤其在某乎上看今年算法灰飞烟灭,加上牛客上也有一些类似的言论,一度想过放弃。
但是都咬咬牙坚持下来了,希望大家在也都可以怀揣梦想,不负韶华,砥砺前行,我们都会拿到自己心仪的offer的!!!
最后,我一开始的面试是自谦的态度,比较不自信,有一些唯唯诺诺,我感觉这也是我秋招初期挂了很多一面的原因,后来经过复盘,思想由“为什么是我”转变成了“为什么不能是我”,整个人感觉升华了,从那以后一路披荆斩 棘,拿下了快手百度字节跳动以及若干小厂的算法offer,希望大家面试的时候一定要自信要自信要自信!!!如果面试的时候对自己都不自信怎么让面试官信任你能胜任岗位呢!!! 给爷冲!!!