2021 校招算法岗, 劝退还是继续
作者:老宋的茶书会
知乎专栏:NLP与深度学习
研究方向:自然语言处理
前言
其实本来想着等到忙过毕业之后再写这篇文章的,毕竟两年半学制真的伤不起呀。但考虑到今年的算法情况以及各位同学的焦虑,感觉有必要早些写一篇大致的指南来供大家参考。这篇文章花费了一个下午的时间,但仍有很多细节没有探讨清楚,因此会在后续进行不断更新,以免误导诸位同学。
本人已经打算去百度了,虽然价格不高,但部门核心,偏业务,百度还是香啊。这篇文章是以我这个水平以及我看到的情况来进行分析的。考虑到大家一般刚毕业都是要去大厂的,因此,本文以大厂招聘情况为主。
码字不易,觉得写得不错请点赞。
今年行情
今年的一个基本事实是:互联网 hc 缩紧,这针对所有互联网岗位,算法是重灾区。今年的竞争激烈程度我大致可以这么划分:
cv算法 > nlp算法 > 机器学习算法 > 其他方向算法 >> 数据分析 > 产品/运营 > java后端 > c++后端 > 前端 > 客户端 > 测开
其他岗位就不一一列举了,大致就是这个情况。
首先是劝退
很不幸,开篇就先进行劝退一波, 如果满足以下条件的,劝退:
本科生:清北,浙大,中科院等的部分顶尖本科生除外, 其余劝退。从目前来看,一二线大厂算法岗已经几乎只针对硕士招聘了,本科生想以算法进入一二线互联网公司几乎不可能。
双非硕士:除非对自己实力有十分强的自信,否则劝退。双非在今年的算法行情下,很多一二线大厂连简历关都过不了,因为211以上完全满足需求,直接关键字过滤就完事了。
导师问题:这里导师不行指的是, 不让你实习,接一堆垃圾项目的这部分导师。因为这必然导致你很少有时间去学习算法,且没有实战经验今年是必然被刷。
如果你满足以上任意一个条件,不要怀疑,立马转开发,不然按照今年的行情,秋招你会死的相当惨。
其次还是劝退
对于不满足任意一条的同学,我个人持有的观点依旧是劝退(大部分),主要有以下几方面原因:
薪资:今年有几家一线大厂已经开始实行开发,算法同薪的计划了,预测明年这个趋势会更加明显。但今年整体来说,算法的薪资比开发高,这主要体现在二线厂中,部分一线大厂算法也比开发高2k左右。
付出:毫无疑问的是,算法供需失衡了。这也意味着市场属于买方市场,竞争压力极大。这点可以去牛客网上去搜一搜,今年算法号称诸神黄昏。
说一个事实,我某大厂算法白菜比我同学某独角兽开发白菜低 10w 左右,哈哈哈哈,看你们还搞算法吗。
如果说,大家看到我上边的两个劝退,依旧坚持,劳资不信邪,劳资要搞算法,那我们就进入正题, 从行情的角度分析如何去搞算法。
目标受众
首先,本文的讨论范围仅限 NLP 相关岗位,不同算法岗所需的准备差别还是蛮大的,不过可以都投一投,万一中了呢。
其次,算法方向目前可以细分为偏研究和偏落地,因为我个人学术水平有限,因此找的都是偏向落地的NLP岗位,这两个方向的面试区别还是蛮大的,建议大家面试之前想清楚。
最后,本文针对还是想去一二线互联网大厂和独角兽的同学,如果说想去外企研究员或者小公司的同学,可以出门左拐了。
如果说想去做偏研究方向的同学,可以更多的参考夕小瑶的这篇文章:别求面经了!小夕手把手教你如何斩下和选择NLP算法岗offer!, 夕小瑶大佬的 offer 情况基本就是最顶级的那一批了,实在是很强势,百度 nlp 组几乎是国内最强的 nlp 团队了,可以说很羡慕了。大佬文章里把国内好的平台几乎一网打尽了, 因此看大佬的文章就行。
我个人比较佛系,拿到有道的 offer 后,题也不刷了,论文也不看了,面试很多都拒了,然后后期后悔死了,这点后面再说。
接下来才进入文章的正题,本文先探讨核心竞争力的构建,然后谈谈面试,笔试的准备。
对于算法岗来说,什么是最重要的?
其实前面分偏业务和偏研究,这两大方向的准备还是有所区别的,不过先抛开这些不看,我们就谈谈对于算法岗来说的几大核心竞争力。
1. 谁说学校不重要?
今年,从我个人签到时登记情况来看,我们学校基本属于最差的那一批了,也就是说,211不出意外应该是底线了。一般人数最多的是北邮,其次是北航,然后是清北,北理,然后是其他帝都211,985学校。讲道理,我们学校计算机还可以,哈哈哈哈。
然后就是,提前批简历筛选,百度,腾讯,美团提前批都没捞我,百度正式批的时候,我就该问题与面试官交流了一下,提前批算法岗基本只要有限几个学校的,且专业对口的。至于说阿里和字节,这俩公司可是有 KPI 要求的, 基本是个 211 就能去面,然后我自己瞎投,不匹配挂掉了。
其他还有很多二线公司,独角兽,十分看重学校。
2. 论文
有些人说,论文不重要,有些人说论文很重要,众说纷纭,那么到底重不重要,答案是:重要,但起不到至关重要的作用。反正我没有论文,可能这也是我收获白菜的原因吧。
首先, 你的论文要有价值,即使你是顶会,灌水的文章,反而会降低你的面试评价。论文水不水,相信大家心里都有逼数,我就不扯淡了。夕小瑶的文章中就很清楚的写了,你要写一篇顶会意味着哪些东西,如果不满足,趁早放弃。这里我需要强调一下老师的重要性,一个好老师实在太重要了,而现实是很多老师不拖你后腿就不错了,如果说你的老师或带你的博士不行,趁早打消发文章的想法,混个毕业就行。
其次,前面说到,偏研究与偏业务区别很大。偏研究部门更多侧重于论文, 听说今年大厂核心研究部门,1篇顶会是简历筛选的第一条件,简直太可怕了。
3. 比赛
首先,一个现实是今年比赛在面试中的含金量在下降。比赛基本要求是大型比赛,比如百度阅读理解大赛这种级别的, 名次在 top 20 基本都很有价值。但是如果是一些小比赛,那就完全没必要去了,除非你拿了一堆小比赛 top 5 可能还有些价值。
其次就是,堆模型的方式并不受欢迎,面试官会很喜欢问你对模型的提升与改进,而 ensemble 讲道理并不算是改进方案吧,你如果能把一些顶会上的一些 Trick 用到比赛上,然后效果很好,也是很大的加分项。
最后,就是,做 nlp 的一定要打 nlp 相关的比赛,还有就是,从今年来看, BERT 出来之后,就别搞那些浅层任务如文本分类这种的了,提升有限,意义不大,任务简单,面试官很多都不感兴趣的。
4. 看论文 - 基础
其实很多人的学习方式都是去看博客,然后按照 github 去模仿。但我个人认为这是很不合适的一种方式,尤其是对算法岗来说。现在面试中经常会问你对论文特殊的理解,你连原论文都没有看过,谈何理解呢?
我个人研究生期间,看的论文大大小小也有 200 多篇了,我觉得这是我比较大的一个优势,一篇论文几个小时就吃的差不多了。
这时候有人会问了:老宋,你看那么多论文咋不发顶会呢。答案就是: 莫得机器,莫得老师。我老师在我找工作期间还给我接了个前后端的活,真是万分感谢啊。
所以我个人建议,一定要看原论文,一定要产生自己的理解,而不是看别人消化过的,可以参考,但不能人云亦云。
5. 大厂实习
这应该是最最最重要的一项的,我放到了最后面。如果你是放养,老师允许你去实习,那么你就早点去实习,越早越好。
如果说,老师不放人,那同学你只能靠自己了。
6. 其他
就上面的准备来看,大厂实习与顶会论文是至关重要的两项,这两点在两种 nlp 岗位上都能起到决定性作用。如果你满足这两点,再好好准备面试,基本大厂算法都能收割。
其次重要的是学校。清北,浙大,中科院有加成,北邮是不加不减,我校是减分项。
然后,就是比赛。如果能拿到百度阅读理解大赛的 top 10, 基本大厂都可去得。
最后,是基础。即你论文阅读量,你的代码水平,你的知识体系之类的。
面试与笔试
前面说完了,研究生期间的准备,下面聊聊在找工作期间,最重要的几个关键技能。
1. 刷题
夕小瑶的文章中指出, 她去面试都是 leetcode easy 或 剑指offer 原题, 然而,今年我的情况是,最少是 leetcode medium, 有时候会出 hard。
我个人的刷题情况是,剑指 offer 两遍, leetcode 200道以上。然而,我面试的好几家公司,出 hard 你敢信, 比如:
网易有道一面:编辑距离
搜狗一面:编辑距离
小米一面:编辑距离
猿辅导二面:二维动态规划 + 条件判定
因此,情况变化还是十分明显的,我个人维护了一个刷题仓库,主要针对我刷过的题进行总结,该仓库还没有更新完,我个人打算在毕业之前更新完。
仓库地址:python-algorithm
刷题语言的话,用 python 就行,笔面试都行。不过很多面试官会在面试时问会 c++ 吗?
2. 基础知识
这些基础知识涉及很多,如数学, 机器学习,深度学习以及NLP 的最新理论。涉及开发的知识不多,如计算机网络,操作系统,设计模式等几乎不考,反正我没遇到过。还有就是,很多面试官对 Linux ,git 会比较感兴趣,主要考察你的开发能力。
我针对秋招,还特意维护了一个 NLP 复习的仓库,目前还在更新,不过内容已经很多了,我后续会跟进最新NLP 进展的,欢迎 star:
仓库地址:NLPer-Interview
3. 简历
简历十分重要,有些同学不是能力不行,就是简历不好好写,如我舍友,我给他分析了他的简历问题,帮他扯了1个多小时,过几天他就收到某独角兽 offer 了,价格还比我高,酸了。
所以说,这点一定要注意起来,一定要找有经验的,认识的算法工程师帮你们看看简历(别发我,哈哈哈), 这点十分重要。
简历写有很多技巧,但这都没有找个人帮你改简历来的有效,所以,等你找工作的时候,一定要请人家吃个饭,帮你改个简历什么的。
4. 打怪升级
在秋招中,一定切忌直接刚大厂,因为这样,由于面试经验的问题,十分容易挂。我个人推荐先去面一波小厂,面个十几家,觉得差不多了,再去刚大厂。
注意的是,时间要安排好,vivo 提前批7月初就开始了,因此,你可以提前一个月开始面试小公司。
Tips
一定不要错过提前批。 很多算法 hc 在提前批就没了,没错,边缘组的 hc 也没了
刷题要趁早。 从现在,立马开始刷剑指 offer 。
提前批要看好部门 match 与否。 阿里投的新零售,都不知道干啥的,结果是做知识图谱的,然后就挂了,难受啊。
提前批不要拖到末尾。 提前批最迟在中期投,不要等到就有十天就截止了,你再投。腾讯血淋淋的教训, 我同学微信都面了4次了, 我他瞄一次都没被捞。
提前定好自己的心仪公司候选。 反正我最想去的就是百度,阿里,腾讯和有道。不过,猿辅导的价格真香,可惜题没刷够。
写博客和github有用。 这两大内容有用,但需要看面试官,小米面试官就连我文章都没有看,直接说我文章一般,就差说出垃圾两字了。github star 数低的话,就别写到简历上了。
实习转正比较容易。如果可以,走实习转正通道才是正解。
秋招要尽全力,尽量多拿offer,我就看到有同学刚到了10月20号还在面,我他瞄9月初就开始佛了。 不要拿到满意 offer 就佛系,不然后面会比较后悔,万一薪资不满意呢。
最后
暂时就想起来这么多,如果有没有涉及到的,欢迎在下方评论区提醒我, 我再添添改改。
如果觉得写到不错,点个赞啊,老铁,码字不易啊。
最后,赶紧他瞄的去实习啊。 老宋无声的呐喊。
本文由作者授权AINLP原创发布于公众号平台,点击'阅读原文'直达原文链接,欢迎投稿,AI、NLP均可。
推荐阅读:
BERT 瘦身之路:Distillation,Quantization,Pruning
关于AINLP
AINLP 是一个有趣有AI的自然语言处理平台,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLP君微信(id:AINLP2),备注工作/研究方向或加群目的。