本文转自其他平台,内容略有删改。作者:棒棒鸡不棒
24 届毕业的同学们马上也要开始投简历找实习了,不少同学觉得自己现在没有顶会不敢投算法岗,这里我就从去年自己找实习的经历来跟大家分享一下我的一些看法以及一些面经,希望能帮到大家少走弯路,早日拿到自己心仪的 offer。
那先简单介绍一下我的背景:
下面是正文:关于找实习,首先有几点是需要明确的。
第一个就是应聘的方向。 在准备投简历之前,我曾有过一段时间的纠结以后是要走算法方向还是走 C++ 后端方向,因此在这过程中也考虑了后端的实习机会,有空的时候我还跟着网上的资料学习了一些 C++ 手写服务器的教程,后来觉得后端需要准备的东西太多太繁琐了,而且找到后端方向的实习导师可能也不会让我们去,索性就 all in 算法了。那时我做了两段 AI 相关的项目,并且对一些基础深度学习知识也还算了解,所以还是有些底气的。大伙们可以根据自身的情况来决定选择什么方向,从面试官问的问题来看,给我的感觉是他们对工程能力的需求大于对顶会论文的需求,除非是纯做 research 的岗位,因此没有顶会论文的同学也不用怕,还是很有机会的。
第二点就是刷题。 笔试面试都会出算法题,所以 Leetcode 上的题目一定得做,我的经验是面试官一般出的比较多的是剑指 offer 里面的题目,刷题的时候可以优先刷这部分。我那会儿先刷了些剑指 offer 的题目然后就去看 labuladong 的专题了,边学边刷题,不过刷题的过程中我都会做笔记,包括思路、易错点之类的,因为同样的题目隔了一段时间再看的话可能就没有印象了,如果有做笔记的话就会很快记起来,并且这样也方便秋招再次复习。有些同学会认为一定要刷到多少题才去投简历,其实并不是的,刷题在于质量不在于数量,大体的算法框架搞的差不多懂了之后就可以直接冲了,边面试也可以边做题,不冲突的。
第三点就是制作简历。 我是用超级简历APP 这个网站做的,比较方便,其他的工具比如 LaTex 或者 Word 也是可以的,原则就是最好一页,页面尽量简洁,不要搞太花里胡哨的色块,并且主要是对面试官突出自己的亮点。除了个人信息、教育经历这些必备的板块以外,最需要认真撰写的就是项目/竞赛经历这块(有实习经历的朋友也要强调一下实习经历),要按照负责什么模块、用到什么技术栈解决什么问题、最终取得了什么样的效果来展开。其中,比较关键的就是需要利用量化的指标来衡量最终取得的效果,不要用模糊的术语来描述。
项目/竞赛经历按照时间由近到远排列,因为大部分面试官只感兴趣你在研究生期间做的事,我本科的竞赛基本上很少面试官问到过。如果自身有发表论文的话可以视篇幅来决定放在哪部分,如果项目/竞赛经历比较少或者没有的话可以将论文按照上述的点来展开说说,我写完项目/竞赛经历之后篇幅已经不太够了,所以就只放了个论文的题目放在论文&荣誉板块,面试官如果感兴趣的话会直接让你介绍一下论文。最重要的点,写上去的东西你一定得完全掌握,如果是那种一知半解的项目可能到时面试官问的深一点就答不出来了可能会减分,因此我建议写完简历之后好好把这些项目复盘一下,并且自己问问自己面试官可能会考察什么问题,提前预演一下。
另外,如果本身有写博客习惯或者 GitHub 有高 star 项目的,可以把博客或者 GitHub 链接放进简历,最好用超链接的形式,方便面试官直接点开。自我评价&掌握技能可以放在一个板块简介一下,吹嘘自己的话可以少说点,主要写掌握的技能,如果项目经历不够的话面试官可能会从这里考察一些基础知识。至于社团活动/学生工作我个人认为不用写进去,面试官一般不看,实在篇幅不够的话可以简单写一点。
第四点就是投递简历。 这个有多种途径,最直接的就是去企业官网投递,此外还有各种招聘软件.
关于投递顺序,这个得根据个人情况具体分析,我的话是不想出深圳实习的,所以我主要考虑的是学校附近的实习机会以及远程实习的机会,这样如果导师有事找的话也能很快回来。因此我会选择先面一下其他城市的公司积累经验,再去冲符合自己意向的公司。因为很多公司都只有一次投递的机会,挂了的话如果没人捞起来就与这家公司无缘了,所以要做好面试的准备。并且也可以根据自身情况设一个预期,比如拿到某某 offer 就停止找实习了,或者某某公司就算给你发 offer 你也 100% 不会去的就不用面试了,给双方都省点时间。
第五点就是面试&复盘。 面试的技巧也有很多,这里很难概括,不过建议大家可以准备一个 PPT 展示你的项目/竞赛/论文,这样比直接干讲会更加分,下面说一下面试完复盘的问题,最好就是列一个文档记录每一家公司笔试&面试的时间以及流程,然后每一面的问题都记录下来,有问到不会的问题就去网上搜索答案,很可能下一家公司的面试官也会问到同样的问题。所以有必要自己制作一份面经,不仅方便实习复盘,对秋招也很有帮助。下面是我实习时面试的一些公司的面经,希望能够帮助到大家:
3.23 一面
面试官是 nlp 方向的,所以确实对图像了解的并不多,整个过程几乎都是让我在介绍我的工作
主要是根据简历上面写的东西进行询问,要对自己写进简历的细节都了解清楚
面试官人很好,整个过程比较愉快,但是竞赛这一块感觉他没怎么太听懂,确实不太好描述,视频面试的话可以准备一些图片会好一点。
到这里就挖论文以及项目了
过了一天就跟我说二面过了,但是主管面想等我笔试做完再进行。
大概率无了,编程题第一题只拿了 83%,另外两道 0 分。(确实 G 了,问了面试官,只拿了 30 多分)
本来投的是 mmrazor 方向的算法研究员,后面给我分配到 mmdeploy 部门去面试了,问了一下说是算法没过筛,然后就面吧,虽然部署方向做的不多,但是还是有些兴趣的。
这次是OpenMMLab 社区 MMDeploy 方向的负责人来面我,主要是考察我在目标检测以及抠图项目中的一些模型部署情况。
原本以为已经稳了,没想到反手进了人才库,想不通为啥,觉得回答的都还行。。
地平线的面试官是目前遇到的水平最高的,上来只问了我目标检测的项目,并且延伸得很广,对底层的考察也非常多。
地平线公司主要都是在做业务,所以会很看重项目,这个面试官也基本在问我的项目情况
然后就是一些聊天,问业务,面试官就给我很系统地介绍了一下地平线做的智能驾驶相关业务,一个是车内感知,一个是车外感知,还有一个忘了。说我做的目标检测项目和车内感知很像,然后抠图项目他们也有在做,MODNet 他们也在用,而且改了很多结构,进行了很多减枝操作,总之 28 号面的两场都挺愉快的。
本来是不想面的,好像是去做文档 OCR 的,跟 HR 说了放弃但是没回复我,又已经答应面试了,就上了。整体体验十分差,HR 电话打不通,微信是假的,发信息也不回,浪费我一个小时.
主要就是问项目,大多数时间是我自己在讲,检测项目和 matting 都问了,估计看不懂论文就没问,然后做了两题,先让我讲思路,然后问我多久能做出来,然后他就走了,到时间过来,全程没有让我开摄像头,感觉面试官十分敷衍。
过了一个星期 hr 发信息给我说一面过了,约二面。。。不想面了
这个公司主要是做产品的,类似 AutoCAD 这种设计工具,听了面试官的介绍之后觉得还挺不错的,面试官的水平也挺牛的,出乎了我的意料。
这次是未来的 mentor 来面我,水平挺牛的,问的问题都很到点上。
三面 leader 面,群核科技 AI 部门负责人来面我,气场很足,问的问题十分戳到点子,让我感觉这家公司的水平真的挺不错的,很有好感。
这边招人主要是做图像生成 research 的,虽然没有相关经验,但是可以去蹭一波面试经验,面试官挺牛的,对 research 有自己独到的见解。
这次有两个面试官一起考察,上来直接做了两题,应该凉了
估计是招人去做移动端 APP 的,问了一堆移动端模型压缩的问题,几乎是没有研究过的领域。。。
好家伙,面试官周六晚上八点开始面,直接给我面了两个小时,十点结束,我人都傻了,不过可以看出来这个面试官涉猎很多方向,并且能很好地指出我项目中存在的问题,非常有经验。
这个面试官水平挺高的,但是很多东西问的太细了,有些答不上来,并且最后的题目也挺变态的,太麻了。
以为凉了,没想到竟然在 6 天之后收到了三面的消息!!!
HR 面了我 1.5 个小时,我看别人都是半个小时走个过场,怎么我面了这么久,一面我也面了两个小时,从来没见谁面过这么久。。这次是 hr 和另一个面试官一起面的,估计是 leader,但是全程都是 hr 在和我聊。问题实在太多了,这里就不写了,还有很多问题都记不得了,反正网上能找到的应该都问了 一遍,一个半小时底裤都被问没了,然后晚上看牛客很多同学都被 hr 挂了,然后我就很慌,还好后面过了
不知道啥时一面的了,也没有记录,当时面试官迟到了很久都没有进来,我向 HR 打电话也打了四五个才接,跟我说面试官可能忘记了,然后要去提醒他,我当时想着 MMLab 应该稳了,就直接跟 HR 说要不就不面了吧。然后过了一会儿面试官打电话过来说面试,我想着面就面吧。。问的很多还是移动端的东西。
然后过了两天就收到了 MMLab 的感谢信。。。
直接是 hr 面,hr 还迟到了,聊家常
进行了一次电话面试就直接拿到 offer 了,基本上就是对着我的简历进行提问,记录一些其他公司没有问过的问题
本来投的是 CV 岗,后来安排到 ieg 的游戏前沿部门去了,还是客户端开发,压根不熟的领域,然后面试官跟我说进去不是做开发的,看我有深度学习的背景就要了我的简历,进去为游戏业务做超分应用。面试官人很好,特别好说话,我回答不出来也一直说没关系没关系。主要是对 cpp 和 python 相关知识的考查。
基本全都答上来了,然后反手挂我,应该是 kpi 了
更多的就忘了,反正问了一个小时,没做题,他表示商汤更加注重学术,看我做了这么多项目工程能力应该也不错。总体来讲,面试体验中等偏下
以上就是我对找算法实习的一些看法和面经,通过面经可以看到,企业对于项目还是非常感兴趣的,大部分都会问的比较深入,这就需要我们在做项目的时候就认真对待每一个点。如果自身的项目含金量不是很高但是又想冲算法岗的话我建议可以去打一些高质量的比赛(kaggle、天池等),一方面可以让自己学的东西用在实践中,另一方面如果取得了好名次的话也是一个非常不错的加分项。
再次祝愿大家都能找到自己心仪的工作!