2021届应届生算法岗校招经验分享+吐槽(秋招)

本文主要从以下几个方面组成:


(一) 个人背景

(二) 校招结果

(三) 面经+吐槽(秋招+春招https://www.nowcoder.com/discuss/667185)

(四) 经验分享(https://www.nowcoder.com/discuss/667184)





(一) 个人背景:

985本(专业电子信息,成绩10%),英国G5硕(专业机器学习,成绩distinction),四个项目(其实还有个很水的,但是太水了,简历上就没写),无论文,无实习,无竞赛。Leetcode刷了300+,每道题的基本所有做法都会,总共刷了3000遍左右吧(有些次数是水的,在观察/对比某些方法的平均时间、空间),这些题均可保证在5分钟内写出来(假如在面试中遇到的话,可以熟练写出来)

(二) 校招结果:(以下均为算法岗)

华为cbg消费者云服务15级,南京,26k*12+80k(保底年终),总包40w. (感觉可以再高一些,自己当时报价报低了,结果就按照我报价的下限给的)

携程,上海,23k*15 + 45k签字费)(硕士顶薪)(携程只有20k23k两档, 最高档的一部分同学有签字费)

爱奇艺,北京,(硕士顶薪)

Vivo,北京(地点随便挑),20k*15spVivo三档16k 20k 24k,感觉可以拿ssp,但是vivo只有一轮30分的技术面,感觉太简单了,没区分度。但是了解到有些ssp背景全方面不如我,而且我当时面试也是完美回答所有问题,但是没给ssp,最后选择的时候就直接把vivo pass掉了)

阿里新零售事业群,杭州。面完了,拿了口头offer,还在等正式offer

(三) 面经+吐槽:

(以下按照公司顺序,公司内部有多次面试的话,按照时间顺序)

(项目展开环节,因为都是根据个人项目和知识储备来展开的,每人的方向不同,我就不再详细介绍,没啥参考价值)

(因为学校那边事情比较多,大概到十月才结束,所以秋招准备不怎么充分(知识上和刷题上,都不够充分)。而且当时刚开始投递,了解到的公司也不算多,所以整个秋招投递数量也不算多。)

秋招:

字节:

秋招提前批一面:(挂)

时长:60分钟

流程:项目展开,做题(两道题:第一题:二分查找变形,查找有序数组中某个数的起始位置和末尾位置。第二题:礼物的最大价值(找到一个矩阵从左上角到右下角的最大/小和,简单的dp),传统机器学习基础(LRsigmoid函数,损失函数,权重更新。集成学习:整体的原理(baggingboosting),bagging的例子(随机森林),随机森林的原理(构建方式,随机性的体现,优点),boosting的例子(gbdt),gbdt的原理(构建方式,优点))

自我评价:项目展开:这块儿回答的挺好。做题:第一题虽然不难,但没做出来,不熟练+紧张,只写了暴力解。第二题秒做出来。基础知识环节:LR回答的很好,集成学习那些准备不充分,确实答得不好。客观来说,确实应该挂。

吐槽:当时面试结束时面试官给我说,因为二面面试官临时有事儿,所以二面时间再约。结果过了两天没消息,我去问,通知我一面挂了。有一说一,确实答得不好,应该挂。但是面试官偏要搞那么一出,就很烦。或者说那二面面试官假如没有临时有事儿的话,那不就直接二面了吗

秋招正式批笔试(第一次):(挂)

自我评价:内容记不得了,确实挺难的,确实不会,应该挂。

秋招正式批笔试(第二次):(通过, 76/100,或者说3.2/4

题目:四道代码题(分值10 30 30 30):1. 简单的sort by key2. Leetcode原题,hard42/84/85中的一道(具体哪个我忘了)。3. 竞赛题,给一个M*N的大矩形和n*1的小矩形,请问小矩形有多少种方法拼成大矩形。牛客上JZ10 矩形覆盖的无敌升级版。4. 题目忘了,思路是0-1背包问题+计算完全平方数的优化

自我评价:运气好+实力强,能有这个结果真的很满意了(毕竟字节笔试公认的难),当时去牛客上看了一圈没有比我做的好的(估计这次笔试可以top,得瑟一下)。第二题那个hard,碰巧做过原题,直接秒了。第三题,确实没啥思路,骗了20%。第四题,0-1背包估计不少人能想到,因为条件负责度的要求,写到这里只能对0.6%。再加上优化计算完全平方数,才能全部ac

秋招正式批一面:(通过)

时长:60分钟

流程:自我介绍,项目展开,基础知识(时间太久了,真的忘了,不好意思),做题(aucpython实现)

自我评价:完美发挥,所有问题都逻辑清晰的回答上来了,和面试官也在友好的沟通,最后也相互分享了下对整个算法岗学习的看法。

秋招正式批二面:(挂)

时长:60分钟

流程:自我介绍,做题(两道,第一题,概率题,两人抛硬币,出现三次正面朝上为A胜,出现三次背面朝上为B胜,计算A胜的概率。第二题,代码题,计算斐波那契数列。)

自我评价+吐槽:纯属被搞了。自我介绍完之后就开始全程做题,没有问任何专业知识,同时面试官态度及其之差,不听我讲话,还多次打断,还抨击一面面试官和学术界大牛。具体表现如下,概率题我做出来了,五分钟不到,确实不是很熟练,但是五分钟也还好吧。最后他说我做的太慢,方法太笨(我反问他该用啥方法,说用排列组合分类讨论,我就是这样做的···)第二题,我用空间优化(状态压缩)的DP来做(空间复杂度O1),时间On)),他说方法太笨,让我写一种更快的。我不会,他也不提示,就硬尬着十分钟。然后我实在没思路,他说用快速幂+矩阵乘法,我还是不会。但是我说我会快速幂和矩阵乘法这两种方法,可以分别给他写一下,他说不需要,你只用给我这个题的结果。中间我多次想给他沟通,他都拒绝,说只要结果,然后就去干自己的事儿去了。我在调试过程中,根本没说我写完了,他偶尔看了一下电脑,以为我是输出结果,直接开喷,“你这个结果怎么是这样?!“, 我说我还在调试,他说“不能调试!”。就这么尬了一个小时,最后他说“你是我面过的最差的,我们这儿没人写不出来这个的”。(我结束之后查了下他说的这种方法,算是半个竞赛解法了,很偏,正常情况写到空间为O1)的dp就行了)。他除此之外还说,“一面问的那些模型啊,机器学习啊,深度学习啊,都没用,更新太快”。难道因为更新快,就不去尝试不去学习新东西了吗?还抨击这几年一些大牛的作品,比如efficentnet,都是垃圾。

网易:

秋招一面:(挂)

时长:60分钟

流程:自我介绍,项目展开(介绍alexnet的结构,神经网络剪枝的原理和具体实现),基础知识(tfname spacevariable space等的区别和联系,tf来做分布式训练(多GPU协作)的api

自我评价:中等偏上的发挥,发挥不好的点在于对于剪枝的理解还没有很深入,对tf1.x的指令不熟悉(我用的tf2.x),没有当时就明确指出name spacevariable space这些是1.x中独有的,2.x中没有。

吐槽:

a.      面试时间:约的是14.30面试,预约的是14.20面试开始,等了十分钟才通知我进房间。进了房间直接完全没音讯?给我发起视频面试,我秒点接受,没有接通。我又文字尝试沟通,并多次向他发出视频面试的请求,均没有任何回应。然后面试官直接退出房间。我还在想办法开始面试呢,收到通知:“因为您没有及时进入面试房间,面试推迟”。这能让我背锅?而且也不说推迟到什么时候?我等了一个小时,刚准备关电脑,又收到通知,面试开始,请赶紧进入房间。

b.      面试官水平太低:1. 让我介绍alexnet的结构,我说八层权重层,其中有五层卷积和三层全连接。她直接反问,“难道没有池化层吗?”。通常说层数都是指权重层,而且我也明确说明是权重层,池化层是权重层?2. 让我介绍剪枝的具体原理和实现,我按照论文给她讲,她不信。我报论文名字和作者(《Learning both Weights and Connections for Efficient Neural Networks》,song han),她还是不信。我说神经网络的表达性能过剩(这是常识··),她也不信。她就硬抬杠。3. 问我tfname spacevariable space之间的区别,我因为用的tf2.x(这些在2.x中删除了),根本没见过,我当时还以为是我自己学艺不精,也直接说的不会。

商汤:

秋招补招一面:(通过)

时长:60分钟

流程:自我介绍,项目展开+基础知识(这里面牵扯到一些项目相关的基础知识,比如说大尺寸卷积核为什么能替换成小尺寸卷积核的堆叠(有效感知野尺寸相同),优点是什么(参数量更少,更多的非线性,等等)。soft-nms的具体实现,和传统nms相比的优点。一些CNN的创新点和具体实现,比如说mobilenet v1v2的实现、优缺点,卷积层参数量运算量的计算等等),一道代码题(剑指offer45把数组排成最小的数,快排的变形)

自我评价:还不错,只有一个地方(推导卷积层参数量运算量)发挥不好。因为好久没推了,当时也是第一次被问到,也有点紧张,不太熟练,结论没推全对,但是口述了原理。其他地方包括代码题都很熟练的回答上来了。

秋招补招二面:(挂)

时长:60分钟

流程:自我介绍,项目展开+基础知识(大尺寸卷积核为什么能替换成小尺寸卷积核的堆叠(有效感知野尺寸相同),优点是什么(参数量更少,更多的非线性,等等)。soft-nms的具体实现,和传统nms相比的优点。BN层的实现和作用,为什么能有这个作用),一道代码题(leetcode221 最大正方形)

自我评价:个人发挥还不错,不过面试官水平非常有限。

吐槽:这面试官水平太菜了,就算是kpi面,面试官水平也不至于这么低吧。a. 和网易一样,这个面试官一直在对于剪枝的原理抬杠,我讲了原理,说了实验结果,还说了论文名字和作者,他就是不信。b. 这面试官连大尺寸卷积核替换成小尺寸卷积核的堆叠都不知道,而且也不认真听我介绍。我给他举了例子,比如说15*5换成23*3,我费了10多分钟的口舌之后,他恍然大悟,“哦~是换成两个3*3啊,我还以为是15*5换成13*3”。c. 面试官不知道bn层,我花了不少时间给他从头讲了bn层。d. 我代码题做的很快,不过我做完之后给他逐行解释并分析了复杂度,他问我你是不是做过这个题··…e. 面试结束之后,我反问他,请问我还可以在哪里更进一步。这老哥还挺实在,说“实在抱歉没给你提什么有价值的问题,也没给你什么有价值的建议”

Vivo:

秋招补招一面:(通过)

时长:30分钟

流程:自我介绍,基础知识(python:生成器/迭代器,is==sort底层原理。数据结构:树的前中后序遍历,二叉排序树)

自我评价+吐槽:个人完美发挥,但是面试时间太短,自我介绍完之后就只剩十七八分钟了,真正问问题的环节就只有十五分钟左右。而且面试官也不知道问啥,很多地方我看面试官费力想问题,我直接把之前问的点展开讲。没问代码题,不知道是面试官不知道出啥,还是流程就不要求代码题,我还主动帮面试官想代码题(二叉树中序遍历的迭代和递归两种写法),面试官说不用写,哈哈哈

秋招补招二面(HR面):(通过)

时长:20分钟左右

流程:自我介绍,HR面标准问题(最大的优点/缺点,预期工资,工作地,如何学习的,学校情况等等)

BIGO

秋招补招一面:(挂)

时长:60分钟

流程:自我介绍,做题(三道题:第一题:900桶酒中有一桶有毒,小白鼠饮入有毒酒后七天发作,要在七天之后找出这桶酒,请问最少需要多少小白鼠。第二题:甲乙射箭,每人射中靶子的概率都是0.5,请问甲射出101箭,乙射出100箭,甲比乙射中多的概率。第三题:leetcode 面试题17.24 最大子矩阵)

自我评价+吐槽:
a. 约定面试时间之后十分钟面试官还没上线,我主动给hr打电话,hr说“面试官忘了,我现在去叫他“,这也太离谱了,哪怕是kpi,好歹也上心点儿啊。合着我不打电话,就不面试了呗。
b. 不愧是KPI面,面试过程中这几个题很偏,也是纯技巧题,之前没做过原题的话就基本不可能做出来。第一题是二进制,那个9007完全没用(513-1024之间,最后结果都是10,因为2^10=1024)。第二题可以通过列式子化简,直接得到结果,根本不用任何计算。第三题是个hard,也是hard里代码量很大的题了。这几个题虽然很偏,但是还是可以了解一下增加知识的。而且这面试官也不错,可以和他正常交流沟通,不像字节秋招二面那个(不理你+捣乱+喷人)。


#面经##校招##携程##爱奇艺##华为##vivo##算法工程师#
全部评论
大佬想问一下,你具体刷leetcode有啥好习惯么?刷leetcode刷到能看懂记住可以么?我现在感觉刷的效果不行,我就是刷一遍,然后看懂一下,刷3000多遍也太强了
2 回复
分享
发布于 2021-05-08 13:56
感觉楼主很有实力,但是不自觉的有些狂,哈哈。我也是一直投算法,因为一直做NLP,好多别的算法只知道原理,具体细纠就不清楚了,所以一直觉得自己菜,后来收获了还不错的offer,感觉面试官不太喜欢面试者过于主动的,所以还是谦虚一点为好。
2 回复
分享
发布于 2021-05-08 19:51
英特尔
校招火热招聘中
官网直投
看完只有四个字 惊为天人
1 回复
分享
发布于 2021-08-13 19:53
牛客上的 牛客题霸,剑指offer 可以多刷刷
点赞 回复
分享
发布于 2021-05-08 15:33
这样也能挂吗。。。
点赞 回复
分享
发布于 2021-05-09 06:36
催更😃
点赞 回复
分享
发布于 2021-05-27 12:19
华为cbg云服务能发下嘛?
点赞 回复
分享
发布于 2021-06-28 23:17
厉害,赞赞赞
点赞 回复
分享
发布于 2021-08-06 22:09

相关推荐

17 116 评论
分享
牛客网
牛客企业服务