当前位置: 首页 > 学习社区 > 面试经历 > 文章

你要去参加人工智能面试,先看下这篇总结

李佳惠 2019-01-28 19:39 3116
在过去的8个月里,我一直在各种公司进行面试,如Wadhwani人工智能研究所,Google的DeepMind,微软,Ola,Fractal Analytics以及其他一些主要为数据科学家、软件工程师和研究工程师的公司。在这个过程中,我不仅有机会与许多伟大的思想进行互动,而且还可以看到自己,并了解人们在面试某人时的真实感受。我相信,如果我之前有这方面的知识,我本可以避免许多错误,并以更好的方式做好准备,这就是这篇文章背后的动机,是能够帮助某人包装自己,成功去到他们梦寐以求的工作场所。

毕竟,如果我们每天工作将花费(至少)一天的2/3,那么最好是值得的。

我从如何引起注意,也就是面试开始。然后我提供一份申请公司和初创企业名单,然后是如何获得该访谈。根据我所拥有的经验,我添加了一个关于我们应该努力工作的部分。这样,您会以最少的资源进行准备。

注意:对于那些参加校园实习的人来说,有两件事我想补充一下:首先,我要说的大部分内容(可能除了最后一个)与你的实习不相关。但是,这是我的第二点,正如我之前提到的,在校园里的机会大多是软件工程的角色,与人工智能没有交集。所以,这篇文章是专门为那些想用人工智能解决有趣问题的人而写的。另外,我想补充的是,我还没有把所有的面试都看完,但我想这就是失败的本质——它是最伟大的老师!我在这里提到的东西可能并不都是有用的,但这些都是我做过的,我没有办法知道是什么最终使我的论点更有力。

1.如何在面试中获得关注

说实话,这一步是最重要的一步。如何让招聘人员在他们获得的众多应用程序中实际浏览您的个人简介。在组织内部建立联系人可以使您的推荐变得非常简单,但是,一般来说,这部分可以细分为三个关键步骤:

a)做好监管准备并做得好:所以,通过监管准备,利用各种网站精心打造简历。首先,你的简历应该非常简洁。至于CV模板,Overleaf上的一些内置格式非常好。我个人使用deedy-resume(https://github.com/deedy/Deedy-Resume)。

可以看出,很多内容可以放在一个页面中。但是,如果您确实需要更多,那么上面链接的格式将无法直接使用。相反,您可以在此处找到相同的修改后的多页面格式。接下来最重要的是你的Github个人资料,很多人低估了这方面的潜力,因为与LinkedIn不同,它没有“谁查看了您的个人资料”选项。人们会通过你的Github来查看,因为这是他们必须验证你在简历中提到的内容的唯一方式,因为这个时代信息过分繁杂,人们将各种流行语与他们的个人资料相关联。特别是对于数据科学而言,开源在大多数工具、各种算法的实现、学习资源列表中都发挥着重要作用,所有这些都是开源的。我将讨论参与开源的好处以及如何在此处的早期帖子中从头开始。现在最低限度应该是:

  • 如果您还没有Github帐户,请创建一个帐户。

  • 为您已完成的每个项目创建一个存储库。

  • 添加文档,其中包含有关如何运行代码的明确说明

  • 为每个文件添加文档,提及每个函数的作用、每个参数的含义、正确的格式(例如Python的PEP8)以及自动执行上一步的脚本(可选)。

第三步是大多数人缺乏的,即拥有一个作品集网站,展示他们的经验和个人项目。制作一个作品集表明你非常认真地进入该领域,并为真实性因素增加了许多要点。此外,您的简历通常有空间限制,往往会错过很多细节。如果您愿意,您可以使用您的作品集深入研究细节,强烈建议您包含某种可视化或项目/想法的演示。创建一个也很容易,因为有很多具有拖放功能的免费平台使得这个过程真的很轻松。我个人使用Weebly,它是一种广泛使用的工具。最好有一开头有一个参考。有很多很棒的网站,但我首先提到了Deshraj Yadav的个人网站:

现在很多招聘人员和初创企业都开始使用LinkedIn作为他们的招聘平台,那里发布了很多好工作。除招聘人员外,在有影响力的职位上工作的人也非常活跃。所以,如果你能抓住他们的注意力,你也很有机会进入。除此之外,保持一个干净的简介是人们有意愿与您联系的必要条件。 LinkedIn的一个重要部分是他们的搜索工具,为了让您显示,您必须在您的个人资料中加入相关的关键字。我花了很多次迭代和重新评估才最终获得了不错的评价。此外,您绝对应该询问与您合作过的人或与您合作过的人是否支持您的技能并添加推荐,说明他们与您合作的经历。所有这些都增加了你真正被注意到的机会。

所有这些看起来可能很多,但请记住,您不需要在一天甚至一周或一个月内完成。这是一个过程,它永远不会结束。一开始设置所有内容肯定需要一些努力但是一旦它存在并且你不断更新它,因为你周围的事件不断发生,你不仅会发现它很容易,而且你也能够在没有准备的情况下就侃侃而谈,因为你对自己的情况了如指掌。

a)保持真诚:我见过很多人因为不同的工作档案而出现这种错误。根据我的说法,最好首先确定你真正感兴趣的是什么,你会喜欢做什么,然后寻找相关的机会;而不是相反。人工智能人才的需求超过供给人的这一事实为您提供了这个机会。花时间在上面提到的监管准备上,可以让您全面了解自己,并帮助您更轻松地做出决定。此外,您不需要为面试期间提出的各种问题准备答案。当你谈论你真正关心的事情时,它们会自然而然的从你的嘴里流露出来。

b)网络:一旦你完成了a),想出b),人脉才可以真正帮助你实现目标。如果你不与人交谈,你会错过很多机会。重要的是每天与新人保持联系,如果不能面对面接触,那么在LinkedIn上进行联系,这样,经过多天的复合,你就拥有了一个庞大而强大的网络。人际关系不是给别人发送消息,让他们为您提供推荐。当我开始时,我经常犯这种错误,直到我偶然发现了Mark Meloon的一篇优秀的文章,他在那里谈到了通过首先提供帮助与人建立真正联系的重要性。人脉的另一个重要步骤是将您的内容输出。例如,如果你擅长某些事情,可以在博客上发布并在Facebook和LinkedIn上分享这个博客。这不仅有助于他人,也有助于您。一旦拥有足够好的网络,您的可见性就会增加多倍。您永远不会知道您网络中的某个人会多么喜欢或评论您的帖子,这可能会帮助您与更广泛的受众群体联系,包括可能正在寻找您的专业人士的人。

2.申请公司和初创企业名单

我按字母顺序列出此列表,以避免误解任何特定的偏好。但是,我确实在我个人推荐的那些上加上了a。该建议基于以下任一项:任务陈述、人员、个人互动或学习范围。超过1“*”纯粹基于第二和第三因素。

  • Adobe Research

  • Aiaioo Labs

  • * AllinCall-(由IIT Bombay校友创立)

  • *亚马逊

  • Arya.ai

DeepAffects-DeepAffects是一家企业AI语音分析公司。我们正在研究语音和文本领域中深度学习空间中的一些最难的问题

  • * Element.ai

  • * Facebook AI研究:AI居住计划

  • * Fractal Analytics(也收购:Cuddle.ai,** Qure.ai)

  • ** Google(Brain / DeepMind / X):AI居住计划

  • 高盛

  • Haptik.ai

  • ** HyperVerge-由IIT Madras校友创建,他们致力于开发人工智能解决方案,解决世界各地客户的实际问题。创始人包括在IIT Madras发起著名计算机视觉小组的人。

  • IBM研究院

  • *英特尔AI实验室(强化学习)

  • ** Jasmine.ai-由IIT Madras校友创办,他们也曾在密歇根大学攻读博士学位,他们正在研究会话智能。此外,他们资金充足。

  • 摩根大通

  • *微软研究院:

  • - 印度实验室的1年或2年奖学金。

  • - AI居住计划

  • MuSigma

  • 下一步教育

  • niki.ai

  • * Niramai-Xerox Research的前雇员,致力于使用热成像技术早期发现乳腺癌。

  • Ola

  • * OpenAI

  • * PathAI

  • 可预见的健康

  • 高通公司

  • *销售队伍

  • 三星研究

  • * SigTuple

  • * Suki-AI为医生提供动力的语音助手。最近,它也筹集了大量资金,也可能很快在印度开设办事处。

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

  • ** Wadhwani AI由资深亿万富翁Romesh Wadhwani博士和Sunil Wadhwani资助,他们的目标是成为第一个致力于社会福利的人工智能组织。

  • *优步AI实验室和先进技术集团:AI居住计划

  • *使用计算机视觉的Umbo CV-Security

  • 不可思议的愿景

  • Zendrive

3.如何获得面试机会

你的面试从你进入房间的那一刻开始,在那个时刻和你被要求自我介绍的时候会发生很多事情,你的肢体语言和你在微笑的同时问候他们扮演重要角色的事实尤其是当你为一家初创公司进行面试时,因为文化适应性是他们非常关心的事情。你需要明白,尽管面试官对你来说是个陌生人,但你对他/她也是一个陌生人。所以,他们可能和你一样紧张。

将面试视为自己和面试官之间的对话更为重要。你们两个都在寻找一个相互适合的人 - 你正在寻找一个很棒的工作场所,面试官正在寻找一个很棒的人(像你一样)。因此,请确保您对自己感觉良好,并且负责让对话的初始时刻为他们带来愉快。而实现这一目标的最简单方法就是微笑。

大多数情况下有两种类型的访谈——一种是面试官来到这里准备了一系列问题,而且无论你的个人资料如何,只会问你这一次,第二次访谈是根据你的简历进行的。我将从第二个开始。

这种采访通常以“你能先简单介绍一下你自己么?”开头。在这一点上,有2件事情可以作为开场白,谈谈大学里你的GPA也可以详细谈论下你的项目。一个理想的陈述大约是一两分钟。你可以谈论你的爱好,如阅读书籍、体育运动、冥想等。基本上,任何有助于定义你的东西。然后,面试官将把你在这里谈论的内容作为他下一个问题的提示,然后从采访的技术部分开始。这种面试的动机是要真实地检查你的简历中所写的内容是否真实:

实际解决问题的任何人都可以在多个级别回答。他们将能够进入黄铜轨道,否则他们会陷入困境。

——马斯克

关于可以做什么不同的问题或者如果使用“X”代替“Y”会有很多问题。在这一点上,重要的是要知道在实施过程中通常会做出的权衡取舍,例如:如果面试官说使用更复杂的模型可以得到更好的结果,那么你可能会说你实际上有更少的数据可以使用,这会导致过度拟合。在其中一次访谈中,我接受了一个案例研究,其中涉及为现实世界的用例设计算法。我注意到,一旦我获得绿色标志来谈论一个项目,当我在下面的流程中谈论它时,采访者真的很喜欢它:

问题> 1或2个先前的方法>我们的方法>结果>直觉

另一种面试实际上只是为了测试你的基本知识。这些问题不会太难。但他们肯定会抓住你应该拥有的所有基础知识,主要基于线性代数、概率、统计、优化、机器学习和/或深度学习。准备部分所需的最小资源中提到的资源应该足够了,但请确保您不会遗漏其中的一点。这里的问题是您回答这些问题所需的时间。由于这些涵盖了基础知识,他们希望你可以立即回答它们。所以,相应地我们需要做好准备。

在整个过程中,重要的是要对自己所知道的和不知道的事情充满自信和诚实。如果有一个问题,你确定你不知道,要直接说出来而不是用“嗯”、“啊”这样的语气词代替。如果某些概念非常重要,但你尝试着努力回答它,那么面试官通常会(根据你在初始部分的表现)很乐意给你一个提示或引导你找到正确的解决方案。如果您能够根据他们的提示并找到正确的解决方案,那将是一个很大的优势。尽量不要紧张,避免这种情况的最佳方法是再次微笑。

现在我们来到面试的结论部分,面试官会问你是否对他们有任何疑问。很多人会很容易认为面试已经完成,然后就回答说没有什么可问的。我知道很多人因为在最后一个问题上失败而被拒绝了。正如我之前提到的,这不仅仅是你在被面试,而且公司也在寻找适合他们的人。所以,很明显,如果你真的想加入一个地方,你必须对那里的工作文化有一些自己的看法。这就像对面试你的人好奇一样简单。你总会从周围的一切中学习点什么东西,你应该确保给你的面试官留下你真正有兴趣成为他们团队一员的印象。我开始问我的所有采访者的最后一个问题是,他们可能希望我改进哪一点。这对我帮助很大,我仍记得我收到的所有反馈,这些反馈都融入了我的日常工作与生活中。根据我的经验,如果你只是对自己诚实、有能力、真正关心你正在面试的公司并且有正确的心态,你应该勾选所有正确的方框,并且应该很快会收到“祝贺信”

4.我们应该努力为之工作

我们生活在一个充满机遇的时代,适用于任何你喜欢的事物。你只需要努力成为最好的,你就会找到一种方法将它货币化。正如Gary Vaynerchuk的说法:

这是一个在AI领域工作的好时机,如果你真的对它充满热情,那么你就可以用AI做很多事了。你可以赋予那么多一直被低估的人。我们一直在抱怨我们周围的问题,但是从来没有像我们这样的普通人真正能够解决这些问题,而不仅仅是抱怨。 Jeffrey Hammerbacher(Cloudera创始人)曾表示:

我们这一代人最好的想法是考虑如何让人们点击广告。这太糟糕了。

5.你需要准备最少的资源

任何数据科学访谈都包含以下四个类别中的一部分问题:计算机科学、数学、统计学和机器学习。

计算机科学

  • 算法和数据结构:

- InterviewBit(练习)

- NPTEL IIT德里讲座(相应理论)

  • 操作系统:

- 需要记住的操作系统概念 - 软件开发人员需要记住

- “操作系统概念”一书的第3,4,5和7章。

- GeeksForGeeks上的操作系统

  • 面向对象的编程:您被问及如何设计系统,例如:铁路车票预订系统。所以,你需要与面试官讨论他/她的要求是什么,你需要做什么类,每个班级应该有什么样的变量/方法,如何使用继承(例如工程师和科学家)类可以从Employee类派生出来等等。这来自于实践。

数学与统计

如果您不熟悉深度学习背后的数学,那么您应该考虑查看我的上一篇文章,了解它们的资源。但是,如果你感看文章感到比较舒服,我发现深度学习书的第2,3和4章足以在这些访谈中准备、修改理论问题。我一直在准备几个章节的摘要,你可以参考这些章节,我试图解释一些我最初难以理解的概念,以防你不愿意完成整个章节。如果你已经完成了概率的课程,那么你应该也能轻松回答一些问题。对于统计数据,涵盖这些主题应该足够了。

机器学习

现在,这里的问题范围可能会根据您申请的职位类型而有所不同。如果这是一个更传统的基于机器学习的面试,他们想要检查你在ML的基本知识,你可以完成以下任何一门课程:

- 吴恩达-CS的机器学习229

- 加州理工学院教授Yaser Abu-Mostafa的机器学习课程

重要主题是:监督学习(分类,回归,SVM,决策树,随机森林,Logistic回归,多层感知器,参数估计,贝叶斯决策规则),无监督学习(K均值聚类,高斯混合模型),降维(PCA)。

现在,如果您申请更高级的职位,您很可能会受到深度学习的质疑。在这种情况下,您应该对卷积神经网络(CNN)和/或(取决于您的工作)回归神经网络(RNN)及其变体非常熟悉。你必须知道深度学习背后的基本理念是什么,CNN / RNN如何实际工作,提出了什么样的架构以及这些架构变化背后的动机是什么。现在,没有捷径可走。要么你了解它们,要么你有足够的时间来理解它们。对于CNN,推荐的资源是斯坦福大学的CS 231N和用于RNN的CS 224N。我发现Hugo Larochelle的神经网络课程也非常具有启发性。到目前为止,您应该已经发现Udacity对于ML从业者来说是一个非常重要的地方。

结论

我希望通过这篇文章可以找到一种对你有用的方法,并且它可以帮助你以更好的方式为下一次数据科学面试做准备。

原文链接:http://blog.itpub.net/31545819/viewspace-2215246/