作者 | 刘壮 整理 | NewBeenLP

https://zhuanlan.zhihu.com/p/537028803

大家好,这里是NewBeeNLP。22年开始互联网就业氛围好像就开始寒气逼人,不断有毕业、毁offer的报道出现。今天分享一位博士师兄的面试找工作经验,他面了8家大厂并且最终都拿到了offer,希望对后面找工作的朋友有帮助。

我找的是 CV/DL方向美国Research Scientist 的岗位。根据我的了解,Research Scientist主要是做研究的地方有FAIR, Google Research, MSR, NVIDA Research, Snap Research, OpenAI, DeepMind, 其他的地方除了一些较小范围的组,可能有更多的工程或者产品上的工作职责;但是划分也不是绝对的,而且同一个组每个人可能也不一样。我投的是前一种为主,但是面试下来两种的形式是基本共通的。

下面我抛开具体公司的流程,按照环节来总结一下整个过程中的经验。

投简历

根据我的经历和听闻,RS的招聘一般都是面试前先具体定位到组:你想加入对方组,对方组的manager也觉得你的背景比较适合他们组,才会安排面试。一般不会是先通过公司层面的面试,再去匹配组。当然如果是多个组对你都感兴趣,可以协调安排一起面,通过之后会再有一个匹配组的过程。

简历在公司官网海投的效果不太好 ,尤其是大公司。找人推到公司内部的内推系统这种,也不推荐;因为这种情况一般不会匹配到组,可能很久之后才有人会看到你的简历。我有非常厉害的同学,因为只是找了一般的公司系统内推,而没有拿到面试。

对于真正考虑去的地方,建议先定位想要去的那个组,然后通过组里面或者临近的组里面认识的朋友师兄师姐来向manager推荐。这样可以保证对方manager能看到你的简历,而且对manager来说,有人推荐的一般比去打捞简历靠谱很多。

我非常幸运,很多朋友和前辈在这里帮助了我非常多。我通过这种方法投的基本都拿到了面试,官网海投的大部分没有音信。根据我过往的经历,PhD找实习面试也是一样的道理,通过官网之外的渠道找靠谱一些。

通过这种方法投了,但是如果对方没有招人名额的话那肯定也是不行了。20-21两年疫情严重的时候这个就是个问题,21年末/22年初的市场貌似开放了很多名额,很多组都在招不少人,但是22年下半年似乎情况又急转直下了。

如果有名额,给面试的可能性看研究方向和成果。一般来说成果没有办法短时间优化,所以找工作肯定是越合适的组成功几率越高。但也不是一定要求小方向上严格匹配,尤其是在做研究自由比较大的组和公司。有时候一些我以为并不是竞争特别激烈的非头部大厂,但是实际上他们需要的方向和技能并不匹配我的,我就没有收到消息或者面试。

关于研究成果,理想情况是对方听说过或者读过你的工作;我就听说有人文章很少,但是有一个工作非常牛,然后找到很好的研究岗位的。数量质量兼备可能是理想情况,这样从manager和公司角度来说,你既能保持效率,又有机会搞大新闻。如果简历关顺利通过,就到了面试环节,下面按照几种面试种类分类来说。

电话面 (0-1场)

英文"Phone Screen",一般半个小时,是看到简历觉得ok,但是onsite面的成本太高,所以需要通过电话面来刷掉一些人。一般是简单了解下你的研究背景,也有的公司是其他的形式,比如很短的一个presentation,也有少部分很简单的coding的。

过了电话面就进入所谓onsite,一般是5-10个面试安排在同一天或者有时候在相邻的两天。虽然叫onsite,但是历史原因了,现在为了方便都是远程面。下面介绍的都是onsite面试中不同的内容。

Research talk (1场)

onsite当天第一场,一般是45分钟的research presentation,加上10-15分钟问答时间。这个某种程度上可以给onsite的一天定调,如果讲的效果比较好的话,应该对后面的面试会有帮助。一般后面要面试你的人会去视频会议里直接看。大部分情况下都被录像了,后面在公司内部会公开被更多感兴趣的人听到。

大概要做的就把自己过往的重点工作用一条主线串起来,讲一个好的、能被听众听懂的故事。不需要用到所有的工作;我认为一般重点讲的不超过3个工作,太多了可能会显得没有重点。我认识的有两个同学都是只重点讲了一个最近的工作,然后拿到了非常好的offer。

网上有很多如何做好research talk的教程和建议,我也参考了很多。但是我的准备也是有一个问题,就是没有把讲的过程练习到很流利。这部分准备的时间取决于之前的材料有多全,有些同学就是把之前做的就很好的PPT拼接起来。每次讲完,我也会看看有没有什么可以改进的地方。

research talk虽然很多公司是不会显式打分的,但是应该是所有面试中比较重要的一环。

Coding面 (1-2场)

Leetcode类型的coding题,其实没有我想的考的那么多,平均每个公司不到一题。我没有被考超过Leetcode中等难度的题;就算是中等,也是其中比较简单的。

所谓的AI coding可能更多一些,就是numpy, pytorch或者是ml/cv的一些基本操作(比如nms, iou, filtering, tensor操作,但没有手写back-propagation这种)。这个因公司而异,有个别公司从头到尾一道coding题都没考。

我以前没有搞过信息学竞赛,大概准备Leetcode类型题我花了一个月左右的时间。我买了个Leetcode会员,刷了可能200道左右Leetcode简单和中等的题 (看到自己账号2014年大一大二刚注册的时候就刷了几道困难题,还在论坛上和别人发过帖讨论,有点感叹自己老了)。每一个基本的考点,比如DFS, BFS, DP, 链表等等,都至少做了几道题。比较熟练之后,不用做到每个练习题都写完整,想出思路即可,可能我在这里又看了100道题。

coding面也是有技巧的,比如如何在不会做的情况下做出一些分析,让面试官给你一些提示,等等,网上也有很多教程。可以对着公司的常见题刷,好像出现重复题的概率还是挺高的,我在Meta前几次实习面试就被一直问同一道题。

当然这里我说的主要是偏研究岗位的;如果是偏工程的岗位的话,coding肯定是会更多,或者可能全部是coding,可能难度也会更高。

ML/Math(0-1场)

有一些公司会考一些机器学习基础知识。比如解释overfitting的定义,如何判断overfitting了,Adam和SGD的区别。还有一些大一的数学知识,比如矩阵的特征值分解,如何判断正定,泰勒展开,梯度,导数相关的知识点等等。不是很多,大概有三分之一的公司考了,一般不会太难,稍微复习一下应该就能比较好地应对。没有手推SVM这种。

Research面(2场或者更多,有的6,7场也是有可能)

这个大家找过实习的应该都会面的。总结介绍一下自己的过去的研究,挑出一两个重点讲一下,自己做了哪些贡献。常见问题有:

  • 对自己过往的工作回过头来怎么看,还有哪些地方可以改进的;

  • 将来打算做什么方向;对某个小领域做个简单的概括/怎么看;

  • 我想做一个东西能不能这样做,可能出现什么问题;

  • 做一个东西总是做不好,有可能是哪些问题等等。

也有那种设计问题,给你一个场景,问你怎么开始解决这个ML的问题,设计系统,一般是从如何整个pipeline角度来说,收集划分数据,设定metric等等。

也有那种问一个题目,看看你有什么思路,有些就是他们工作中碰到的问题。

Research面可能是面试的主体部分,应该占了所有比例的一半以上,所以得做好多次重复说一样的内容的准备。也有很多面试官会在这个环节中留很多时间让你提问,或者介绍他们组的情况。

如果你本来就认识面试官,在这一关有可能也没有太多严格的考察内容,都是在聊天,或者给你介绍他们组的情况。这轮如果面试完了,对方觉得从你这学到一些新的视角或者insight,那可能是最好的。也有Research面和coding面混合的,前半部分Research后半部分coding.

Behavior面(0-1场)

问一些过往的经历/场景,你的处理方法,学到什么,想看一看你工作中的性格品质。比如介绍一个工作中和别人意见不同的情况,以及最后是怎么解决的。

有些公司是有专门的一场面这个,有些是在其他面试中穿插着的,也有不面这个的。这个部分也需要准备一下,参见网上很多教程。准备过程基本上是,回想一些过去工作学习中发生的一些有趣的经历做为素材,然后可以应对不同的问题做为答案。

虽然我准备了,但是发现很多时候还是即兴回答的。一般人可能很难面的很差,当然想出彩应该也比较难。这个按照亚马逊的标准来准备,应对其他的就比较简单了。

补充

每一家公司面试的方式和轮数不同,但是research talk和research interview一定是有的,我的理解也是在其他几项过关的情况下,对方比较看重的。不同的公司面试也不一样,这个在拿到onsite面试之后,有些公司会和你介绍面试大概面什么,前期总体准备来说不太需要具体到每个公司。

最后分享一些自己的经历。我完整面完了8家公司的onsite,并且都集中在2022年3月。这期间平均每天(周末除外)大概有3-4场面试/talk;强度最高的一次,是上午8点面到下午5点,每两场中间15-30分钟休息。正式的面试就有七八十个单场,所有面试和交谈加一起远超100场。

当然你也可以选择,拿了想要的offer后就退出这个游戏,然后专心休息或者做其他事情。但是我刚开始一方面是为了求稳,一方面也是因为确实投的地方都考虑去,就安排的比较多,虽然很累也很有收获。最后给了onsite的这8家公司都拿到了offer。还有少量一些没到onsite就结束了的:有简历拒,有电话面后告诉我没有名额,也有过了电话面和coding笔试,但没给后续的面试。剩下的还有不少海投简历的没音信。这些我大多也觉得不是特别match,否则就会试着找人推来投了。

面试过程中感觉到,很多地方都是很好的机会,学到了很多东西,也认识了很多新的朋友、同行和前辈,manager也都人非常好,很多组说可以给自由选择工作内容的空间。纠结了很久,最终还是决定去FAIR,部分也是因为我在FAIR实习过,从适应环境上来说风险相对低,内部工具的使用上也会比较容易延续。在此做一下记录,网上找research scientist岗位的经历分享相对较少,不希望自己以后淡忘了这段找工作经历,也希望可以帮到后面毕业找工作的同学们,国内找工作的同学也欢迎参考。

【转载须取得作者本人同意,谢谢阅读】

一起交流

想和你一起学习进步!『NewBeeNLP』目前已经建立了多个不同方向交流群(机器学习 / 深度学习 / 自然语言处理 / 搜索推荐 / 图网络 / 面试交流 / 等),名额有限,赶紧添加下方微信加入一起讨论交流吧!(注意一定o要备注信息才能通过)

美国CS PhD找工作经验总结相关推荐

  1. 找工作经验——EE Master 找CS工作总结

    下文为转载,方便自己查看. 写在前面的话: 这周签的OFFER,心情终于恢复了平静,是时候写写总结做出贡献了.我所有degree都是EE,但是找的是CS的工作,这个过程需要时间,而且也充满着艰辛.希望 ...

  2. 找工作经验之——准备工作

    在说说找工作前需要准备的东西吧,仅供参考,希望大家可以找到适合自己的方式,那才是最好的! 准备工作:     一般的招聘流程就是投递简历,经过筛选后笔试,面试.面试一般分为技术面(又细分成技能考察,项 ...

  3. 找工作经验贴----转自cc98 (作者ID:qzz88 ) 仅为收藏,感谢原作者的经验分享

    原帖地址:http://www.cc98.org/dispbbs.asp?BoardID=248&id=3813130&page=&replyID=3813130&st ...

  4. 算法工程师找工作经验

    总体流程:简单介绍下自己.各个公司面经.总结.薪资 1.简单介绍 面试岗位:机器学习 | 数据挖掘 | 算法工程师 | 基础研究 比赛经历:天池比赛Top 10,滴滴算法大赛Top 5,京东算法大赛T ...

  5. 找工作经验分享贴——硬件岗求职历程

    秋招经验分享贴--硬件求职历程 2021年的秋招已经正式结束了,最近看到很多公司的春招已经如火如荼的开始了,甚至有些公司的2022年暑期实习生招聘也已经开始了. 去年的秋招经历的事情还是比较多的,获得 ...

  6. 美国计算机研究生找工作面试问题,美国名校工科硕士面试总结

    原标题:美国名校工科硕士面试总结 美国工科类专业硕士比如电子,计算机等,申请很少有面试环节.而近年来,也开始有个别学校开始增加面试环节.据不完全统计,今年高排名热门工科硕士有面试环节的学校项目有: 伯 ...

  7. 【转】无领导小组面试经验、银行应聘事项和其他找工作的经验

    第一部分  到目前为止我只参加过德邦.中国银行.招商银行的无领导小组面试.由于以前一直接触的是一问一答式的面试,而且第一次参加无领导小组面试后拿到了offer,所以对这种形式的面试并不是很上心.但是昨 ...

  8. 北理通信男找工作的经历及心得

    注:北理毕业的通信专业研究生写的,希望对大家也有所帮助. 找工作很久了,一直想写一写笔经面经,也给师弟师妹留下一些建议和忠告.但是工作没着落时没心思写,找到工作又懒得写.狠了狠心,却写出这么多字,看着 ...

  9. [BYR]找什么样的工作?——从找工作中的种种怪象说开去

    经历过去年的求职季,经历过其中的喜怒哀乐,也经历了其中的种种怪象.总想写点什么作为自己人生阶段的一个注脚,或为经验,或为反思.本来只想写给自己,但写着写着发现很多问题是具有普遍性的,我自己常常是在所反 ...

最新文章

  1. 【最新】docker 安装elasticsearch + kibana步骤【第二篇_kibana】
  2. 并发用户数的计算公式
  3. React应用渲染界面的入口
  4. 封装 axios 请求
  5. 磁盘管理之逻辑卷管理(Logical Volume Manager)
  6. 智能会议系统(23)---移动端视频通话开源软件比较
  7. python request 库传送formdata_Python Requests库 form-data 上传文件操作
  8. HDU2043 密码【密码】
  9. [译]Javascript中的mutators
  10. Maven生命周期详解及常用命令
  11. 男孩应该懂的,女孩应该懂的
  12. 罗技g402鼠标宏设置教程
  13. MySQL图形化管理工具
  14. AdventureWorks安装问题总结 exe安装
  15. CPU使用率和负载Load计算方法
  16. jQuery设置select的选中值
  17. 金士顿内存条真假测试软件,金士顿内存条真伪怎么看?金士顿内存条判别真伪的几种方法...
  18. 免费的IT类技术书籍大全
  19. 牛客寒假基础集训营 | Day1 G题—eli和字符串
  20. C++ 万年历 查找年、月、日、星期数以及节日等信息

热门文章

  1. 什么蓝牙耳机听歌音质好?好用音质蓝牙耳机
  2. RELRO (ReLocation Read-Only)保护纯新手入门(一)
  3. 数据库优化器浅析 - Cascades
  4. 使用opencv实现单目标定相机标定(摘抄)
  5. 管理分布式session的四种方式
  6. Redis_01_Redis的引入
  7. Cesium 视角跟随-第一人称视角漫游
  8. php redis消息订阅与发布_PHP实现redis订阅和发布(用于异步任务处理)
  9. 2019年图灵奖公布!从阿凡达到图灵奖,皮克斯元老的动画梦
  10. 程序员如何年入1000万,实现人生理想,走向人生巅峰!(史上最全)