Github来源陆震、张秋玥、蒋宝尚编译

“老司机”划重点!搞定这120个真实面试问题,杀进数据科学圈

直到今天,在各类媒体口中,数据科学家依然是“21世纪最性感的职业”。但事实上,希望进入这个行业的初级数据科学家已经供过于求

可以预见的是,各种高校相关专业的毕业生,在完成coursera或者fast.ai的课程后,都希望得到一份跟“数据”相关的岗位。据统计,部分职位的供求比已经达到了1:200。

那么,如何能在这条独木桥上杀出重围、脱引而出呢?

金三银四求职季,江湖传言在三月份和四月份找工作和跳槽成功的概率最大。不同于程序员这样的纯技术工种,求职成为一名数据科学家似乎需要“上知天文,下知地理”。

毕竟,数据科学领域集成了多种不同元素,包括信号处理,数学,概率模型技术和理论,机器学习,计算机编程,统计学,数据工程,模式识别和学习,可视化,不确定性建模,数据仓库,以及从数据中析取规律和产品的高性能计算。

今天文摘菌会给大家推荐一份数据科学面试资料,资料收集了来自顶级技术公司的访调员和数据科学家。从浅入深的囊括了沟通、数据分析、模型预测、编程、概率、产品指标等7个部分的共120个面试问题。

根据官方网站,这份资源由Max、Carl、Henry以及William四位合作编写,这四位好基友都有数学科学以及数据分析的背景,也非常互补,也因此让这份资料变得弥足珍贵。

这份资料,在官方网站上需要付19美元可以获取完整版(包括问题和答案)。

先放上资料官网,非常需要的读者请购买支持正版哦👇

https://www.datasciencequestions.com/

当然,如果你只是想了解这份资料的大概内容,或者测试一下自己是否掌握了数据科学家需要的知识,文摘菌在github上也找到了这份资料的缩略问题版,少部分概念以及定义性的问题有答案,对于开放性的问题,欢迎大家在留言区给出你的答案哦。

文摘菌精选了这份资料中的部分问题和答案,完整版戳下边链接自取。

github地址:https://github.com/kojino/120-Data-Science-Interview-Questions

沟通

1.向我解释一个与你正在面试的角色相关的技术概念。

2.向我介绍你所热爱的事情。

3.你会如何向没有统计背景的工程师解释A/B测试,线性回归呢?

  • A/B测试,也就是多变量测试,通过测试用户的不同体验,来确定哪种改变有助于企业更加有效地实现其目标(如增加转换等)。它可以是网站上的文本信息,按钮的颜色,不同的用户界面,不同的电子邮件主题行,号召性用语,优惠等。

4.你会如何向没有统计背景的工程师解释置信区间以及95%的置信度的意思?

5.你会如何向一组高级管理人员解释为什么数据很重要?

数据分析

1.给定一个数据集,分析这个数据集并告诉我你可以从中了解到什。

2.什么是R2?可能比R2更好的指标有哪些,为什么?

答:拟合良好,是由该回归/总方差解释的那部分方差;你添加的预测变量越多,R^2越大;因而使用因自由度调整的R ^ 2;或着训练误差指标。

3.什么是维度灾难?

  • 高维度使得聚类变得困难,因为拥有大量维度意味着彼此相差很大。例如,为了覆盖一小部分数据,随着变量数量的增加,我们需要处理每个范围广泛的变量;

  • 所有样本都靠近样本的边缘。这非常糟糕,因为在训练样本的边缘附近做出预测要更加困难;

  • 随着维度 p的增加,采样密度呈指数下降,因此在没有更多的数据量的情况下,该数据会变得更加稀疏;我们应该进行PCA分析以降低维度。

4.更多的数据就总是更好么?

  • 从统计来说,它取决于你的数据的质量,如果您的数据有偏差,获取再多数据也毫无用处;它取决于你的模型。如果你的模型能够承受高偏差,获取更多数据不会太过明显地提高你的测试结果。你需要添加更多特征,或者做别的处理。从实战来说,也需要在拥有更多数据和额外存储,计算能力以及所需内存之间进行权衡。因此,始终要考虑拥有更多数据的成本。

5.分析数据之前绘制图表有什么好处?

  • 数据集会有错误。你不会找到全部的错误,但你或许能够找到其中的一些。比如那个212岁的男人以及那个9英尺高的女;变量会有偏度,异常值等。算术平均值可能用不了,这也意味着标准差用不了;变量可以是多峰的!如果变量是多峰的,那么任何基于其的均值或着中位数的都是可疑的。

模型预测(19个问题)

1.给定一个数据集,分析这个数据集并给出一个可以预测这个响应变量的模型。

  • 由拟合简单的模型(多元回归,逻辑回归)开始,相应地选取一些特征,然后尝试一些复杂的模型。要始终将数据集拆分为训练集,验证集和测试集并使用交叉验证来观察模型的表现;确定问题是分类问题还是回归问题;倾向于选用运行快速可以轻松解释的简单模型;提及交叉验证作为评估模型的一种方法;绘制图表且将数据可视化。

2.如果测试数据的分布与训练数据的分布明显不同,可能会出现什么问题?

  • 训练时具有高精度的模型在测试时可能具有较低的精度。在没有进一步了解的情况下,很难知道哪个数据集代表了总体的数据,因而很难测量算法的泛化程度;

  • 这应该可以通过重复划分训练集和测试集来缓解(如交叉验证);

  • 当数据分布发生变化时,称为数据集漂移。 如果训练数据和测试数据的分布不同,分类器可能会过度拟合训练数据。

3.有什么方法可以让我的模型对异常值的鲁棒性更高?

  • 我们可以使用L1或L2等正则化方法来减少方差(增加偏倚)。

  • 算法的改变:1.使用基于树的方法来代替回归方法,因为它们更能忍受异常值。2.对于统计检验,使用非参数检验来代替参数检验。3.使用稳健的误差指标,如MAE或Huber Loss,来代替MSE。

  • 数据的改变:1.对数据进行winsorize处理2.转换数据(如进行对数处理)3.只有在你确定它们是不值得预测的异常值时才删除它们

4.与最小化误差绝对值的模型相比,在最小化误差平方的模型中,你认为有哪些差异?每个误差指标分别在哪种情况下合适?

  • MSE对异常值更加严格。在这个意义上MAE鲁棒性更好,但也更难以拟合模型,因为它无法在数值上进行优化。因此,当模型的可变性较小且在计算上容易拟合时,我们应该使用MAE,否则应该使用MSE。

  • MSE:更容易计算梯度

  • MAE:计算梯度需要线性编程MAE对异常值更加稳健。

  • 如果较大错误造成的后果很严重,使用MSEMSE相当于最大化高斯随机变量的可能性。

5.你会什么误差指标来评估二分类器的好坏?如果类别不平衡怎么办?如果超过2组怎么办?

  • 准确性:你正确预测的情况的比例。优点:直观,易于解释,缺点:当类标签不平衡且数据信号较弱时效果不。

  • AUROC:在x轴上绘制fpr,在y轴上绘制tpr以获得不同的阈值。给定随机正例和随机负例,AUC是你能可以识别类别的概率。优点:在测试分类能力时效果很好,缺点:不能将预测解释为概率(因为AUC由排名决定),因此无法解释模型的不确定性。

  • logloss/deviance:优点:基于概率的误差度量,缺点:对假阳性假阴性非常敏感。当有超过2组时,我们可以使用k个二分类并将它们添加到logloss中。 像AUC这样的一些指标仅适用于二分类情况。

概率

1.阿米巴虫波波生0个、1个或2个小阿米巴虫的概率分别是25%、25%以及50%。这些小阿米巴虫们的繁殖能力也都一样。请问波波的后代灭绝的概率是多少?

  • p=1/4+1/4p+1/2p^2 => p=1/2

2.任何15分钟时间段内,你看到至少一颗流星的概率是20%。请问在一小时内你看到至少一颗流星的概率是多少?

  • l  1-(0.8)^4。 或者我们用泊松过程也可以解。

3.仅使用一枚色子,你如何生成一个1-7内随机数?

  • 丢三次色子:每一次丢的都是结果的第n位

  • 每次丢色子时,如果值为1-3,则记录0,否则记录1。结果会位于0(000)与7(111)之间,均匀分布(因为这三次抛掷互相独立)。如果得到0则重复抛掷:该过程会终止于均匀分布的值。

4.有一个数据集包含来自两个正态分布的数值。两个分布的标准差相同。来自两个分布的数据点个数相同。请问如果想要该数据集呈双峰分布,两个分布的均值应当至少差多少?

  • 多于两个标准差

5.提供已知正态分布的样本值,请问你能如何模拟一个均匀分布的样本值?

  • 将值代入同一随机变量的累计分布函数

6.一对夫妻告诉你他们有两个小孩,其中至少有一个是女孩。请问他们拥有两个女儿的概率是多少?

  • 1/3

产品指标

1.对于一个广告驱动的消费者产品(比如Buzzfeed,YouTube,Google搜索等),什么可以称为好的成功衡量指标?服务驱动的消费者产品(比如优步,Flickr,Venmo等)呢?

  • 广告驱动:页面浏览量与每日活跃量,点击率,每次点击成本

  • 服务驱动:购买量,转化率

2.对于一个效率工具(比如印象笔记,Asana,Google文档等),什么可以称为好的成功衡量指标?线上课程平台(比如edX,Coursera,Udacity等)呢?

  • 效率工具:付费订阅用户数

  • 线上课程平台:付费订阅用户数,课程完成率

3.对于一个电商产品(比如Etsy,Groupon,Birchbox等),什么可以称为好的成功衡量指标?订阅产品(比如Netflix,Birchbox,Hulu等)呢?高级付费订阅(比如OKCupid,领英,Spotify等)呢?

  • 电商产品:购买量,转化率,时/日/周/月/季/年销售额,售出产品成本,存货量,网站流量,净回头客量,客服电话量,平均解决问题时长

  • 订阅产品:流失量,(不知道接下来这几个都是啥)

  • 高级付费订阅:(无解答)

4.对于高度依赖于用户投入与交互的消费者产品(比如Snapchat,Pinterest,Facebook等),什么可以称为好的成功衡量指标?通讯产品(比如GroupMe,Hangouts,Snapchat等)呢?

  • 高度依赖于用户投入与交互的消费者产品:user AU ratios,分类型邮件汇总,分类型推送通知汇总,复活率。

  • 通讯产品:(无解答)

5.对于拥有app内购服务的产品(比如Zynga,愤怒的小鸟以及许多其他游戏),什么可以称为好的成功衡量指标?

  • 用户/付费用户平均营收

编程(14题)

1.编写一个函数,计算2n个用户所有可能分配向量,其中n个用户为控制组,n个用户为治疗组。

  • 递归编程

2.提供一个包含推特消息的列表,求十个最常用的的标签。

  • 在字典中存储所有标签然后求前十值

3.在给定时间内写出算法求解背包问题的最佳近似解。

  • 贪婪算法

4.在给定时间内写出算法求解旅行商问题的最佳近似解。

  • 贪婪算法

5.你将得到一个大小为n的数据集,但你无法提前知道n具体有多大。写出一个占据O(k)的算法来随机抽取k个元素。

  • 水塘抽样

统计推论(15题)

1.AB测试中你如何确认客户流分组完全随机?

  • 画出多个A组与B组变量的分布,确保他们都拥有一致的形状。再保险一点,我们可以做一个排列检验来看分布是否相同。

  • MANOVA来比较不同的均值。

2.AA测试(两组完全一致)的好处有什么?

  • 检查抽样算法随机性

3.在AB测试中,允许一组用户知道另一组是什么样子有什么危害?

  • 用户可能无法与未知其他选项时行为一致。实际上你是在添加一个关于是否允许用户窥探其它选项的变量——该变量并不随机。

4.如果某个博客报道了你的实验组会有什么影响呢?

  • 与前问相同。这一问题可能会在更大范围内发生。

5.你如何设计一个允许用户自行选择是否加入的AB测试。

最后,祝大家求职顺利~

github地址:https://github.com/kojino/120-Data-Science-Interview-Questions

大数据文摘
大数据文摘

秉承“普及数据思维,传播数据文化,助⼒产业发展”的企业⽂化,我们专注于数据领域的资讯、案例、技术,形成了“媒体+教育+⼈才服务”的良性⽣态,致⼒于打造精准数据科学社区。

入门招聘面试数据科学
3
相关数据
数据分析技术

数据分析是一类统计方法,其主要特点是多维性和描述性。有些几何方法有助于揭示不同的数据之间存在的关系,并绘制出统计信息图,以更简洁的解释这些数据中包含的主要信息。其他一些用于收集数据,以便弄清哪些是同质的,从而更好地了解数据。 数据分析可以处理大量数据,并确定这些数据最有用的部分。

逻辑回归技术

逻辑回归(英语:Logistic regression 或logit regression),即逻辑模型(英语:Logit model,也译作“评定模型”、“分类评定模型”)是离散选择法模型之一,属于多重变量分析范畴,是社会学、生物统计学、临床、数量心理学、计量经济学、市场营销等统计实证分析的常用方法。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

数据科学技术

数据科学,又称资料科学,是一门利用数据学习知识的学科,其目标是通过从数据中提取出有价值的部分来生产数据产品。它结合了诸多领域中的理论和技术,包括应用数学、统计、模式识别、机器学习、数据可视化、数据仓库以及高性能计算。数据科学通过运用各种相关的数据来帮助非专业人士理解问题。

假阳性技术

假阳性是指模型因为种种原因把不应该分类成特定情况的人/物错误地分类到了该分类的情况。

模式识别技术

模式识别(英语:Pattern recognition),就是通过计算机用数学技术方法来研究模式的自动处理和判读。 我们把环境与客体统称为“模式”。 随着计算机技术的发展,人类有可能研究复杂的信息处理过程。 信息处理过程的一个重要形式是生命体对环境及客体的识别。其概念与数据挖掘、机器学习类似。

验证集技术

验证数据集是用于调整分类器超参数(即模型结构)的一组数据集,它有时也被称为开发集(dev set)。

线性回归技术

在现实世界中,存在着大量这样的情况:两个变量例如X和Y有一些依赖关系。由X可以部分地决定Y的值,但这种决定往往不很确切。常常用来说明这种依赖关系的最简单、直观的例子是体重与身高,用Y表示他的体重。众所周知,一般说来,当X大时,Y也倾向于大,但由X不能严格地决定Y。又如,城市生活用电量Y与气温X有很大的关系。在夏天气温很高或冬天气温很低时,由于室内空调、冰箱等家用电器的使用,可能用电就高,相反,在春秋季节气温不高也不低,用电量就可能少。但我们不能由气温X准确地决定用电量Y。类似的例子还很多,变量之间的这种关系称为“相关关系”,回归模型就是研究相关关系的一个有力工具。

偏度技术

在概率论和统计学中,偏度衡量实数随机变量概率分布的不对称性。偏度的值可以为正,可以为负或者甚至是无法定义。在数量上,偏度为负(负偏态)就意味着在概率密度函数左侧的尾部比右侧的长,绝大多数的值(包括中位数在内)位于平均值的右侧。偏度为正(正偏态)就意味着在概率密度函数右侧的尾部比左侧的长,绝大多数的值(但不一定包括中位数)位于平均值的左侧。偏度为零就表示数值相对均匀地分布在平均值的两侧,但不一定意味着其为对称分布。

置信区间技术

在统计学中,一个概率样本的置信区间(Confidence interval),是对这个样本的某个总体参数的区间估计(Interval Estimation)。置信区间展现的是,这个总体参数的真实值有一定概率落在与该测量结果有关的某对应区间。置信区间给出的是,声称总体参数的真实值在测量值的区间所具有的可信程度,即前面所要求的“一定概率”。这个概率被称为置信水平。举例来说,如果在一次大选中某人的支持率为55%,而置信水平0.95上的置信区间是(50%, 60%),那么他的真实支持率落在50%和60%之区间的机率为95%,因此他的真实支持率不足50%的可能性小于2.5%(假设分布是对称的)。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

分类问题技术

分类问题是数据挖掘处理的一个重要组成部分,在机器学习领域,分类问题通常被认为属于监督式学习(supervised learning),也就是说,分类问题的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。根据类别的数量还可以进一步将分类问题划分为二元分类(binary classification)和多元分类(multiclass classification)。

假阴性技术

假阳性是指模型因为种种原因将应该分类成特定情况的人/物错误地分类到了其他分类的情况。

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

数据仓库技术

泊松过程技术

Poisson过程是以法国数学家泊松(1781 - 1840)的名字命名的。泊松过程是随机过程的一种,是以事件的发生时间来定义的。

信号处理技术

信号处理涉及到信号的分析、合成和修改。信号被宽泛地定义为传递“关于某种现象的行为或属性的信息(如声音、图像和生物测量)”的函数。例如,信号处理技术用于提高信号传输的保真度、存储效率和主观质量,并在测量信号中强调或检测感兴趣的组件。我们熟悉的语音、图像都可以看做是一种信号形式。因此,对于语音、图像的增强、降噪、识别等等操作本质上都是信号处理。

交叉验证技术

交叉验证,有时亦称循环估计, 是一种统计学上将数据样本切割成较小子集的实用方法。于是可以先在一个子集上做分析, 而其它子集则用来做后续对此分析的确认及验证。 一开始的子集被称为训练集。而其它的子集则被称为验证集或测试集。交叉验证的目标是定义一个数据集到“测试”的模型在训练阶段,以便减少像过拟合的问题,得到该模型将如何衍生到一个独立的数据集的提示。

聚类技术

将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。“物以类聚,人以群分”,在自然科学和社会科学中,存在着大量的分类问题。聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法。聚类分析起源于分类学,但是聚类不等于分类。聚类与分类的不同在于,聚类所要求划分的类是未知的。聚类分析内容非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。

推荐文章
暂无评论
暂无评论~