来源:Datawhale 作者:W同学,Datawhale优秀学习者
写在前面
大家好,我是西交W同学,本硕都非计算机科班,2023春季找暑期实习的时候收获了还不错的结果,拿到了阿里,百度,米哈游在内的几家互联网大小厂的offer,最终决定去和阿里进行暑期实习,大家分享一下我的心得体会。
相比于其他人,我的准备时间开始的比较晚,是在2月份左右才彻底放弃读博的打算,开始全身心投入到找工作的大军里的,一切与找工作相关的准备也是从那个时候开始的。所以从应试和速成的角度,确实有一些可以分享的干货和心得。但在长期的积累方面,我也做的远远不够,会提出一些方向,我与大家一起努力。这个经验贴主要会分为两个部分,知识干货和心得分享。
知识干货
在很多场面试中,面试官都透露出一个信息,就是实习面试的要求会比秋招面试低很多,比如场景题回答得很浅显,有的面试官会表示没事,毕竟你们在学校也接触不到,比如力扣没有手撕出来,有的面试官会表示这道题对实习生来说确实有些难了,所以同学们在准备的时候不要有太大压力,把自己简历上的内容复习完了就开始投递吧,ML/DL的内容是学不完的,边面边学,甚至做好终身学习的准备。
所以基于上述内容,我认为下面的三个干货中,最重要的是干货1,就是基础知识点的掌握,干货2和干货3只能说作为加分项或者和面试官侃大山的一些资料。
干货1:打铁仍需自身硬
想要求职算法实习,这里是第一处需要关注的地方。算法面试有一些相当高频的问题,所以有一些知识是一定要掌握的,包括但不限于写到简历里的项目,机器学习和深度学习方面的八股,考察对实际业务理解能力的场景题,力扣代码题。
下面罗列一些经常问到的知识点和一些推荐的资料:
机器学习知识:过拟合,欠拟合,优化器,特征工程,评价指标,常见ML算法(分类/回归/降度),经常会被问到的模型有GBDT,XGBoost,会问到它们的算法原理,建树过程,优缺点,改进方法等内容。这里推荐百面机器学习,牛客网算法工程师题库,统计学习方法。
深度学习知识:具体考查的内容跟面试的岗位有关,推广搜就会问双塔模型,单目标DIN,DIEN,多目标MMOE,ESSM这些模型。大体上来说会考察一些基础DL模型,比如CNN,RNN,LSTM,也会考察Attention,Transformer,RL这些内容,问一些网络模型,反向传播,实习的面试不会太难,最多是手写一下LR的损失函数和梯度,但我在别人面经上看到,校招的时候好像难度会提高到手写SVM和CNN,推荐去看一下百面深度学习和你所面试岗位领域内的经典论文。
场景题:会问一些和实际业务有关的问题,比如ab测试,线上线下不一致的原因,有的时候面试官也会和你描述一下他们现在正在解决的问题,让你提供一些思路和解决方案,来考察(白嫖)一下你,推荐咱们Datawhale的fun-rec开源教程。
力扣:手撕代码基本已成为每场面试的保留曲目,也是衡量面试是否通过的依据之一。可以按照tag分类,套路分类,高频题榜单这些来刷,算法岗的力扣不会太难,会在medium左右,按照上面的方法大概刷150-200道左右,手撕就没有太大问题。
这里建议大家在准备的时候不要光自己弄懂一个模型,要尝试去把知识点复述出来,因为是线上视频面试,是不能真正拿一张白纸给面试官手推这些模型的,要么是写伪代码,要么是口述,所以思路清晰,详略得当相当的重要,如回答XGBoost的时候,先把和基于残差建树,贪心这两点回答出来,后续再看情况或者跟着面试官的提问把二阶taylor展开,损失函数这些东西补充出来。
干货2:关注前沿技术分享
能跟踪业界前沿技术也是一个算法工程师应具备的能力,从实习面试的角度来说,面试官会希望一个理解他现在所做事情的实习生,可以在进来之后帮他分担一些任务,所以他在面试的时候也会就自己正在做的东西进行提问,因为这也是他最了解的知识,作为实习生的我们也有必要去关注一些业界正在做的事情。
我了解到的有美团技术分享(pdf手册),淘宝人技术分享(pdf手册),小红书技术分享(b站视频)。业界整体大方向是搜推一体化,不同模态一体化,粗排精排一体化,大模型,这里值得提一下,有的部门开始做一些大模型方向的尝试,所以也会问chatgpt的四个步骤。
干货3:关注模型之间的发展脉络
这也是考察的一个点之一,就是模型的发展轨迹。多目标的几个模型,hard-parm-sharing,到mmoe,到ple,到esmm,到esm2,为什么要这么优化,在实际的业务中,每次优化都是为了解决一些问题的,或者实际使用中,平行的两个模型之间孰优孰劣。
这些问题的难度比较高,也是开放问题,是一个面试者和被面人相互探讨的过程,如果这些问题回答得不错,面试官可能就会觉得你还挺了解业务全貌的,会有很高的加分。
心得分享
心得1:多投多面
每一场面试都有很多不确定的成分,比如和面试官是否聊得来,部门是否还有hc,以及是否和岗位是否匹配。不确定性永远无法消除,寻求确定性的办法就是多投多面,把时间花在不同的公司上,把鸡蛋放在不同的篮子里。
心得2:面试过程主动沟通
面试的重点是人岗匹配,核心就是自我展示,主动和面试官沟通不仅会让他更了解你的技术水平,也会让他认为之后和你可以顺利地开展工作。尽量要避免一问一答的形式,但注意不是通过抢话来做到,而是通过适当的补充和举例子。比如面试官问你a问题,你回答不上来,但你可以说你之前了解过比较相关的b问题,它的思路是什么什么,扬长避短呗。
心得3:做好打持久战的准备
面试流程一般都比较拖拉,少数能在一周内解决战斗的都算快,这段时间保持好自己的节奏,该吃吃该睡睡该运动运动。如果结果不够好,一定是因为没有到达最后的重点,再坚持坚持,一碗朴素的鸡汤送给大家。
希望读完本文的人能有所收获
致谢
最后感谢一下Datawhale就业小组的小四哥和然哥哈,我在2023年3月12号参加了Datawhale组织的模拟面试,没有问枯燥乏味的八股,而是结合面试者自身背景提出了对应的问题,让我在正式开始面试前意识到了很多问题,向他们致以真诚的感谢。
往期精彩回顾
适合初学者入门人工智能的路线及资料下载(图文+视频)机器学习入门系列下载机器学习及深度学习笔记等资料打印《统计学习方法》的代码复现专辑机器学习交流qq群955171419,加入微信群请扫码