![13825820-a135ab6933a4f7b7.jpg](https://i-blog.csdnimg.cn/blog_migrate/eff9f863538d22b853aaab9f3d3d26ea.jpeg)
【导读】本文作者根据自己博士毕业后求职、面试的经历,从重要资源、公司、面试过程、薪资谈判等方面详细的介绍并分享了自我体会与经验。看完本文,你会对求职有一个深入的体会!
本文作者刚刚完成博士学位,并在所有大型深度学习会议(NIPS、ICML、ICLR)以及专门研究ML应用领域的期刊上发表过文章。其h指数在5-15之间,引文数量在500-1500之间。之前在FAANG AI研究实验室实习过,在过去几个月中,也面试过一些欧洲的人工智能公司。
本文就是作者根据自己求学和求职心路历程,对博士生求职AI岗位的经验分享。
本文将以作者的角度,从以下四个方面进行介绍:
重要资源
公司
面试流程
薪资谈判
重要资源
根据我的经验,几乎所有关于面试软件工程职位的建议都很好地转移到了ML research的职位上,因为这些职位都在同一家公司。
以下博客是我认为最值得推荐的,并建议大家在开始申请公司之前读一遍,在实际薪资谈判开始之前再读一遍,最后一次是在薪资谈判进行到一半时:
Salary Negotiation: Make More Money, Be More Valued
https://medium.freecodecamp.org/ten-rules-for-negotiating-a-job-offer-ee17cccbdab6
https://medium.freecodecamp.org/how-not-to-bomb-your-offer-negotiation-c46bb9bc7dea
公司
我只在跨国公司的工业研究实验室面试过,并没有面试过初创企业或者较小规模的公司。此外,地域范围也仅限在欧洲,其他地方的薪资标准和福利都不一样。
有许多大公司在该地区雇用AI科学家:
亚马逊在柏林有一个ML研究实验室;
Apple在巴黎有ML相关的工作;
Google Brain在阿姆斯特丹、柏林、巴黎和苏黎世有实验室;
Facebook AI Research和DeepMind目前在伦敦和巴黎设有实验室;
微软研究院和IBM研究院均设在剑桥和苏黎世;
Nvidia在柏林、赫尔辛基和慕尼黑设有实验室;
Twitter在伦敦设有办事处;
优步则在巴黎招聘研究科学家。
除此之外,在其它应用领域也有很多有趣的职位,如汽车(大众/奥迪在慕尼黑设有研究实验室),药物设计(Benevolent AI在伦敦,Merck,Bayer,J&J和Astra Zenica都是招聘ML相关人才)或财务(Citadel和Jane Street都在伦敦设有办事处)。
你还会在一些很酷的公司里遇到一些非常有趣的研究职位。例如Criteo(巴黎,格勒诺布尔),Bloomberg(伦敦),Bosch(斯图加特)或Disney Research(苏黎世)。而我错过的可能还有很多。
虽然我心里确实有一些比较喜欢的公司,但我还是尽可能多地申请了其它很多家:如果没有竞争的offer,你在薪资谈判中就会处于严重的劣势。并且较多的面试也会培养你的自信心。我第一次面试和最后一次面试心里状态的差异十分悬殊。
此外,你肯定会毁了你的一些面试——要么你在面试官面前表现得很糟糕,要么你会被问到一些关于你的盲点的问题,或者这个职位与你的兴趣不相符,或者其他一些非常糟糕的事情。例如,我不知道什么原因,英伟达在他们的面试过程中突然决定不见我:他们的面试官只是没有出现在事先安排好的视频电话会议上,从那以后他们一直忽视我所有的电子邮件。我不知道为什么。所以不要把所有的鸡蛋放在一个篮子里。
然而,我发现面试很多公司最主要的好处在于:我可以了解更多的公司。有很多我甚至没有想到过的非常酷炫的工作。一些最有意思的职位是由我从未考虑过的公司提供的。事实证明,我的一些“安全选择”非常适合我。即使对你来说不是这样,与许多团队讨论他们当前的项目和他们对未来的愿景是非常鼓舞人心和有启发性的。
我申请了上面列出的大约一半的公司,无论是研究科学家还是研究工程师,大多数最终都获得了工作机会。我整个找工作的过程花了很长时间(从第一次申请到接受工作邀请,花了半年的时间),而且非常累人:那几个月到处都是机场、酒店和面试房间,然后是几个月的电话,以及与人力资源部门的薪资谈判。
别指望这段时间能完成多少工作。正如一位同事所言:“当你听到这个或那个招聘人员的反馈时,你的大脑一直在全神贯注,没有剩余的思维能力去思考ICML。”然而,这一切都带来了巨大的回报:我学到了很多东西,收集了很多新的观点,而且能够争取到比第一份“理想工作”高得多的薪水。
![13825820-43a80a60cadfb4e5.jpg](https://i-blog.csdnimg.cn/blog_migrate/d2a9bf1d8f689d9c24bfc46d4da4c44d.jpeg)
面试流程
所有公司的面试过程非常相似。在收到我的简历后,公司会邀请我做一个简短的筛选,看看我是不是合适的候选人,这种筛选一般通过一两次电话面试进行,每次一小时。然后,我经常受邀进行现场面试:在公司办公室里一面就是一整天。一般开始时是自我介绍,介绍博士阶段的研究。然后是约每轮1小时的个人面试,面试人可能是我应聘团队的人员,或者是其他团队的类似研究人员/工程师。通常情况下,我在每次面试中会遇到不同的人,所以当一天的面试结束后,我经常会和团队中的大多数人见了面。
几乎所有的面试官都抽出时间向我询问有关职位、团队或公司的问题。我喜欢问关于工作与生活的平衡问题,目前团队有哪些困难的环节,或他们目前工作中对那些方面不大喜欢。大多数人会诚实坦率地回答这些问题,从他们的回答中,我可能会对未来这段可能到来的职业生涯产生一些或尖锐、或荒谬、或可怜、或宝贵的见解。
这些回答中有些是很有意思的办公室八卦,也会遇到团队负责人向我保证说“只要努力工作,就有希望在入职第2年或第3年将每周工作时间减少至60小时以下”。或者对我说“我非常紧张,正在考虑戒烟,然后还在向我保证“办公室真的很棒,你会爱上这里的!”
一些自己的研究非常兴奋的人,会忘了问任何技术问题,而只是简单地说他目前的研究突破对我来说如何如何......
这些都是了解公司和面试职位的好机会。在这一环节花上点时间是绝对不亏的!
面试类型
我多次经历过各种不同类型的面试。其中一些面试很容易准备(比如写代码或行为测试),但还有一些面试很难准备。一般来说不同公司的面试类型是不一样的:有几家公司在没有确认我具备写代码的能力的情况下就向我发了offer,即不问编程环节,还有的公司从未向我确认证实的预期薪水是多少。有些公司更多是在问理论问题,有些则更注重实践。大多数公司两者均有。
总的来说,我发现如果我在回答问题时卡住了,面试者总是愿意给我提示。面试者经常故意把一些问题模糊化表述,只是为了看看我作何反应,而且一般愿意与我讨论问题的细节。这个过程不像是一个对抗过程,更像是同事之间的讨论。
“来谈谈你的研究”
很多面试只是让我谈过去的研究成果。面试官会从我的简历中挑一篇论文并让我谈谈,或者有时他们会让我自己选择谈哪个项目。有些面试者只会问浅问题,有的会问得很深(比如“你这篇论文假定定理3中存在异方差性,但在整篇论文中没有证明。你为什么认为这是一个有效的假设,它的含义是什么?”),但从来没有在数学问题上问得太深。
编程面试
一般来讲,在谷歌或Facebook这样的企业的软件工程师面试中:你需要提出并实现解决方案的一些算法性质的难题。通常允许自选语言,如C ++或Python。每个问题都有不断加深的几个小问题:首先需要想出一个简单的解决方案并且实现,然后面试官会加一些额外的限制,或者要求实现更高效的解决方案。之后面试官一般会期望讨论时间或内存的复杂度问题,或讨论我给出的实现方案的可能的测试用例。
很多时候,接下来会进入更困难问题的讨论环节。有几次,面试者后来承认他们自己也不知道如何解决所提出的最后问题,他们只是想知道我是否能想出一些东西出来,或者我对一个一个无法解决的问题作何反应。这类面试比较容易准备:比如读一读Princton的《算法》的第1部分和第2部分,或者在leetcode上刷刷题应该就没问题了。
机器学习面试
这类面试有些只会测试一般的机器学习知识。比如大学普通机器学习课程所涵盖的内容。这类面试一般分为两部分。第一部分是一些常识性问题(你如何规范深层网络?随机森林训练中的提升在哪里?当预测速度比准确性更重要时,举出两种合适的分类算法。你会如何根据内容将文档按照语义进行分组?你能谈谈高斯混合模型和k均值之间的联系吗?)。
第二部分一般问的是“机器学习编程”,比如实现一些标准的机器学习算法。例如实现决策树的推导/剪枝,k-means和kNN等。一般需要大约30-45分钟(并再次讨论实现效率和可能的测试用例)。
“现在我们遇到了个问题......”
在一些面试中,面试者对我讲到正在进行的一个项目中遇到的问题,然后讲到要如何解决这个问题(比如“我们试图在视频数据库中找到重复的视频”,“我们需要根据一些模糊的标准对数百万个实体进行排序,并达到低延迟水平“,”我们只有非常少的标记数据,并希望使用GAN来增强数据集,最好的方法是什么?“) 。对这种问题没有什么好的准备方法,但我觉得面试官主要目的是了解我的思维过程。因此,这些问题的目的不是让你给出完美的算法,更多是在“头脑风暴“或讨论权衡问题。
行为面试
每当我被告知我将接受HR部门面试时,接下来进行的几乎都是行为面试。幸运的是,这个环节问题几乎总是相同的,所以可以提前做好准备。有一家公司甚至给我发了一本关于他们“公司价值观”的小册子,并告诉我,我将要接受面试,了解我如何在日常生活中反映这些价值观。只需上网搜一下“行为面试”,就会发现很多资源。总而言之,这个环节问题不大。
其他
还有些公司的面试和上面提到的都不一样。比如出一道数学难题,或者提前让我看一篇论文(一般是我不熟悉的领域),然后对论文进行讨论。或者是来一场关于统计学、概率和优化理论基础的笔试,时间长达几个小时。
![13825820-750e875b63b9c39b.jpg](https://i-blog.csdnimg.cn/blog_migrate/2cb880318ae86411c846ac116d1f9faf.jpeg)
薪资谈判
面试结束后,公司的招聘人员会与我联系,通知我“好消息”。我总是直截了当地在几个地方面试,每一位招聘人员都非常通融,理解我只有在收到所有公司的回复后,才会准备讨论进一步的步骤。
然后工资谈判开始了。
当然,工资因地区而异。ML跟踪软件工程的工资相当不错,所以levels.fyi或GlassDoor可以很好地了解期望的工资。Blind也有很多关于薪资和一般面试过程的信息。但是,你会在这些网站上找到的数字严重偏向硅谷和整个美国。
即使在欧洲内部,各国之间也存在着巨大的差异:值得注意的是,英国和瑞士的工资水平远远高于其他国家。当公司问我对工资的看法时,我总是告诉他们10万欧元/年,这是一个很好的开始谈判的薪资数字。甚至在我开始面试之前,我就知道这是一个较低的标准,英国或瑞士肯定有公司愿意支付这么高的价格,不过对于欧洲其他地区来说,这个数字相当可观。尽管如此,我还是认为高起点总比尴尬地回避“我不想给你一个数字”的问题要好。
最初的报价大多在每年8万到12万欧元之间。请注意,这通常是每年的总薪酬,因此它包括基本工资、预期奖金数额以及任何股票期权或额外的养老金缴款。我向所有招聘人员提出了其中最高的报价。大多数美国公司非常有意愿提供我所想要的薪酬,但是很多欧洲的公司却告知我,他们无法提供相应的薪水。
下一步,我决定了我认为真正值得跟进的提议。一些公司在面试阶段给人留下了不好的印象,而其他公司则更像是“不得已”的选择,我就不再考虑这些公司了。我感谢他们所付出的时间,并告诉他们我对他们公司不再感兴趣了。 我只留下了几个令我非常兴奋的工作机会:我愿意当场接受其中任何一个工作机会!
这让我处于一个很强的谈判立场:我可以要求每家公司给我提供比当前最高出价者更好的报价。即使有人会收回他们的报价(或者不愿意满足我的要求),我仍然有其他我愿意接受的公司。 事情发展得很顺利:每个人的出价都超过了其他人,把我每年的总薪酬推到了我做梦也想不到的地方。这是一种非常超现实的感觉。
我在所有的公司之间来回了大概两轮。我感觉招聘人员在那时候已经处于一种绝望的状态了:邀请我和我的SO去他们的城市参加周末的免费旅行,给我邮寄惊喜的礼品篮,给我提供爆炸性的工作机会,等等。
值得说明的一点是,虽然这些公司确实提供了更好的安置方案和签约奖金,但它们在提供额外的非金钱福利方面却缺乏灵活性。例如,没有一家公司能够在最初的提议基础上增加更多的假期(主要是根据地区标准,每年的假期从25天到45天不等)。最后,通过这种方式利用竞争性报价,我能够将最终签约公司的初始报价提高一倍左右。我每年的总薪酬在160-240k欧元之间(不包括签约或搬迁奖金)。
小标题:关于招聘人员的最后一点
我从未见过一群人像招聘人员那样,如此坚持胡萝卜加大棒的做法。
他们会告诉你,“这是我们所能提供的最好的条件”,强调“他们将为你破例,因为你是一个非常优秀的候选人”。他们还会凭空捏造出严格的 deadline,他们还会告诉你,他们不会重新谈判,还会说他们在过去两个月内在面试其他候选人。
感觉招聘人员总是想确定我是不是真的想选择另一份offer,而不是他们的,还是只是利用他们与另一家公司重新谈判。我想这一切都在意料之中,而我最好的建议是始终保持礼貌、耐心和执着。
在我有限的经验中,只要你收到了多份 offer(并且愿意放弃其中任何一个),你就掌握了主动权。所以,请努力的去谈判吧!
加油!
本文转自公众号 新智元