福利 | 分析554条数据科学面试问题,给你靠谱求职攻略

2023-11-01 19:11

本文主要是介绍福利 | 分析554条数据科学面试问题,给你靠谱求职攻略,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


0?wx_fmt=jpeg

◆ ◆ 

导言


全世界顶尖的数据科学团队正在做着令人难以置信的工作,分析世上最有意思的数据集。


相比20世纪的研究者,谷歌(Google)拥有更多与人类利益相关的数据,而优步(Uber)每天无缝地协调着超过一百万人的行程、价格。借助机器学习和人工智能,顶尖的数据科学团队正在改变我们摄取和处理数据的方式,而且他们提出的众多确实可行的见解,影响了数百万人的生活。初出校门的你们、或者准备跳槽的你们,是不是激情澎湃地想要加入这史诗般的工作?


假若这些顶级数据科学团队的面试都有类似的模式,可以让求职者掌控面试过程,将会怎样?


假若不同团队之间的详细差异以及他们具体的面试操作可被列举出来,使得与一个顶尖数据科学团队面晤更接近于一次科学经历而不是一场行为艺术,将会怎样?


在跳板(Springboard)这个网站上,我们教授数据科学技能,很多学生来选修我们的课,因为他们有志于开启数据科学职业生涯。鉴于此,我们编写了数据科学职位指南和求职面试指南,以帮助我们的学生走好通向该领域的理想工作的下一步。我们一直被这些顶尖数据科学团队所做的工作深深吸引,我们也试图帮助我们的毕业生清楚如何才能打入这些团队内部。


以往从未有人搜集来自这些公司的不同面试案例,让你可以获得这些你所需的数据,以使你能在数据科学面试过程中斩获王牌。而我们却力图改变这一现状。


我们从一个名叫玻璃门(Glassdoor)的网站寻找来自于不同数据科学公司不同面试问题的源数据,这些公司的数据科学团队被广泛认为是世界一流的。


接下来你将看到顶尖的数据科学团队的面试是什么样子,以及如何才能加入这些团队。我们对Google、Airbnb、Facebook、Uber和其他顶尖公司的数据科学职位面试过程分析所得到的结果总结如下。


◆ ◆ 

分析报告


我们进行这项分析是想知道顶尖的数据科学团队是如何面试的,作为求职者的你又该如何准备。我们将分析结果总结为以下可行的6点——


  1. 研究!研究!研究!重要的事情说三遍。花时间去了解该数据科学团队正在做些什么。你将会被问到很多与公司当下情形以及正在做的产品有关的问题,无论是关于某个领英(Linkedin)上你认识的人,或者判断优步(Uber)司机应当如何和乘客适配。有备无患,这样会使你在面试过程中表现得更优异,也将能更好地与同事共事。

  2. 准备四类数据科学问题:统计与概率问题,编程问题,商业思维问题,和文化/角色契合问题。

  3. 练习统计建模/归因,描述机器学习的概念,并在时间约束下,从基础到高阶将其与SQL、R和Python结合进行练习。数据科学的面试过程是一个非常标准的、跨公司的流程:电话筛选、测试,然后再进行现场面试。你若想确保面试和限时作业完成顺利,那就多训练自己在限定的时间内使用SQL、R和Python。很多带回家的作业试图就这个问题抓住你,在极其有限的时间内测试你对该程序语言的熟悉程度。展示你能用Hadoop这类的框架进行快速思维,能起到加深雇主印象的作用。但也不要忘记基础知识!有些公司会问一些基础的统计知识,以确认你是能力最出色的那个。

  4. 找个有力的推荐者。我们调查过9家公司,其中4家有内部推荐面试(Google, Uber, Facebook, Airbnb)。总的来说,内部推荐是面试机会的第二大来源。你最好认识公司里的一些人,请他们推荐,而不仅仅是网上申请。

  5. 准备你的故事。你会被要求详细复述过去的工作。在回顾你所做过的工作时,从所用的工具、到为何你做出不同的决断,要准备好尽可能多的具体细节,言之有物,而非泛泛而谈。必须准备好如何连贯的述说你的故事,在故事中你是如何成就了出色的业绩、提高了业务成效。

  6. 做好打持久战的准备。数据科学职位的面试要经过好几轮,可能要持续几个月。确保你已做好等待的准备。


最重要的是,我们认识到数据科学面试过程犹如一头复杂的野兽,必须用精准熟练的行动才能捕获它。


数据科学面试问题的分类


从Glassdoor受访者提供的554条真实的面试问题中,我们找到了一个数据宝藏,其中涵盖了数据科学团队在面试中测试到的所有技能。我们将这些问题归结为以下几类:


第一类: 统计和概率问题


0?wx_fmt=png 

上面这张图来源于脸书(Facebook),发表于2013 年9月12日。问题是这样的:你计划乘飞机去西雅图,想知道是否应该带伞。你随机选了住在当地的3个朋友,分别给他们打电话,询问是否在下雨。每个朋友都有2/3的几率告诉你真实情况、有1/3几率用假消息干扰你。所有的3个人都回答你“是的”在下雨。那么西雅图真正下雨的概率是多少?

该问题共有26 条回答。其中一条用贝叶斯统计答道:你应该取得任何一天西雅图下雨的几率作为先验概率。如果面试中你提到这点或者询问这点,面试者告诉你用25%,然后直接这样解答:


0?wx_fmt=png


于是你得到答案:是的,我应该带伞。(是的,是的,除非你朋友一直都是用假消息在干扰你)

统计和概率的问题常常是数据科学工作的重要组成部分。这类面试问题是测试求职者的思维,以及如何就不确定性作出合理解释,是数据科学家要掌握的一种基本技能。


帮助你准备统计和概率面试问题的文章请点击:How Bayes Theorem, Probability, Logic and Data Intersect

(https://www.springboard.com/blog/probability-bayes-theorem-data-science/)


帮助你准备统计和概率问题的书请点击:Think Stats, Probability and Statistics for Programmers

(http://greenteapress.com/thinkstats/)


帮助你准备统计和概率问题的互动课程请点击:Probability and statistics with KhanAcademy

(https://www.khanacademy.org/math/probability)


第二类:编程问题


0?wx_fmt=png


2013年5月26日发表于脸书的这条面试问题是:写出这样一个函数,输出两个整理好的数据列的合集。

8条答案中的一条是:f(a,b){return sort(unique(a,b))}

如果说统计和概率问题相对于数据科学工作,就像肉相对于一道土豆炖肉,那么编程就是其中必备的土豆。数据科学要求批量式处理数据,也就是需要编写程序来实现海量工作的自动化。


帮助你准备程序面试问题的文章请点击:Data science sexiness: Your guide to Python and R, and which one is best

(http://thenextweb.com/dd/2016/04/08/start-using-python-andor-r-data-science-one-best/)


帮助你准备程序面试问题的书请点击:Cracking the Programming Interview

(https://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/0984782850)


帮助你准备程序面试问题的DataCamp动课程请点击:Intro to Python for Data Science

(https://www.datacamp.com/courses/intro-to-python-for-data-science)


第三类:商业思维和案例研究


0?wx_fmt=png


2013年4月5 日发在脸书上的这则问题是:你正在为用户编译一份每月上传的内容的报告,并注意到10月份的上传激增。具体来说,是上传的图片激增。你觉得可能是什么原因导致这个现象?如何测试?


下面唯一的一条答案是:假设这些图片是万圣节的,对比检查那些不过万圣节的国家的图片上传趋势,以此作为某种反事实分析来测试。


数据科学的第三板是把你的发现,用驱动业务的行动和成果的方式进行解释。这类面试问题测试的是你对导致所观察到的行为发生的可能因素的思考能力。


帮助你准备商业思维和案例研究问题的文章请点击:Tips for Data Scientists: Think Like a Business Executive

(http://www.kdnuggets.com/2016/05/tips-data-scientist-think-like-executive.html)


帮助你准备商业思维和案例研究问题的书请点击:Data Science for Business

(https://www.amazon.com/Data-Science-Business-Data-Analytic-Thinking/dp/1449361323)


帮助你准备商业思维和案例研究问题的互动课程请点击:Data Analytics for Business

(https://www.springboard.com/workshops/analytics)


第四类:文化/角色契合问题


0?wx_fmt=png 

2010年4月6日发在华盛顿大学网站的一则问题是这样的:该大学的研究型科学家、三级工程师、数据管理者被问到,若自己只是一个程序员,你会觉得平和吗?


回答:如果这样的定位是正确的,会。


第四类问题是询问你与该职位和雇主公司文化的契合程度。这类问题可被当作行为面试,应当如实面对自己的期望。


◆ ◆ 

顶级数据科学团队面试是如何操作的?


考察了被问到的500多个数据科学面试问题的类别之后,我们决定更深入地观察几个我们熟知的业内备受推崇的数据科学团队——从谷歌(Google)到领英(LinkedIn)。这些大公司有能力在数据科学人才上花费,并有着大量关于他们面试的回顾和评论,使得我们能够深入探索他们的面试过程。

0?wx_fmt=png 

在所选定的公司的面试过程中,平均看来,谷歌的面试是最难的,而摩根大通(JPMorgen)最容易。根据Glassdoor的受访者反馈,谷歌面试的挑战不仅仅在于面试问题的数量,也在于被指派的执行面试者的人数。

 0?wx_fmt=png

在Glassdoor通过整合公司资料、核对的113例受访者中,有44%是通过网上申请获得他们的面试机会,大约33%是通过内部推荐得到面试。考虑到大多数人是网上申请,而谋求一个内部推荐的门槛的壁垒之高,这些数字也成为内部推荐有多重要的指征。

  0?wx_fmt=png

上图显示,获得最多正面评论的公司是谷歌,有接近60%的受访者有积极的面试体验。坐标的另一端,Yelp和摩根大通的正面评价为零,但应当指出的是,这个结果受样本数量限制,有这两家公司面试经历的受访者一共仅有9人。


我们发现我们以往的学生通过内部推介获得面试比网上投简历获得面试的机会要高8倍。


Facebook数据科学家面试(55条评论) 


0?wx_fmt=png

在Facebook上的大部分数据科学面试经验表现较为乐观,其中,有49%的面试者被雇佣,而23%的面试者最终没有通过面试。大多数的候选人都是通过在职员工或招聘人员获得面试机会。面试过程被评为略高于平均水平难度,在1到5的分值区间内得分为3.4,其中5表示最难。


面试的标准流程是通过手机屏幕进行,候选者把数据挑战带回家,然后通过屏幕共享SQL数据挑战,而后在现场阶段,需要和团队中的每个人进行多重1:1面试。面试过程的开始阶段主要是关于SQL,后面部分更着重于机器学习并构建一种广告模式(Facebook的焦点所在)。也会有关于如何设计一个特定的Facebook功能等的一些开放式场景问题,这是产品管理和数据科学特别关注的方面。


该面试过程被描述为时间长,平均等待期可达3个月以上,所以如果需要等待一段时间,也无需惊讶。


Facebook的数据科学团队正在做什么:研究团队在Facebook上分享他们正在做的工作,内容包括如何推动新闻周期和盲人如何与社交网站互动的深入分析。


Uber数据科学家面试(18条评论)


0?wx_fmt=png 

Uber的数据科学家的面试有些消极,61%的人表示他们没有很好的体验。获得面试机会的人群中有较高比例是通过网上申请,通过员工推荐获得面试机会的比率也与它相同,均为35%。面试过程评级为平均难度3.1分。


标准的面试过程是这样的,通过一块电话屏幕,要求一项作业限定在两小时内完成(分为SQL分析和带有样本数据集的开放性问题),然后是混合了技术和行为问题的现场系列面试。


Uber的数据科学面试中技术问题是Uber面临的特定难题:面试者会被要求解决泊松分布、时间序列分析以及应该如何从算法上让司机接受预约的相关问题。Uber的数据科学团队注重于快速最优化、时间敏感性的交互作用,这些都与他们的面试相对应。


在Uber的数据科学团队是这样工作的:本段探讨当前在Uber工作的数据科学家Emi Wang的日常工作,他指出工作范围包括书写产品代码、进行业务分析以及为新项目建立模型,包括为Geosurge调节供需,即Uber内部的峰值定价工程。


LinkedIn的数据科学家面试(17条评论)


0?wx_fmt=png 

LinkedIn的面试评价基本上是积极的,其比例是负面评价的两倍。大多数候选者都是通过网上申请获得面试机会的,所以可以在那里试试运气!面试过程难度被评为略低于平均难度的2.8分。


LinkedIn招聘人员将这面试过程描述为:首先由一个招聘人员进行电话面试,第二个电话面试是团队领导,然后是一个在线面试。许多候选人会接收一个可打包带回家的数据科学任务,在三、四个小时内的任意地方完成均可。


LinkedIn数据科学家面试的问题主要围绕在LinkedIn感兴趣的领域,如预测员工的工资或已经形成的工作特征(例如:你可能认识的人)。了解Python和机器学习在某种意义上是LinkedIn团队最看重的,虽然这些在稍后阶段会测试的更多。早期阶段会通过SQL和数据挖掘问题淘汰掉较弱的候选人。


LinkedIn的数据科学团队是这样工作的:前LinkedIn产品总监丹尼尔·顿克朗(Daniel Tunkelang)对LinkedIn产品数据科学团队的每个人及其在2012年的工作情况给出了一个简短的描述,他们的工作内容包括更新网络流,以便它能与用户更相关,并更好地代表职位。


Twitter数据科学家面试(11条评论)


0?wx_fmt=png 

Twitter的数据科学面试评论大多保持中立态度,具体表现为45%的中立、27%的正面和27%的负面评价,大多数申请人来自网上申请。在Twitter的面试难度被评为比平均水平更难的3.5分。尽情地准备迎接挑战吧!


网友评论表示,尽管面试过程被描述为要经历相当长的一段时间,但是回复速度却相当快。首先是一次在线编程测试,然后是两次电话面试,其中一次是关于编程,另外一次是关于统计推理。最后是两次是通过Skype通话的现场面试,其中一次的重点是数据科学,另一次的重点是编码。


编码方面的问题对于软件工程面试而言是相当常规的,但是Twitter的数据科学面试问题是开放式的,重点是关于Twitter当前的业务问题。候选者会被测试到他们对A/B测试的认识程度,并使用collabedit.com挑战遥控编码。一位候选者写到,他们收到了大量的关于机器学习理论和算法设计的白板问题。


Twitter数据科学团队是这样工作的:文章分享了一个数据科学家的经验,他有在Twitter做数据科学的两年工作经验。他的工作内容包括记录为什么某些国家有更高比例的多个帐户和可能影响这种因果关系的因素,以及有多少用户可以使用不同的通知类型。


Airbnb数据科学面试(13条评论)


0?wx_fmt=png 

许多人在Airbnb获得了积极的体验,其中36%得面试经历被评为积极的而27%为消极的。大多数参与者来源于在职员工推荐:Airbnb似乎强烈地看重自己的内部推荐系统。面试难度被评为比平均水平更难的3.5分。


面试过程实际上是少数已广泛公开的面试方式之一,最著名的来自Airbnb数据分析主管。他将此过程描述为,首先通过电话屏幕做一个基本的数据挑战,筛选出解决了数据问题的人员,然后是分析一个内部数据案例,接下来是四次面试,集中于文化适应和与业务合作伙伴的沟通能力方面。


Glassdoor的评论确认这是固定的流程,可带回家的数据挑战主要在于A/B测试和对特定结果的意义分析,而内部数据挑战在于统计建模。熟悉Python和R对于挑战而言是很基本的,但时限很短,所以你得在有限时间内做到最好。Airbnb的数据科学团队区别于其他团队就在于他们的分析,他们深切关注用户对Airbnb产品的想法,如果你已经是它的使用用户,那么准备好使用Airbnb应用程序中存在的问题以及你对此的想法。


在Airbnb的数据科学团队工作是这样的:本文介绍了在Airbnb团队中数据团队是如何驱动民主化的数据文化的。


Yelp数据科学面试(6条评论)


0?wx_fmt=png 

大多数申请人是通过在线方式获得在Yelp的面试机会。面试过程难度被评为略高于平均水平的3.3分。


面试过程如下:一次限时的在线挑战,一场电话面试,然后一场与4个人面对面的现场面试。


Yelp拥有相当开放的企业文化,以分享他们使用的不同工具,类似于谷歌。Yelp的数据科学面试问题是相当标准的。


Yelp的数据科学团队是这样工作的:本文介绍了一个示例项目,深度学习被用于分类餐厅图片,决定它们是否是食物的图片,或是餐厅的内部/外部图片。


Google的数据科学面试(6条评论)


0?wx_fmt=png 

谷歌的面试评论大多数是正面的,60%的体验者提交了积极的评论报告。员工推荐是获得面试比例最高的方式,有50%的受访者声称这是他们的求职路径。面试过程被评为是难度最高的,达到3.7分。


面试过程最初是电话屏幕,一场重点在技术上的电话面试,然后是紧张的现场面试周期,与好几个谷歌员工每人进行长达一小时的面试。电话面试混合了基本计算机科学和统计的问题,重点是用R和SQL分析数据。谷歌的数据科学面试问题主要是看你可以将数据切片和切块得有多好。


谷歌的数据科学团队是这样工作的:“非官方”谷歌数据科学博客分享了团队正在研究项目的财富,包括如何作为数据科学家迈入谷歌的大门。


JPMorgan数据科学面试(3条评论)


0?wx_fmt=png 

摩根大通(JPMorgan)的候选人来自校园招聘、网上申请和员工推荐的机会几乎是均等的。面试过程难度被评为低于平均水平的2.7分。


该过程开始是30分钟的电话面试,然后是招聘经理和比经理级别更低的一个员工通过视频进行面试,再与几个人进行面谈。摩根大通最感兴趣的是测试财务知识以及机器学习知识。他们还重视与业务团队的沟通能力,在这点上,会要求候选人讲如何给非技术团队成员解释线性回归。


在摩根大通的数据科学团队是这样工作的:摩根大通使用Hadoop获得大量的客户和交易数据,并将其与社会媒体提及的信息合并,以获得他们所服务客户的完整视图。

原文发布时间为:2016-10-08


本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号

这篇关于福利 | 分析554条数据科学面试问题,给你靠谱求职攻略的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/325123

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

好题——hdu2522(小数问题:求1/n的第一个循环节)

好喜欢这题,第一次做小数问题,一开始真心没思路,然后参考了网上的一些资料。 知识点***********************************无限不循环小数即无理数,不能写作两整数之比*****************************(一开始没想到,小学没学好) 此题1/n肯定是一个有限循环小数,了解这些后就能做此题了。 按照除法的机制,用一个函数表示出来就可以了,代码如下

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置