我从过去八个月的AI公司面试中学到了什么?

做者 | Aman Dalmia
编译 | 无明
编辑 | Vincent
AI 前线导读:本文的做者在过去的八个月,面试了谷歌 DeepMind、Wadhwani 人工智能研究所、微软、Ola、Fractal Analytics 等公司,主要是数据科学家、软件工程师和研究工程师等职位。在这个过程当中,他不只有机会与不少大牛交流,还了解到招聘者在面试候选人时真正想要的是什么。相信对于不少人来讲,若是之前有过这方面的知识,就能够避免不少错误,并为面试作更充分的准备。这就是为何做者要写这篇文章,AI 前线将这篇文章编译了出来,但愿可以帮助人们找到求之不得的工做。

更多干货内容请关注微信公众号“AI 前线”,(ID:ai-front)
1. 如何得到面试机会

这是最关键的一步。对于应聘者来讲,如何让招聘人员在海量的简历中看完他们的资料,这是最困难的部分。总的来讲,能够细分为三个关键步骤:html

a)准备好简历,或者 LinkedIn、Github、我的网站等信息。

首先,简历应该要很简洁。能够按照 Udacity 提供的这个指南(https://career-resource-center.udacity.com/resume/resume-revamp)来整理简历。这个指南包含了不少我想说的东西,我也一直把它看成本身的简历参考指南。说到简历模板,Overleaf(http://overleaf.com)提供的一些模板至关不错,例如:面试

能够看到,简历内容被放在了一个页面当中。不过,若是简历内容太多,那么上面的模板可能放不下。能够在这里(https://latexresu.me)找到修改后的多页模板。算法

接下来最重要的是如何展现你的 Github 我的资料。不少人低估了 Github 的做用,仅仅由于它没有“谁看过你的资料”这一选项。安全

招聘人员会去看你放在 Github 上的东西,由于这是他们验证你在简历中提到的内容的惟一方法。人们老是在他们的我的资料中用不少时髦用语,给招聘人员形成很大的干扰。特别是对于数据科学而言,开源在大多数工具、各类算法的实现、学习资源等方面都扮演着重要角色,全部这些都是开源的。应聘者至少要作到:微信

  • 若是尚未 Github 帐号,那么就建立一个。网络

  • 为每一个已完成的项目建立一个仓库。数据结构

  • 添加文档,并提供有关如何运行代码的明确说明。架构

  • 为每一个文件添加文档,说明每一个函数的做用、每一个参数的含义。机器学习

接下来的这一步是大多数人都缺少的,就是建立一个用于展现我的经验和项目的我的网站。这一步能够代表一我的真正想进入这个领域。另外,简历一般没法展现全部的东西,每每会错过不少细节。ide

若是你愿意,能够在网站上展现更多细节,好比包含某种项目或想法的可视化演示。建立这样的网站真的很容易,由于有不少免费平台提供了拖放功能,很是轻松就能够完成这个任务。我我的使用的是 Weebly(http://weebly.com),这是一个已经获得普遍使用的工具。下面是个人我的网站:

最后,如今不少招聘人员和初创公司开始使用 LinkedIn 做为他们的招聘平台,不少好的工做职位都发布在上面。

除招聘人员外,那些在为有影响力工做岗位寻找候选人的猎头也很是活跃。因此,若是可以吸引他们的注意,就可能得到很好的机会。

除此以外,保持我的资料的简洁也是很重要的,这会让人们有意愿与你创建联系。搜索工具是 LinkedIn 的一个重要组成部分,为了充分利用搜索工具,你必须在我的资料中使用相关的关键字。此外,必定要让曾经与你一块儿工做过的人为你添加评论,谈论他们与你合做的经历。全部这些都会增长得到注意的机会。

这些东西看起来好像不少,但不必定在一天甚至一周或一个月内完成。这是一个过程,并且没有终点。在一开始准备全部的内容确定须要花费一些时间,但一旦作好了,之后只须要不断更新就行了。你会发现这样其实很容易,并且你还能够随时随地推销本身,无需刻意作准备,由于你对本身已经很是了解了。

b)保持真实性。

看过不少人的简历,我发现不少人会犯这种错误。在我看来,最好先搞清楚本身真正感兴趣的是什么,本身想要作什么,而后寻找相关的工做机会,而不是反过来。 AI 人才供不该求的事实为人们提供了不少机会。准备简历的过程有助你对本身有一个全面的了解,并帮助你作出更好的决定。此外,不须要准备在面试时可能被问到的各类问题的答案。由于当你在谈论真正关心的事情时,这些答案天然会脱口而出。

c)人际网络:在完成了 a) 和 b) 后,人际网络才能真正帮你实现目标。

若是你不和人交谈,就会错过不少机会。天天都要与人们保持联系,若是不是面对面接触,至少要在 LinkedIn 上,假以时日,你就拥有了一个庞大的人际网络。创建人际网络并非让人们为你作推荐。

我在一开始也常常犯这种错误,直到我偶然多 Mark Meloon 的一篇文章,他在文中谈论了与人们创建真正联系的重要性,首先咱们要为人们提供帮助。另外一个很重要的方面是将你知道的东西展现出来。例如,若是你擅长某事,就能够在 Facebook 和 LinkedIn 上分享给人们。这不只能够帮助他人,还能够帮助你本身。

一旦你创建起足够好的人际网络,你的可见度就会成本增长。在你的人际网络中,某我的对你所分享内容的评论可能会帮助你接触更普遍的受众群体,包括可能正在寻找像你这样的专业人士。

2. 能够考虑加入的企业和初创公司

为了不各类误会,我按照字母顺序列出这个清单。不过,我在有些公司名字前面加了星号,表示我我的比较推荐这些公司。有些公司超过一个星号,那是由于它们在人性化方面作得更好一些。

  • Adobe Research

  • ⭐ AllinCall(由 IIT Bombay 校友创办)

  • ⭐ 亚马逊

  • Arya.ai

  • ⭐ Element.ai

  • ⭐ Facebook AI 研究所

  • ⭐ Fracal Analytics(收购了 Cuddle.ai 和⭐⭐ Qure.ai)

  • ⭐⭐谷歌(Brain/DeepMind/X)

  • 高盛

  • Haptik.ai

  • ⭐⭐HyperVerge,由 IIT Madras 校友创办,他们致力于为世界各地的客户开发针对现实世界问题的 AI 解决方案。这些创始人曾经在 IIT Madras 发起着名的 Computer Vision Group。

  • IBM 研究所

  • ⭐英特尔人工智能实验室(强化学习)

  • ⭐⭐Jasmine.ai,由 IIT Madras 校友创办,创始人还在密歇根大学得到博士学位,他们正在研究智能对话。此外,他们得到充足的资金,但愿有人尽快加入他们在 Bangalore 的办公室。

  • 摩根大通

  • ⭐微软研究院

  • MuSigma

  • Next Education

  • niki.ai

  • ⭐Niramai,施乐公司前雇员,致力于利用热成像技术在早期发现乳腺癌。

  • Ola

  • ⭐OpenAI

  • ⭐PathAI

  • Predible Health

  • 高通

  • ⭐SalesForce

  • 三星研究

  • ⭐SigTuple

  • ⭐Suki,AI 驱动的医生语音助手。最近,它也筹集了大量资金,并可能即将在印度设立办事处。

  • ⭐Swayatt Robotics,致力于为印度开发自动驾驶汽车。

  • ⭐⭐Wadhwani AI,由亿万富豪 Romesh Wadhwani 和 Sunil Wadhwani 提供资金,他们的目标是成为第一个为社会福利而努力的人工智能组织。

  • ⭐优步人工智能实验室和先进技术组:人工智能居住计划

  • ⭐Umbo CV,基于计算机视觉的安全技术

  • Uncanny Vision

  • Zendrive

3. 如何提升面试成功率

面试将从你进入房间的那一刻开始,在开始自我介绍以前可能会发生不少事情:你的身体语言和脸上的微笑很是重要,特别是当你面试一家初创公司时,由于文化适应(culture fit)是他们很是关注的方面。你要明白,面试官对你来讲是陌生人,但你对他 / 她来讲也是陌生人。因此,他们可能和你同样紧张。

面试不只仅是你和面试官之间的对话,双方都在寻找一种相互适应:你在寻找一个能够工做的好地方,而面试官在寻找一个能够一块儿工做的好人选。因此,请确保你对本身感受良好,而且要在对话一开始让对方感到温馨。最简单的方法就是微笑。

主要有两种面试方式,一种是面试官带着准备好的问题来问你,无论你的简历上写了什么,另外一种是面试根据你的简从来的。我将从第二种开始讨论。

这种面试一般以“你能告诉我一些关于你本身的事情吗?”做为开头。在回答这个问题时有两大禁忌:谈论你的大学平均成绩或太过详细介绍你作过的项目。理想的回答方式应该是在大约一两分钟内介绍你到目前为止作了些什么。你能够谈论你的爱好,好比看书、体育运动、冥想等。面试官将以你说到的事情做为下一个问题的线索,而后开始面试技术部分。这一部分面试主要是想检查你在简历上所写的是否是真的。

会有不少相似于“若是采用了不一样的解决方案将会怎样”的问题,好比使用“X”代替“Y”将会发生什么。在回答这类问题时,最重要的是要知道在实施过程当中一般会作出哪一种权衡,例如,若是面试官说使用更复杂的模型将会获得更好的结果,那么你能够说,由于可用数据较少,会致使过拟合。在一次面试中,我被要求为一个真实案例设计算法。我发现,当我按照如下的流程来陈述时,面试官就感到很满意:

问题 > 之前的一到两种方法 > 个人方法 > 结果 > 直觉

另外一种面试只是为了测试你对基础知识的掌握状况。这些问题不会太难,但它们确定会包含你应该掌握的基础知识,好比线性代数、几率论、统计学、优化、机器学习和深度学习。在回答这些问题时,你所花费的时间很关键。因为这些涵盖了基础知识,他们但愿你可以当即说出答案,因此要作好准备。

在整个面试过程当中,最重要的是对本身知道的东西要充满自信,对不知道的东西要诚实。若是你不知道回答某个问题,要先说明状况,而不是故做“嗯嗯啊啊”状。若是某些概念真的很重要,但你很难回答出来,面试官通常会很乐意给你一些提示或引导你找到正确的解决方案。若是你可以按照他们的提示给出正确的解决方案,就会给本身加分。尽可能没关系张,避免这种状况的最好办法仍然是微笑。

在面试结束时,面试官会问你是否有想问的问题。你会认为面试已经结束,以为没有什么可问的。我知道不少人由于在这个问题上犯错而被拒绝。正如我以前提到的,面试不是单方面的,在你接受面试的同时,你也在寻找与公司自己相适应的方式。因此,若是你真的想加入一个公司,你确定会有不少关于这家公司工做文化方面的问题,或者关于应聘岗位的问题。你要确保给面试官留下一个印象,让他们感受到你真的有兴趣成为他们团队的一员。在面试结束时,我会问面试官一个问题,即他们但愿我在哪些方面作出改进。这对个人帮助很是大,我把他们给个人每个反馈都融入到了个人平常生活中。

就是这些。根据个人经验,若是你对本身诚实、能干、真正关心你正在面试的公司,而且有正确的心态,那么你正走在成功的路上,而且很快就会收到录用通知书。

4. 咱们应该朝哪些方向努力

咱们生活在一个充满机遇的时代,你只须要努力成为最好的,就会找到变现的方法。正如 Gary Vaynerchuk 所说的那样:

这是在 AI 领域工做的好时机,若是你真的对此充满激情,就能够用 AI 来作不少事情。咱们老是在抱怨发生在周遭的问题,而像咱们这样的普通人也可以作些什么真正去解决这些问题,而不是抱怨,这样的事情是史无前例的。Jeffrey Hammerbacher(Cloudera 创始人)曾经说过:

咱们这一代人都在想着怎么让人们点击广告,这实在太糟糕了。

咱们能够用 AI 来实现不少超乎想象的事情。有不少很是具备挑战性的问题,须要像大家这样聪明的人才能解决。你可让人们的生活变得更好。

5. 你至少须要准备这些东西

任何一个与数据科学相关职位的面试都是由如下四个类别的问题组成:计算机科学、数学、统计学和机器学习。

计算机科学

算法和数据结构

  • InterviewBit(https://www.interviewbit.com)

  • NPTEL IIT Delhi 在 YouTube 上的讲座(https://www.youtube.com/playlist?list=PLBF3763AF2E1C572F)

操做系统

  • 软件开发者须要知道的 10 个操做系统概念(https://medium.com/the-aspiring-programmer-journal/the-10-operating-system-concepts-software-developers-need-to-remember-480d0734d710)

  • “操做系统概念”第 3,4,5 和 7 章。

  • GeeksForGeeks(https://www.geeksforgeeks.org/operating-systems)上的操做系统

面向对象程序设计:你可能被问到如何设计一个系统,例如铁路售票系统。因此,你须要搞清楚面试官的需求是什么,须要建立哪些类,每一个类应该要有哪些变量和方法,如何使用继承等。

数学和统计

若是你对深度学习背后的数学不熟悉,那么应该看看我以前写的这篇文章(https://medium.com/@amandalmia18/guide-for-deep-learning-aspirants-with-focus-on-non-computer-science-students-87b1f7b3f4b9),里面有一些相关资源。

不然的话,我感受看完“深度学习”(http://www.deeplearningbook.org)这本书的第 2,3 和 4 章就足以应对面试中的理论问题。我准备了几个章节的摘要,试着解释一些我最初难以理解的概念,若是你不肯意阅读章节的所有内容,能够参考这些概要。

若是你已经完成了几率论课程,应该也能回答一些数学问题。至于统计先关的问题,涵盖这些主题(http://qr.ae/TUTV9f)应该就足够了。

机器学习

机器学习相关的问题可能取决于你所申请的职位类型。若是是一个传统的基于机器学习的面试,他们会考察机器学习基础知识。为了应对面试,你能够完成如下任何一门课程:

  • 吴恩达的机器学习 -CS 229(http://cs229.stanford.edu)

  • 加州理工学院教授 Yaser Abu-Mostafa 的机器学习课程(https://work.caltech.edu/telecourse.html)

重要的主题有:监督学习(分类、回归、支持向量机、决策树、随机森林、逻辑回归、多层感知器、参数估计、贝叶斯决策规则)、无监督学习(K 均值聚类、高斯混合模型)和降维(PCA)。

若是你申请的是更高级的职位,颇有可能会被问及深度学习相关的问题。在这种状况下,你应该对卷积神经网络(CNN)或递归神经网络(RNN)及其变体很是熟悉。并且你必须知道深度学习背后的基本理念是什么、CNN/RNN 如的运行原理、如今已经有哪些架构以及这些架构变动背后的动机是什么。

这里没有捷径可走,要么你已经了解它们,要么你花足够的时间去了解它们。对于 CNN,推荐的资源是斯坦福的 CS 231N 和 CS 224N。我发现 Hugo Larochelle 的神经网络课程(https://www.youtube.com/watch?v=SGZ6BttHMPw&list=PL6Xpj9I5qXYEcOhn7TqghAJ6NAPrNmUBH)也颇有启发性。

英文原文:

https://blog.usejournal.com/what-i-learned-from-interviewing-at-multiple-ai-companies-and-start-ups-a9620415e4cc

相关文章
相关标签/搜索