2020秋招:算法工程师的升级打怪之旅_笔经面经

关注
2020秋招:算法工程师的升级打怪之旅_笔经面经www.shan-machinery.com 211本985硕科班,秋招最终选择了鹅厂,是某业务部门算法组的计算机视觉算法工程师。 走出新手村 无论文无竞赛的我,在孤寂彷徨的春天,转动起救赎的齿轮。 2020.02 论文:0     竞赛:0    项目:1    实习:0    LeetCode: Easy+    领域知识:差    特殊技能:无 由于自己毫无战斗力,我便开始新手村练级。练功先内功,算法门派的内功就两点,手撕代码,和领域知识。手撕代码很直接,刷LeetCode就完事了(在牛客网推荐Leetcode有点牛头人的感觉);在领域知识方面,孙子有云,“凡战者,以正合,以奇胜”。正,便是基础的领域知识,计算机视觉中便是经典模型如ResNet、YOLO、Faster RCNN。奇,便是自己独到的见解,我喜欢看看最新论文并且做点总结,这个习惯在后续的面试中屡见奇效。经过一个月的修炼,个人能力有了一丢丢的进步:可以手撕LeetCode一部分中等题,可以说清楚ResNet的结构。 2020.03 论文:0     竞赛:0    项目:1    实习:0    LeetCode: Easy ++    领域知识:中    特殊技能:无 人总是要走出新手村的,我拿着村里最好的剑,开始接任务(找实习)。当时的我也没啥渠道,天天在知乎、朋友圈、牛客网、官网找实习消息。初生牛犊不怕虎。我投了腾讯优图、阿里达摩院、字节AI Lab、华为2012、网易伏羲、商汤旷视快手之类的一堆公司算法岗。我第一次面试是阿里的机器学习岗,由于不太对口,磕磕绊绊,最终失败,不过经验值+1。多次面试后,我的经验值疯狂增长,觉醒特殊技能“谈笑风生”。在我第5次面试时,我已经可以和面试官讲笑话以调节面试氛围🤣。 2020.04 论文:0     竞赛:0    项目:1    实习:0    LeetCode: Mid    领域知识:中    特殊技能:谈笑风生 经历了10场左右的面试,我收获了三个实习offer,最终选择了腾讯优图,至此,走出新手村! 简单回顾一下,这个春天,我定下找算法实习的目标之后,花了差不多一个月准备手撕代码和领域知识,然后从3月份就开始面试,收到6家公司的面试邀请,陆续面试十几场,最终收获三个实习offer。有着几点需要注意: 1. 实习招聘并没有一个开始时间,很多公司常年招聘,招满为止,所以要先下手为强。 2. 实习招聘流程往往不正规,口头offer可能会被毁约,拿到正式offer才能放心。 上任鹅城新手村的萧瑟之春,已然结束,我带着全村人的希望,走向了鹅城,为最后战胜“秋沼”中的boss而努力打怪升级。

地图加载中...勇者传送中...勇者沉迷鹅城不能自拔...

言归正传,优图实验室的实习体验非常棒,我的导师斌哥非常nice,给我一个在实际应用和学术研究都非常有意义的课题,经常与我一起讨论idea,改bug(最终没做完,我太菜了.jpg)。此外,公司福利也很棒,食堂赞不绝口,以至于设施完善的健身房也压不住我体重增长。实习了差不多三个月,感觉自己变强了(也变秃了)。

这期间,实验室大佬的paper中了,我有幸在末尾挂了个名,很惭愧,只做了一点微小的工作,写在简历上,闷声大发财。 2020.08 论文:0.5     竞赛:0    项目:1    实习:1    LeetCode: Mid    领域知识:良    特殊技能:谈笑风生、闷声大发财 秋日大决战鹅城虽好,我也只是过客,前面的秋沼,才是决战之地。

说是秋招,字节的秋招提前批6月份就开始了,我的秋招第一面在6月末,我还在工位上呼哧呼哧的敲着代码看着论文,就开始面试了。果不其然,代码题没有写出来,知识点没有讲清楚,一轮游。正式准备大概是七月末,那段时间下班后就刷刷LeetCode,维持战斗力。之后就是疯狂的面试,八月份我面试了18场,整个秋招大概面试了30场。面试越多越熟练,甚至开始享受面试的刺激感。

这里解释几个名词:

HC:headcount,该公司/部门本年度的招聘人数; 意向书:通过面试后,会先发放官方的录用意向书,一般只包含岗位,不包含薪资,属于“预录取”; offer:正式的录用证明,一般包含薪水; SP:special offer,通俗说就是钱多点。 一般的流程:面试通过,HR确认有HC,发放意向书,等到校方开通三方协议签约流程后,发放带薪offer。我从整个秋招流程上提一点建议:1. 留意提前批信息,先下手为强,从本人经验看,提前批多为sp;2. 先面试一到两家中小型公司,拿offer保底。但是保底意向书不要拿太多,撕意向书也败人品; 3. 即使面试失败,也要关注该公司日后的招聘信息,可能有补招。 算法工程师练级指南编程能力不负责任的列一下: BAT核心部门算法:LeetCode mid > 300, hard > 100 BAT算法:LeetCode mid > 200 一线互联网公司算法: LeetCode mid > 100 公司之间很难比较,部门之间千差万别,我只是提了一个很不严谨的标准,大家可以当作自己的刷题小目标。我本人是从二三月份就开始刷题的,前期一天一题,周末参加一下周赛。我比较推荐同学们参加LeetCode周赛,因为限时提交、错误罚时的特性和面试非常相似。如果周赛稳定AC前三题(1easy+2mid),手撕代码就算OK了。领域知识 作为一名准计算机视觉算法工程师,主要做检测分割方向,我简单谈谈这个领域如何备战面试:1. 经典CNN模型,VGG,ResNet,MobileNet,HRNet;2. 目标检测领域,YOLOv12345,Faster RCNN,FCOS;3. 语义分割,FCN,DeepLabv123,PSPNet;4. 损失函数,BCE,MSE, IOU loss,Focal loss;5. 评估指标,accuracy,recall,mAP,mIoU;6.  Transformers in CV,ViT,DETR,SETR;

这些都是很基础的知识,但是如果抠细节,还是会难倒很多人。举个例子,比如我被问到Focal loss的公式,自信满满的写出来了,结果面试官追问“那focal loss(RetinaNet)网络初始化要注意些什么?”,我就不知道了,后来细看论文才发现网络初始化还有点trick。那如何判断自己复习是否完备呢?很简单,问问神奇海螺(划掉),多参加面试,面试的结果才能评定复习的成果。

https://www.shan-machinery.com