【译Py】数据科学面试终极指南 |
---|
【译Py】数据科学面试终极指南01 |
【译Py】数据科学面试终极指南02 |
【译Py】数据科学面试终极指南03 |
【译Py】数据科学面试终极指南04 |
【译Py】数据科学面试终极指南05 |
【译Py】数据科学面试终极指南06 |
【译Py】数据科学面试终极指南07 |
招聘经理的想法
Will Kurt(Quick Sprout公司)访谈
个人简介:Will Kurt是Quick Sprout的数据科学家。他的兴趣是概率论、写作和Haskell。他的博客地址是CountBayesie.com,或通过@willkurt在Twitter上与他联系。
招聘新人的时候,你关注哪些方面?
对我来说,把创造力和好奇心这两种心态结合起来最重要。在创业公司里,每天不同职能领域都会出现各种新问题。这个月你可能在帮产品团队添加新功能,下个月就有可能帮销售团队改善销售流程,再下个月,又有可能帮营销团队重组测试设置。最理想的求职者要对公司里所有与数据相关的问题都感兴趣,能不断思考各种类型的数据解决方案。
你对参加数据科学面试的人有什么好建议?
根据我的经验,所有值得效力的小公司和创业公司都对数据科学家的加入感到开心。他们希望新人的数据科学技能和经验能解决一直以来让人头疼的问题。搞清楚面试问题,和他们一起解决问题,调动他们的兴奋点。抓住机会询问他们在解决什么问题,让他们和你一起头脑风暴,找出解决问题的方法,证明你有能力让他们的日子更好过。要知道,技术高超的求职者很多,但是关心应聘公司的问题,对之感兴趣的人很少。让面试你的每个人都喜欢和你一起工作,他们就得求着你入职了。
面试时,你喜欢问什么样的问题?你想考核的是什么?
我关心的是求职者想问题的思路。在Kissmetrics,我提出过一次开放式“家庭作业”任务。这个任务很简单,构建一个分类器就可以了,我和求职者说了这一点,不过,我还告诉他们,我还想通过这个测试看看他们能不能搞点标新立异的东西出来。这个任务的答案不一定很长,或很复杂。我想要的是,求职者要进行交流,表现出好奇心,找出有价值的东西。
这些求职者都会编程,对线性代数、微积分和概率论也很了解,具有学习相关知识的基础,技术从来都不是问题,但是教他们创造性思维,让他们积极主动地解决问题就非常困难了。
Kissmetrics和Quick Sprout招聘数据科学家时有什么不同?
目前,Quick Sprout团队很小,处在产品开发的早期阶段,暂时不需要招聘数据科学家。不过,有经验的人应该知道许多创业公司或小公司一直都在招数据科学家,只是因为招聘过程太浪费精力,所以暂时没有开始正式的招聘工作而已。我在Kissmetrics遇到过一个人,他是我见过的最赞的求职者,有一天,他跑到公司门口,跟我们说:“我想来你们这里工作!”。
学术界或大公司的人可能不知道创业公司和小公司的招聘有多灵活。如果你认为一家公司的业务很酷,就他们联系。对于一帮热爱自己事业的人来说,告诉他们你喜欢他们干的事,真心想加入他们的团队,没有什么比这个更让人印象深刻的了。就算这家公司暂时不打算招人,等他们开始招聘的时候,你肯定会是第一人选。
Matt Fornito(OpsVision Solutions公司)访谈
个人简介:Matt Fornito是数据科学家与技术带头人,他在数据研究、数据分析和管理领域有十多年的经验。学习精神和敬业热情使得他不断成长进步。这篇访谈根据和Matt的电话记录整理。
招聘新人时,你关注的重点是什么?
我喜欢招聘有量化知识背景的人,他们可以学习编程,但是不用再学这些专业知识了。对我来说,硕士或博士学位非常重要,本科生达不到我的要求,考个本科对大多数人来说都不是什么难事。我喜欢招聘能编程、会沟通的人,能明白技术问题是制定、执行方案和沟通想法的关键。我认为,数据科学家和数据分析师的主要差别就在于,数据科学家能深刻理解数据问题,还知道怎么解决这些问题。
我还喜欢招聘数学、统计学、化学,物理学、生物信息学和工程学专业的硕士或博士。只有少数MBA专业的人和能我配合好。其实我本人是组织心理学专业的博士,所以,尽管我喜欢有STEM(科学、技术、工程、数学英文首字母缩写)背景的人,但也不一定非得局限于这些专业。
你对参加数据科学面试的人有什么建议?
招聘人员在意的是教育程度、简历上列出的最后两份工作,还有行业背景。人力资源的人看简历非常快,因此,求职者必须在几秒钟内吸引住他们的眼球。条件允许的话,我建议最好去Facebook这样的一流大公司工作,或者去创业公司当个高管,这种行业背景能让人轻松地脱颖而出,找到高端数据科学工作。
对于“给我讲讲你做过的项目”这样的问题,招聘经理经常会问求职者曾经做过什么 — 处理过什么样的数据,使用过什么样的工具,产出了什么样的成果,说清楚这些问题十分重要。成功的求职者对做过的工作把握的很准,能清晰地讲述项目经历,还能说清楚他们对业务产生的影响。
你会考察哪些内容?
面试时,我一般会围绕一个项目测试求职者解决问题的能力和沟通技巧。我还会评估求职者对我们公司和数据科学的热情。有坚持学习的动力、热衷于解决问题是我考察的关键。在技术方面,我对能用Hadoop和Spark优化数据结构,能评估各种数据科学解决方案的求职者感兴趣。他们能不能像数据科学家一样思考问题?做没做过数据科学工作?这些都是我希望通过面试了解的主要问题。
我还会问些数学问题,比如,梯度下降、统计技巧,还有随机森林。我还会设计情景问题,提出客户情景假设,了解求职者如何与客户交互。求职者最好会用Python或R编程,当然会C ++或Java也可以。我不太喜欢HackerRank这种追踪解决方案的方式;我宁愿测试求职者对从未用过的编程语言的接受程度,以及快速学习的能力。我招聘的人必须能学习新技能,这是我考察的重点。
Andrew Maguire (PMC/谷歌/Accenture) 访谈
个人简介:Andrew具有7年的数据分析与数据科学工作经验,在不同行业分别担任过各种数据科学角色。现任Penske传媒公司的数据科学家,专门负责数据工程架构与应用业务分析工作。此前,他曾在谷歌(市场分析、数据质量)、埃森哲创新分析中心(顾问),还有怡安创新分析中心(产品开发团队)工作。
招聘新人时,你关注的重点什么?
除了技术、经验这些基本要求,我觉得具有不断学习新事物的激情、意愿和能力是关键。
态度端正也很重要,如果求职者能把自己的优缺点都说清楚,我觉得这样就很好,我不喜欢太能吹的人,谦虚才是美德。
亲和、开放和真诚是“团队匹配”的关键。求职者不用什么都懂,但要能和其他人一起工作寻找解决方案,这点非常重要。
你对参加数据科学面试的人有什么建议?
对于技术问题,要多花点心思,写清楚解答思路,还有就是一定要把面试问题搞清楚。另外,有问题就问,别害怕告诉面试官没接触过某些领域,或者不熟悉某些算法,他们不会因为这个就筛掉你。作为数据科学家,承认自己知识有限非常重要,坚持学习才是最重要的能力。
准备两到三个数据科学项目的“故事”,和面试官聊聊问题规划、数据清洗、数据分析、数据可视化,以及与各部门沟通数据洞察结果的事情。处理好技术宅男与业务大拿之间的平衡,表现出对业务的深刻见解。这些“故事”可以是以前公司里干过的工作,上大学时的作业,甚至还可以是业余做过的项目。要学会从面试官提出的问题里找到机会,把话题引到自己的经历上,用具体例子和实战经验证明自己。
我发现了解求职者最好的办法是让他们详细介绍以前做过的项目,所以,一定要想办法让面试官对你在简历上提到的项目感兴趣,愿意主动了解你做过的事情。
面试时,你喜欢问什么样的问题?你想考察的是什么?
处理过最大、最复杂的数据集是什么样的?处理数据时遇到过什么问题?我一般会探讨这些问题,了解求职者的数据清洗技能与经验。
举例说明,如何分析数据集?如何与业务方沟通分析结果?数据分析时遇到过哪些问题?产出了什么成果?对业务产生了什么影响?要说明提取业务洞察和与相关方沟通等方面。
我的问题主要和简历相关,要是问以前工作中做过的项目,我会问解决过什么问题,使用过哪些数据,怎么使用数据,分析结果是什么,怎么把分析结果扩展到其它业务领域。所以,一定要谨慎选择在简历上写的内容。如果觉得内容太多,两页纸写不完的话,就得考虑针对不同类型的岗位定制不同的简历。
最后,我会让求职者讲个失败的例子,说说什么地方做错了,以后遇见类似事情怎么改进。这个问题是我从《人力资源百问百答》里看到的,不过我也喜欢看求职者如何回答这个问题 :)
谷歌招聘数据科学家和业界其它公司有什么不同?
我觉得都差不多,总的来说还是看具体岗位。要是非常专业的岗位,比如研发岗或研究员,问的技术问题就会更细,对专业领域问题也会钻得更深。对于通用岗或业务岗,主要关注技术水平、业务理解力、团队配合度以及沟通能力的合理搭配。
谷歌与其它公司最大的不同就是面试次数多,面试官的人数也多,至少有6个人参与面试,从各个方面考察求职者。这些人会从不同角度评判求职者的优缺点,而且必须综合考量求职者的能力和水平,给出是否同意招聘的结论。表现出良好的综合能力,比偏科要好的多。这时候,求职者的态度和亲和力非常重要,就算在某些方面有短板,只要面试官欣赏你,觉得你能在几个月内快速跟进,工作就有戏了。
Hirsto Gyoshev(MasterClass公司)访谈
个人简历:Hristo Gyoshev是MasterClass公司的商务运营战略部主管。MasterClass是一家快速发展的创业公司,致力于普及天才教育、重塑在线教育。他曾在消费型网站(雅虎)和企业级SaaS公司从事公司战略、商务运营及产品战略等工作。
招聘新人时,你重点关注什么?
我们要找的是核心人才,目标人选要对各类数据项目有强烈的欲望,不管是量化市场研究、用户调研,还是统计与商务智能分析都要能够胜任。他们还要乐于学习,遇到瓶颈时,能积极推动项目的进展。
要说教育背景与工作经验,我们希望求职者首先要有足够的统计学知识,能判断统计推断是否有效,能识别并且避免偏差;第二点是,要有满世界采集数据的能力,采集回来的数据基本上都有一大堆问题,他们还要有意愿、有能力处理这些数据,并分析出可行的洞察结果。
求职者要有强大的量化分析背景,能用Excel、SQL、Python或R处理和分析数据,还要有社会科学以及市场/用户研究的经验(学术或工作经验都可以),进行商务分析和撰写数据报告的经验也是必须的,我心目中的求职者要具备这些条件。
你对参加数据科学面试的人有什么建议?
尽量理解面试问题,搞清楚问题背后更高层面的背景知识。面试时,对数据分析、构建模型的考核,一般都源于公司希望求职者能帮我们解决特定的问题。有时你会发现你解决不了这些问题,有时你恰巧能提出更好地建议。如果一开始就能清楚地理解我们这些“客户”到底要分析什么,你给出的分析、模型或产品就会更切题。一旦应聘成功,面试时问到的这些问题很可能就是日常要做的工作。
面试时,你喜欢问什么样的问题?你想考察的是什么?
我们想了解求职者以前都干过哪些类型的工作,看看这些工作经历和我们招聘的岗位是否相关。我们还会了解求职者以前做过的项目,让他们讲讲解决问题的方法、思路、用过的工具、遇到过什么难题,还有就是怎么解决这些问题。
我们还会让求职者做些小项目,看他们怎么处理特定的问题,当然,这也是为了考察他们的工作质量。
MasterClass招聘数据科学家和别的公司有什么不同?
和其它公司相比,我们很少用到机器学习和算法,数据清洗的工作也不多,主要是围绕公司的产品、业务和运营部门,为他们提供各种分析决策支持。工作内容主要包括导入、处理、分析来自不同系统的数据,构建各种预测模型;设计、实施、分析各种调研与测验;协助业务部门定义、设计数据报告与指标;为业务运营等部门做出各种一次性数据分析。
因此,我们不需要求职者特别熟悉机器学习或算法,但我们希望他们能熟练掌握数据分析的各方面知识,能处理各种数据分析工作。还有,我们希望求职者具有学习新工具、新方法的意愿和能力。
结论
招聘经理希望求职者能够展示:
1)对该公司的兴趣和对数据科学的热爱;
2)合群,这点甚至能弥补技术能力不足的弱项;
3)强烈的学习意愿,快速学习的能力;
4)以往项目的成功经验,对项目的影响力;
5)强大的分析能力。
接下来,看一看面试桌的另一边,已经当上数据科学家的求职者是怎么说的。
求职者的成功经验
Sara Weinstein
波音航空信息(加拿大)公司 数据科学家, Springboard学员
你对通关数据科学面试有什么建议?
首先说一下面试准备,我觉得当初应该多了解一下分析策略。当时,我在统计学、概率论、机器学习、Python/R这些技术方面下了很大功夫,结果却被一个处理指定数据集的问题搞得束手无策,这个问题其实不难,但我没有发挥出正常水平。我太在意“硬”技能了,没重视更高层面的方法论和策略。
让你觉得意外或很难的是什么?
面试过程太长了。当时我已经猜到会有多次面试,实际上整个流程下来一共面试了三次,每次面试间隔一个礼拜,再加上背景调查,从开始接触到拿到Offer一共用了一个月。搞得我压力山大,整整一个月都要积极应对、保持自信、做好各种面试准备,这可是个不小的挑战。要是早知道耗这么长时间,我就能轻松点了。我给参加漫长、多重面试的朋友的建议是,冥想是个好东西。冥想能让你晚上睡个好觉,还可以让你面试前保持冷静和自信。
Niraj Sheth
Reddit公司 数据分析师,Springboard学员
你对通关数据科学面试有什么建议?
我觉得吧,面试前应该多看点儿统计学基础。有点傻了吧,不过面试官动不动就是I型错误、II型错误这些东西。看自己的时间吧,要我说最好找本儿统计学的书,起码把里面的名词都给搞清楚喽。
真不是我说,面试那会儿我都惊了,这帮兄弟评估项目经验的水平真不咋样。一说干过的项目,就会问利息值,数据分析说的事儿真那么有趣儿吗?[1]。就没人能问点儿有噔次的问题。
我还干过点儿效果不错的事儿。其中一件事儿是我整了个倍儿easy的可视化实例项目,就是上传到GitHub内种,不过您可别就只上传一个Readme文件,那就漏了怯了。这个项目不一定多花哨儿,能跑起来就成,比方说,我这个项目就是个雾霾预测地图。搞点这种东西,在找工作时能顶不少事儿。
另一个事儿就是跟面试官要数据集,回家完成测试任务。我不知道您水平有多高,不过就说我自己,当然还有不少非科班儿出身的哥们儿,都对现场数据分析灰常头疼。反正我没那本事。但,我知道这会儿该怎么办,我会跟面试官说,您能多给我点儿时间吗,我回家琢磨琢磨,肯定能把这个问题搞定了。
Sdrjan Santic
Feedzai公司 数据科学家,Springboard讲师
你对通关数据科学面试有什么建议?最难的问题是什么?
我觉得最难的问题是理解主流的监督与非监督学习算法如何运行,还要用简洁的语言进行说明。掌握好数据科学术语是关键。求职者还得全面了解精确度指标和各种评估方法,比如,训练测试集、ROC曲线、交叉验证什么的。更麻烦的是让你把这些问题在白板上用数学方法写出来。
你的面试过程顺利吗?
必须。。。非常顺利!基本上我面试就跟和同事聊天一样,没觉得有什么压力。我应聘的公司效率很高,一个礼拜就搞定了整个流程。还有一点是,就算有些公司没录取我,也会非常坦诚地告诉我原因,这点让我印象深刻。
你选择现在这份工作的决定因素是什么?
总的来说,这里让我有机会使用各种技术工具,还可以解决各种以前从未遇到过的问题。我以前的工作主要就是构建模型。数据都是经过预处理,清理好的,做的探索性工作也仅限于使用商用图形界面工具。我觉得我的数据清洗技能和命令行操作水平在不断退化,我要到能动手实干的环境里历练。
结论
已经成为数据科学家的求职者提到的共同点如下:
1)别认为面试不考基础知识,最好读点统计学基础;
2)准备好应对非技术层面的考核。除了统计学和编程,面试还会考核沟通技巧、团队合作等软技能;
3)准备自我介绍,包装自己,说清楚你有多么热爱数据科学、掌握了哪些数据科学技能,可以为公司带来什么样的独特价值。说清楚你具备什么样的数据科学项目经验,对项目的贡献,这些都会帮助你进入面试下一关;
4)要有耐心。数据科学面试流程一般都比较长,要做好持久战的准备。
至此,我们已经讲述了数据科学面试实战流程的全部内容,下面,看一看面试之后会发生什么吧。
【译Py】数据科学面试终极指南 |
---|
【译Py】数据科学面试终极指南01 |
【译Py】数据科学面试终极指南02 |
【译Py】数据科学面试终极指南03 |
【译Py】数据科学面试终极指南04 |
【译Py】数据科学面试终极指南05 |
【译Py】数据科学面试终极指南06 |
【译Py】数据科学面试终极指南07 |
利息和兴趣都是interest,这里是双关语。 ↩