在 Nordstrom 数据实验室度过了两年美好时光以后, 我获得了一个亚马逊网络服务 S3 部门的岗位。我为即将开始的人生新篇章感到兴奋,也为耗时又折磨人的面试过程终于结束松了口气。面试通常包含三种初筛的一种,以及全天的现场面试。这些面试充满压力,因为不知道会被问到什么, 而且对方通常期待你大秀智力,数据科学家正常情况下不太会做这种事(至少不会脱离上下文,仅凭记忆在电话中大秀智力) 。
你需要时间
如果你在考虑跳槽(或进入这个行业),我能给出的最好建议是现在就开始准备。你需要给自己大量时间, 避免填鸭模式。花点时间确保你能用自己的语言解释核心概念。电话面试的问题通常是这样:“如何向一个工程师解释什么是 p 值?”假设,要向一位非统计专业,不使用专业术语的工程师解释。毫无疑问,你不想在这样的场合初次解释这些基本概念。 此外,不要低估紧张对于你记忆的影响,哪怕是回忆那些自认为很了解的内容。如果你是行业新人,你可能需要给自己更多时间去准备自己不熟悉的概念。
我也建议多花时间准备个人资料,即你的简历和自荐信。这个问题上有两种看法,一派认为这很重要,一派认为这不重要。面试官真的会细看这些资料吗?很难笼统回答,但当我在 Nordstrom 工作时参加过海量面试,就个人而言,我非常看重这些资料。拼写错误不能容忍。自吹自擂的自荐信不是好兆头。糟糕的个人资料代表对岗位缺乏兴趣(或缺乏对阅读者的尊重),而堆砌关键词是在暗示面试官询问申请者何时何地做了这些。 在更广泛的技术领域,大家倾向于认为 GitHub 上的东西才重要。但大多数公司,尤其是大型公司,不会看你的 GitHub 。他们会看简历和自荐信(这可能让人惊讶,但科技不是精英统治的)。最终这些文件会体现你如何职业化地自我展示,所以它们的确重要,哪怕你之前不这么想。
实践出真知
我建议多做实践并分析自己的弱点。许多人误以为反复读书是最有效的学习方法,但这不是当场解决概率问题和逻辑谜题的有效办法(在你开始学习之前,强烈推荐《Make it Stick》一书)。通过专心解决实际问题,你会立刻发现自己的弱项,并确定学习的优先级。花时间在已经了解的事情上是一种拖延症,何况你都已经很忙了。此外,这是一个技术领域,你应该准备好在技术层面回答问题。如果可以,我建议站在一块白板前面解答实际问题,以便让自己适应这种写字方式还有边说边写。在 Quora 上能找到很多相关的建议和面试问题。
图一: 我在密歇根大学读博期间为第一轮面试布置的办公室。当时我很青涩,刚刚转换领域,因一无所知感到害怕。这种偏执程度既不健康也不推荐。
尽可能多了解未来的岗位
你知道什么是信息访谈( informational interview )吗?在我朋友使用这个方法之前,我也不知道这是什么!有时面试过程在推进,但你不知道自己是否想要这份工作。那么你可以让对方减缓节奏,然后做个信息访谈以确定这是否是你真正想要的工作。你也可以花时间“偷窥”公司和面试官。比如,为了亚马逊的现场面试, 我花时间在 Linkedin 上查了每个面试人员和他们的背景。这会帮你猜到他们会提的问题。哦,这人是个工程师,那她可能不会问你统计方面的内容,但可能会问拓展方法的内容。等等她是个高级管理工程师,也许她会想了解我对领导能力和人际交往技巧。Ellen Chisa 有许多关于面试禁忌的建议。
获取资源!
你可以料到以下领域会被问及:统计学、机器学习、预测、算法、所有计算机系本科生应该了解的知识,以及与上面所有领域相关的扩展性和表现。哦对了,你还要准备用一种你选择的语言编程。小菜一碟吧?!
书籍
搞本概率论入门书,具体是哪本不要紧。我用的是Ross写的, 典型的本科概率论教材。要是你有这本,我推荐做 1~5 章的自测题,以此决定是否在上面花更多时间。组合数学和基本概率问题是电话面试必备,要确保掌握。我也用过 Casella 和 Berger 写的教材来复习期望和方差,这书可以说是统计学者的圣经。笼统地说多数面试比教材简单。
对于计算机相关的内容,我一般参考三本书:《Programming Interviews Exposed》,《Cracking the Coding Interview》和《Programming Pearls》。 第一本是三本中最综合的。如果时间只够读一本书,就读这本。第二本简洁具体,针对 Amazon,Google 和 Facebook 这样的大公司面试,但不广泛适用。我使用的版本还有些烦人的插图,教你确保自己是“一个跟面试官愿意叫你喝酒的哥们”。这书的哥们儿气重到我最终弃读(本来期待得到更有价值的内容)。第三本无关面试。它是一个计算问题和解决方法的思维阐释的集合。这本书不止适用于学习,还适用于理解计算过程。如果有时间读一读此书会是种享受。
图二: 一些课程允许阅览存档的内容,不必等待(新的)讲义
对,就是 Coursera 这玩意儿。如果你已经丢掉了旧教材又不想买什么书,Cousera 上的资料就可以满足你。我非常非常非常推荐约翰霍普金斯大学的生物统计训练营。这是对统计学本科一年级课程的有效复习。别花太多时间看课程视频。用测试题和作业进行自我检测,然后再去看薄弱环节的视频。也可以看看数据科学专项课程。跟上面的课是由同一批老师组织的,内容包括探索性数据统计和R编程。吴恩达的机器学习一定要学且其乐无穷。他善于阐释方法背后的动机,并在课程中花了很多时间训练直觉。直觉对电话面试尤其有益,这些面试中你可能不想强调技术细节却又要证明对领域的熟悉。由于我当时的目标是亚马逊,所以云计算专项课程也令我受益。我正从零售技术领域转向云计算领域,并且想更好理解我将面对的问题。在这种情况下,我只看了课程视频来学习这个领域的用词,而未深究技术细节。我总是在搜罗 Coursera 的好课程,如果你有推荐的课程可以给我留言!
Coursera 的课程起止时间制让我恼火。最近我发现,许多课程可以阅览之前存档的资料,不用等待新课开始。这对我来说是个重要变化,快去试试吧!
祝你好运!
以上就是我所谓的干货。但我还想讲一些老生常谈。
第一,保持镇静!过于紧张会让你无法回忆起一些知识。这对我来说是个麻烦,令我做出一些疯狂的事,比如把所有东西写下来贴墙上,但不推荐大家也这样做。我最新的疯狂手段是在电话面试之前几分钟做健身操,使自己汗流浃背气喘吁吁。除此之外,如果你住在目标公司的所在城市,就直接约面试官面谈。我表情充沛,而且能比电话面试表现更好。
不要忘了你同时也在面试对方。相信你的直觉。我曾对一个创业公司进行了信息访谈。我感觉对方目中无人,根本不听我说话,但我仍对那份工作感兴趣。我试图跟进,但每次都要预约一万次才能得到确认。那是一次很糟糕的经历,如果我相信了我的直觉(这些人不靠谱)也就不至于浪费那么多时间。再有趣的工作也不值得每天花八小时跟不尊重你的人在一起。
最后一点,不要把自己的经历跟其他人比较,因为你会误解或失望。当我在经历面试时,碰巧一些我熟悉的同事也在接受面试。那时把自己的经历和他人相比较后,我觉得又惊讶又生气。简单来说,我和一个资历较浅的男同事在同一个星期面试了同一个岗位。他被团队成员当面面试,对方问了掷骰子概率这种很基础的问题。我却被不同办公室的人电话面试,对方问了我一个博弈论最优解问题。这事令人难以接受,也很难不乱想不生气。现在我把这事解释为招聘经验不足和公司不成熟。这公司不知道如何面试我的岗位,甚至可能因此雇用我不想共事的人,我不想在这种地方工作。
最终你应该尽可能准备充分,但不要因为你的知识有漏洞而懊恼。相信自己,相信自己的印象。从失败的面试中学习,以便搞定下一个。
本文作者:佚名
来源:51CTO