23届算法岗秋招总结,寒冬之下的救赎!
22年真的是很魔幻的一年,在疫情的大环境下挣扎着找着毕业后的一根救命稻草。在秋招的过程中,我还记得失眠的无数个夜晚、早晚拥挤的地铁、笔试没有思路时的无奈、以及面试时的紧张与不安。
还好秋招最终的结果是满意的,我最终选择签约蚂蚁做推荐策略。
很感谢牛客网这个平台,让我可以和同龄的应届生们互相交流,了解当前秋招的进展,学习面试和笔试的经验,在这个寒冬里相互取暖。因此,我想在这里回顾总结一下我的秋招情况,也想给这个平台和自己留下些东西,不负那些拼搏而坚持的时光。
以下文字纯属个人看法,大家可以看情况做参考。
个人背景
top3本硕,应用统计,NLP方向,秋招主要找NLP算法、推荐算法、机器学习算法岗位。有一篇在投论文以及一个NLP横向项目,以及各项数学建模竞赛、奖学金等荣誉。
为了准备找实习和秋招,从21年10月陆陆续续刷题,佛系参加周赛,到22年3月刷了350+题。暑期获得了字节(上海)、蚂蚁(杭州)以及拼多多(上海)的实习offer,最终综合考虑认可度和疫情情况选择了在字节做推荐算法实习生,实习时间5月中旬-9月末。实习的过程中也在佛系刷题,最终秋招时差不多在600+题。
秋招成果
由于我一开始希望能够在字节转正,因此秋招投递和准备的有些迟了。我差不多在8月中旬开始投递,一直到10月中旬停止投递。期间的投递和笔面试情况:
- 投递约×35家公司,主要是互联网大厂+国企类型券商+银行科技岗
- 给笔试×27,放弃笔试×7,笔试×20
- 给面试×13,放弃面试×3,面试×10
- 走完流程×8,还在池子里×2(华为、OPPO),放弃流程×2(上海期货、美团),offer×4(阿里白菜、拼多多SP、蚂蚁SSP、华泰证券算法总包38-40w)
- 签约蚂蚁
投递策略
整体来讲,我投递的公司数并不多,这主要是一方面是因为我比较懒,不想要在投递上花费时间填信息;一方面是自己还是想去叫得上名字的公司,一些初创公司就不考虑了(况且算法岗的话选择也比较有限,小厂算法需求很少)。
建议大家秋招前期不要学我,一定要多投,尽可能快地拿到保底,这样心理上会比较放松,而且多投的话也可以快速知道自己在校招市场上的定价如何,快速弥补信息差。而在后期则要有针对性的投递:如果还没有拿到offer就多投银行国企,一方面国企考核比较轻松,一方面后期银行国企的秋招才刚刚开始;如果已经拿到offer就可以考虑放弃一些自己不想去的公司的考试(后期我放弃了很多国企的考试),针对自己的dream company做大量准备。
另外,如果大家暑期拿了某公司的offer不去的话,建议不要以直通车的名义直接终面。互联网公司还是有些记仇的,我暑期拿了蚂蚁offer,结果因为疫情原因不能够去杭州实习了。后续我秋招的时候想要直通车终面,直接被简历挂掉了。。幸好后续被别的部门再次内推,重新走流程拿到了offer。所以建议大家还是秋招老老实实重新走校招流程吧。
建议大家整理一个云文档,记录自己的秋招进展,每天更新进度看看,提高自己的投递效率,例如我的云文档
实习经历
我在字节主要负责推送业务。一开始一个月我在熟悉系统架构、推荐流程,进行新人串讲。6月份和7月份我做了一个偏工程类的小项目,成功做出收益并且上线头条。但是作为算法实习生我还是想做一些模型上的工作,因此7月底我向mentor提出想做模型上的工作。而后8月份-9月初我一直在不断尝试模型的改进,但是收效一般。在此期间我不断和mentor和leader进行交流,leader表示这个问题确实很难,而mentor不负责这一部分的模型(组里负责这块模型的人已离职),因此也给不到我意见。但是,我仍然不服输,想要做出自己的成绩,并且尝试转正。在九月时我做出了一些效果,问leader转正可能性,leader说hc紧张,只能优中选优(我想此时他可能已经决定了)。九月中旬我把自己的转正答辩初稿给leader看,他表示这些产出不能够转正。然而,九月底我还是进行了答辩,即使有上线的项目,但是最终仍然不通过。最终我打算跨部门转正,最终还是以失败告终(已经有了本部门转正失败的黑历史之后就很难跨部门转正了)。
可以想象,我的实习心情从一开始的斗志满满,到中期的瓶颈,最后怀疑自我。我以前就听说,在字节可以快速成长,却没想到自己是以这样的方式成长。总结一下我的实习,自身也好部门也好公司也好,有一些点我觉得很遗憾:
- 思考问题的深度不够:由于自己水平有限,并且刚接触推荐算法(之前在做nlp),在模型这块我做的工作大多数是多方向的尝试,摸着石头过河,思考问题过于简单吗,因此收效一般,在转正答辩中leader表示我并没有在一个地方深挖,没有把这个故事圆起来,这是我转正失败的一大原因。
- 和mentor的交流不足:我的mentor性格内向,我虽然一开始很想找话题和他聊,拉近关系,但他反应也一般。在工作中我多次想多请教他问题,但他大部分都在参加各种会议,而且回答我的问题也不耐烦。有一次我想问问题,他语气有些不好,表示要自己先想想再问问题,我明白是自己问的问题很愚蠢了,但是这导致我后来只能局限性地自己想idea,不敢问问题了,没办法把idea做深。后来mentor请假去度蜜月、拍婚照了,整整两周我只能自己攻坚模型。虽然我也有看文档、问组里其他同事情况,但是整体来讲我作为一个推荐小白,还是对自己过于自信,很多工程上的trick还是要多交流。
- 公司对实习生过于放养:早就听闻字节对实习生放养,但是这种mentor和leader都不亲的感觉太强烈了。首先,字节对于暑期实习生并没有视作是公司的转正优先批次,秋招时并没有优先考虑实习生,只是一个普通的打工人。一开始和leader问了下转正情况,他表示基本上不出大问题就肯定可以转正,然而随着下半年去肥增瘦政策的影响,当我九月初再去询问leader的情况的时候,leader却说hc紧张了,这种前后不一致的说法令人心寒。其次,做项目时mentor和leader给到的帮助比较有限,比如说我做的推荐模型的项目,mentor不熟悉那一块的模型代码,只是说有这么一个方向可以去做,然而并没有明确的问题和方法论指导,这就导致我后面只能摸着石头过河,成长有限。最后,leader和hr还会给实习生安排一些杂活,比如说帮助找顶会论文作者联系方式以及内推实验室里的优秀学长学姐(目的是找他们来当正式员工,而作为实习生的我只能被人脉。。)
总结来看,我的实习经历是比较曲折的,而这一方面是我不够卷,思考问题不深刻,或者说做事情不够字节范;一方面是字节对实习生并不够重视,大环境之下HC紧张所导致的。所以还是建议大家选择实习时除了公司名声外一定要多了解团队氛围,带你的mentor和leader是否足够重视实习生。此外,一定不要all in实习转正,也要多去看看外面的好机会。如果本部门转正没有希望的话,最好还是辞职以校招生的身份进行秋招,否则尝试实习转正或者跨部门转正也是没有希望的,因为一个部门要不要你其实全看leader要不要你,其他的交叉面试官并不重要,因此如果你的leader不肯要你,那你怎么做都是没有希望的,不如从头再来。虽然我的leader最后说的是如果放去年我肯定转正了,但我想这只是安慰我的方式罢了,最终是我的工作成果没得到leader的认可。
笔试
首先,几乎每个公司都会要求笔试,而不同公司的笔试范围都不大相同,因此大家笔试的时候一定要摆正心态,笔试有很多难题也很正常,而且笔试只占整体的很小部分,大部分看的是简历和学历。我有些笔试AK了也没有面试,而有些笔试只做出了一题却给了面试,所以说非常玄学。
一般来说,笔试的整体难度要高于leetcode的medium,偶尔会有hard(一般不在我的准备范围内),很大部分会用到动态规划、DFS、并查集的知识,建议大家集中学习中等难度的题目以及动态规划(非常重要)的题目,一般最后一题如果像我一样做题水平不太够的就摆烂吧。
有些公司甚至会用难题劝退候选人,例如网易雷火的用户画像岗,我当时做的笔试极其恶心,涉及超难的算法题,甚至手撕建立一个CNN网络。。真的很无语。。不想招人请直说。
面试
互联网的面试内容大多是问实习项目or校内项目or论文,可能会问一些基础八股,再加一道手撕算法题,以及最后的反问。而券商银行的面试大多只问项目。
在项目准备方面,建议大家在准备面试的时候可以用文档复述一下自己的项目,把自己的项目彻底梳理一遍。另外,一个项目不同的面试官可能会从不同的角度问各种各样的问题,所以一定要及时复盘,也用文档记录下可能会问到的问题,并且做一定的回答准备。本质上,准备项目是一个“说故事”的过程,你的项目一定要有亮点,并且有开头有结尾,有数据支撑也有最终结论,这样面试官才会认为你做的项目有深度也有效果。因此,不妨在准备项目的时候设计一些套路,将项目分为动机、数据分析、尝试、实验结果、复盘反思等环节,从而使你的项目有逻辑性,也有吸引力。此外,项目涉及到的知识点一定要是自己非常熟悉的,如果在这些知识点上被问倒的话是非常可能被面试官一票否决的,因此项目里没有的东西千万不要编,这是自掘坟墓。最后,说项目的时候也要尽量简洁明了,不要以为说项目的时间多了,后面问八股的时间就会变少。其实反而是多说多错,很容易被面试官抓住细节问个不停。
在基础八股方面,建议大家读一读《百面机器学习》以及邱锡鹏老师的《神经网络与深度学习》,这是两本机器学习和深度学习的经典书籍,而且解释非常的浅显易懂。我就是靠这两本书准备的基础知识,基本上都能应付过来。由于算法涉及到的知识点非常多,因此很有可能有些八股会没有准备好,这个时候千万不要停止思考,可以说下自己的思路和猜想,给面试官留下“虽然这方面我不太擅长,但我有举一反三、推理归纳的思维能力”这样子的好印象。此外,大家也可以在文档里准备一下高频问题,整理答题思路,例如这样:
在手撕算法方面,一般问到的题目都是leetcode原题,例如编辑距离、查找旋转数组等等。这个时候首先明确题干,问面试官问题了解清楚所要解决的题目是什么,然后要说清楚自己的思路,最后再慢慢写代码,确保一次性写对不出错。也有一些公司会故意出一些难题,比如说字节就经常出hard题,这个时候也不要惊慌,说清楚思路慢慢写,即使最后写不出来也没关系,让面试官知道你有清晰的算法思维即可。
我在找暑期实习的时候,字节就连出了两道hard题,虽然我都没做出但还是给我了offer。
最后的反问环节其实是给自己的加分环节,可以根据不同的面试官问不同的问题:
如果是技术面试官可以问
- 面试官您负责的具体业务?
- 作为校招生,哪些能力和品质是面试官您比较看重的?
- 这个岗位我入职后的核心工作有哪些?希望我有哪些产出?
- 面试官您为什么选择在(某公司)工作?
如果是HR可以问
- 部门的团队规模和分工是如何的?工作氛围如何?
- 公司的人才培养与晋升制度是怎样的?
反问可以体现出,我是认真考虑加入贵公司的,而且我也比较看重在面试中的学习和成长,这样给面试官留下一个积极向上、乐于学习、善于思考的候选人画像。
另外,HR面也有一些经典问题可以准备,比如说个人职业规划、如何沟通、项目中面临的最大困难和解决方法、自身的优点和缺点等等,这些问题的回答套路网上非常多,大家可以也可以刷小红书参考。
公司红黑榜
根据我个人秋招经历,我列出了对我而言的公司红黑榜,仅供参考哈:
黑榜:秋招前期望向往,秋招时不尊重候选人
- 虾皮:全部停招+裁员,直接给感谢信。
- 小红书:面试官很好,HR不尊重候选人,非常有问题。前期很顺利到二面,问HR后续推进,一开始说会安排三面。过一个月后再次询问,HR直接已读不回,我请内推人问HR结果,HR也是已读不回。
- 微软:秋招前宣传很好,之后直接停招,HC几乎全部留给暑期实习生。(那我做你的笔试干嘛呢)
- 华为:HR无限保温电话,大家都是池子里的鱼,本来说这周发offer,结果到现在仍然没有确切的发offer消息。
- OPPO:HR面已完成了两个月,仍无消息,而且也没有HR联系方式,一直被养鱼。。
- 小米:面试官很不专业,一看就是在套我的实习的工作方案,不断地在记录东西,然后也不反问一些有价值的问题,我被KPI了。
红榜:秋招体验很好
- 美团:面试官都很专业,并且在排序挂之后HR面也特意来告知原因,看得出公司看重人才。
- 拼多多:面试官都很nice,并且不多说废话的推进流程,非常顺畅。
- 蚂蚁:一面面试官特别好,详细地和我讲了他们的业务整整十分钟,感受到自己被重视。
- 华泰证券:面试官专业,推进流程井然有序。
- 阿里巴巴:一面面试官详细和我介绍本部门的业务,特别专业。二面面试官是个大佬,但是非常亲近人,面完后还主动加微信保持联系,夸夸。
总的来说,我的秋招经历从一开始的字节转正失败、小红书二面后杳无音讯,美团排序挂,心情绝望,自我怀疑,焦虑失眠,到后面收到第一个阿里offer,后续收获蚂蚁、拼多多offer,可以说是逐渐救赎、环境明朗的过程。我想感谢一下我的女朋友,是她在我转正失败和面试排序挂的时候给予我很大的鼓励和支持,告诉我坚持就是胜利,要相信自己的实力。希望大家相信,在现在这种恶劣的就业环境下,很多情况下自己没有拿到offer其实是环境因素(换到去年秋招的话就是乱杀),而不是对自我的否定。最近随着疫情放开,也有很多公司开始补招了。要珍惜每一轮面试的机会,并且相信最后终会如愿。
人生没有彼岸,一关接着一关,这关有点难,就接着过下关,祝大家都能找到满意的offer!
#关于秋招我想说##你的秋招进展怎么样了##如何看待2023届秋招##0offer是寒冬太冷还是我太菜##实习与准备秋招该如何平衡#