写在前面
作者是研二的学弟,和号主一样都为非科班,但是实力不容小觑,顶住压力早早地在提前批收割了大厂的offer,可以说是「神仙学弟」了,方向为机器学习/数据挖掘/NLP,同时也对推荐系统具有强烈的兴趣,如下仅为部分面经,墙裂欢迎各互联网大佬来撩!
作者邮箱:weijinping18@gmail.com
字节跳动|推荐算法岗
7.2更新,晚上7点终于收到了意向书,不用再反复刷邮箱了~
6.23一面
面的是搜索团队的推荐算法岗位。
- 上来先撕代码。1.给定一个数组,前面一部分已经排好序,后面一部分也排好序,将整个数组排序。2.将一个数分成给定的一些数的组合,给出所有这样的组合。比如将10分成[1,2,3],其中一种[1,1,1,1,1,1,1,1,1,1]。第二题出了太紧张了没写出来,写了个回溯但是有bug,面试官告诉我不要紧张,也不是都要求做出来。总体来讲面试官还是比较nice的。
- 最后讲了下LSTM的细节,还有支持向量机的问题。
- 反问。
6.23二面
介绍项目,涉及到了transformer也问了下。
- 问了下树模型,GBDT等。
- 做了两个智力题。1. 43个石头,A,B轮流拿,每次可以拿1~3个,A先拿能否保证自己获胜?2. 1000盏灯开着,1000个人标号1~1000依次进入,每个人进去按一下自己标号倍数的开关,问最后哪些灯亮着?。
- 手撕代码:实现一维数组的maxpool。
- 问了如何解决过拟合和dropout。
- 反问。
7.2三面
原本二面过后就三面,但面试官有事情,推迟到今天三面。没想到三面被血虐啊啊啊啊……
- 先来当头一棒,问熟悉什么语言,回答python,于是问python中list的底层怎么实现,没回答出来。
- 问怎么实现一个字符串中找最小的包含所有不同字符的子串,回答用双指针,让证明双指针的正确性。
- 概率题问比赛甲获胜概率0.6,乙获胜概率0.4,该选三局两胜还是五局三胜。再问不通过计算怎么判断?
- 当n为一个趋近于无穷大的奇数时,甲乙获胜概率如何?
- 根据用户的query,如何判断用户具有视频意图?
- 介绍简历上的项目。
- 没有反问环节。
总结
就字节的面试来说,总体感觉是非常看重编码能力,每轮面试都会要求做编程题,但有的只要说出思路。相比之前面过一些其他厂的实习,面试的手撕代码虽然没有达到笔试的难度,但也是有leetcode上偏难median的程度了。总结起来就是多刷题,还有自己的项目中用到的模型要非常熟悉