(图源:Unsplash)
文章经授权转载自 读芯术
不管你是拥有上万经验条的“老手”,亦或是初出茅庐却天资过人的“新手”,面试官总能“难倒你”。
在面试的时候,面试官所出题目涉及的范围可能会非常广,这既考验了面试者的技能知识,又很能体现面试者的沟通技巧。面试官会通过一系列的问题来衡量你的数据统计、编程,和数据建模能力,而且这些问题是经过专门设计的,需要你精神高度集中,并迫使你展示在压力下的工作状态。
好的准备工作是数据科学职业生涯成功的关键,这当然也包括面试过程。
怎样才能不被面试官“难倒”?怎样才能在一场数据科学面试上脱颖而出?小芯这次特别整理了你应该准备的所有数据科学面试问题,包括国内外109个面试问答,都是数据科学面试时面试者曾遇到的真实的问题哦,作为年末送给大家的福利~快将它收入囊中吧~
现在,我们将数据科学家将会遇到的面试问题分为了六个不同的类别:数据统计、编程、建模、行为、文化,和解决问题类。
1. 数据统计(Statistics)
2. 编程
3. 一般问题
4. 大数据
5. Python
6. R语言
7. 结构化查询语言(SQL)
8. 建模
9. 行为
10. 文化契合
11. 问题解决能力
图源:Unsplash
统计计算就是数据科学家通过原始数据来做出预测和建模的过程。没有杰出的统计学知识,是很难成为一个成功的数据科学家的。因此,一个优秀的面试官大概率会通过一些统计向的数据科学问题,来试探你对这个领域的理解。那么面试者最好对一些基本的统计问题有所准备,以此为数据面试做更充分的准备。
下列是我们搜寻到的一些常见统计问题:
1. 什么是中心极限定理?它为什么很重要?
“假设,我们有兴趣来估算所有人的平均身高。搜集世界上每个人的数据是不可能的。虽然我们不能获得每个人的身高测量数据,但我们仍可以从一些人身上取样。那么问题就变成了,对于这个单一的样本推测出的整个人口的平均身高,你的看法是怎么样的。中心极限定理其实也就是在讨论这个问题。”
2. 什么是抽样? 你知道多少种抽样方法?
“数据抽样是一种统计分析技术,用于选择、操作和分析具有代表性的数据点子集,以识别正在测试的更大数据集中的模式和趋势。”
3. I类错误和II类型错误的区别是什么?
“当原假设为真但被拒绝时,会发生I类错误。如果原假设是不成立的,但却错误地没有被拒绝,就会发生 II 类错误。”
4. 什么是线性回归?P 值、系数、和R平方值这些术语又是什么意思?它们各自的重要性又是怎样的?
线性回归是快速预测分析的好工具。举例来讲,房子的价格取决于许多因素,比如它的大小或位置。为了看到这些变量之间的关系,我们需要建立一个线性回归模型,它可以预测变量之间的最佳匹配线,并且可以帮助得出这两个因素之间是正相关还是负相关。
5. 线性回归需要什么样的假设?
有四个主要假设: (1). 因变量和回归变量之间存在线性关系,这意味着你正在创建的模型实际上适合数据。(2). 数据的误差或残差是正态分布的,相互独立。(3). 在解释变量间存在最小多重共线性。(4). 同方差性。这意味着对于预测变量的所有值,回归线周围的方差是相同的。
6. 什么是统计交互作用?
“基本上,交互作用是指一个因素(输入变量)对因变量(输出变量)的影响在另一个因素的不同水平上存在差异。”
7. 什么是选择性偏差?
“当为建模而收集和准备的样本数据具有不能代表模型将预测到的未来真实情况的特征时,选择(或‘抽样’)偏差会在‘主动的’意义上发生。也就是说,当一部分数据被系统地,即非随机地排除在分析之外时,就会出现主动选择性偏差。”
8. 非高斯分布的数据集是什么样的?
“高斯分布是指数族分布的一部分,但除此之外,还有很多使用十分便捷的分布。对研究深度学习的人而言,如果在统计学方面有坚实的基础,则能够更加熟练地应用这些分布。”
9. 二项式概率公式是什么?
“二项分布的概率包括:n次独立试验中每次成功的可能数量的概率,每次试验都发生的概率(希腊字母 pi)。”
在Glassdoor*上找到的类似的数据科学面试问题实例:
*Glassdoor 是美国一家做企业点评与职位搜索的职场社区。
什么是P值?如果有不同(更大,有三百万个期望值)的数据集你又如何理解P值变化?
Wayfair*公司(一家美国电子商务公司,主要销售家具和家居用品。)决定不再向过半的线上客户提供电话客服,它为什么要这么做?
如何巧妙地应用一些计算技巧,来更快速地计算逆矩阵?
为了检验编程技能,你通常会遇到以下两类问题:在不写出代码的情况下,你会如何从理论上解决编程问题?随后,面试官会要求你在白板上当场写下你的解决方案。对于后一种问题,这里有几个案例可供参考。在“实践出真知”的方针指导下,该网站围绕着核心概念出了很多有挑战的题目,而它们也是面试时常见的问题。
图源:Unsplash
一般问题
1. 你最擅长的编程语言和环境是什么?
2. 你最喜欢的统计软件有哪些优缺点?
3. 展示一个你原创的算法。
4. 描述一次你参与了实质性的编程组件的数据科学项目经历。以及你从那次经历中学到了什么?
5. 你是否为任何开源项目做过贡献?
6. 如何清理数据集(以insert语句为例)?
7. 展示你在上一个项目中做的代码。
大数据
1. Hadoop框架的两个主要构成部分?
Hadoop分布式文件系统(HDFS),MapReduce(编程模型),和另一种资源协调者(YARN)。
2. 尽量简洁地解释MapReduce的工作原理。
“MapReduce是一个编程模型,可以在使用商用硬件的计算机群上对大型数据集进行分布式处理。HadoopMapReduce首先会执行数据映射,这包括将大文件分割成多个部分,以生成另一组数据。”
3. 如何处理一长列数字?
4. 假设有一个大数据集。你将如何处理其中的异常值、缺失值,以及数据转换?
Python
1. 你最熟悉的模块和数据库有哪些?它们哪些特点让你喜欢,哪些让你讨厌?
2. Python是如何管理内存?
在Python中,内存是在私有堆空间中管理的,这意味着所有Python对象和数据结构都位于一个私有堆中。但是,程序员无法访问这个私有空间。相反,Python解释器将处理它。同时,核心应用程序接口(API)允许程序员使用一些Python工具来编写代码。内存管理器将为Python对象分配堆空间,而内置垃圾收集器则回收所有未使用的内存,并释放内存使其可用到堆空间。
3. Python支持哪些数据类型?
“Python的内置,或者标准数据类型可以分为几类。按Python官方文档中使用的层次结构模式来看,即数字类型、序列、集合和映射。”
4. Python中的元组(tuple)和列表(list)有什么区别?
“除了元组是不可变的之外,语句应用上两者也有区别。”
R语言
1.R语言中有哪些不同类型的排序算法?
有插入、选择和冒泡(bubble)排序算法。这里阅读更多。
2. R语言中的不同数据对象是什么?
“R语言可以将数值存储为不同的核心数据类型(在R术语中称为模式);这些类型包括数字(整数和双精度浮点数)、字符和逻辑符号。”
3. 你最熟悉的软件包是什么?你认为它们哪些特点让你喜欢,哪些让你讨厌?
4.如何访问名为M的矩阵的第2列和第4行中的元素?
“我们可以使用方括号索引方法访问矩阵中的元素。元素可以作为var[row, column]来访问。”
5. 在文件中用来存储R对象的命令是什么?
save (x,file=”x.Rdata”)
6. Hadoop和R语言一起进行数据分析的最佳方式是什么?
“Hadoop和R语言在大数据的可视化和分析方面相互补充。有四种不同的方法可以同时使用Hadoop和R语言。”
7. 在R语言中,如何将连续变量分成不同的组或级?
8. 用R语言编写一个函数,其功能是使向量的平均值替换该向量中的缺失值。
结构化查询语言(SQL)
SQL问题通常是基于实际案例的,这就意味着面试官会从实用的角度来测试你的技能。举例来讲,面试官会给你一个表单,要求你提取相关数据,然后根据你认为合适的方式对数据进行筛选和排序,最后陈述你的发现。如果你还没有准备好在面试环境中进行这样的操作,Mode Analytics(模式分析)提供了使用SQL的有趣介绍,它将通过一个交互式SQL环境来教你这些命令。
1. 组函数在SQL中的用途是什么?给出一些组函数的例子。
组函数是获得数据集的摘要统计信息的必要途径。COUNT、MAX、MIN、AVG、SUM和DISTINCT都是组函数。
2. 交集(innerjoin)、左结果集(left join)、右结果集(rightjoin)和合并(union)之间的区别。
“在维恩图中,交集就是左右两个表单匹配的部分,左结果集则产生于左表中有匹配项且右表无效时,右结果集与左结果集是相对的,合并就是指所有的数据。”
3. 合并(UNION)的功能?合并和全合并(UNIONALL)有什么不同?
“合并会删除重复的记录,也就是那些结果相同的栏,而全合并则不删除重复的部分。”
4. SQL、MySQL和SQLServer有什么区别?
“SQL就是结构化查询语言,它是访问和操作数据库的标准语言。MySQL是一个数据库管理系统,像SQLServer,Oracle1,Informix2,PostgreSQL3都是数据库管理系统。"
1:甲骨文公司的一款关联式資资料库管理系统。
2:IBM信息管理部门的一个产品系列。
3:是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。
5. 如果表单内包含重复行,查询结果是否默认显示重复值?如何从查询结果中消除重复行?
会的。使用DISTINCT语句是消除重复行的一种方法。
有关特定代码片段的其他SQL问题,请查看Toptal创建的资源。
在Glassdoor上找到的类似的数据科学面试问题实例:
评价一个Python函数。
SQL查询分为自我查询(self joins)和内查询(innerqueries)。可以通过分析性查询来解决问题。
图源:Unsplash
数据建模才是数据科学家为公司创造价值的途径。将数据转化为可预测的、可运用的信息是很困难的,与潜在雇主谈论这些问题更是如此。练习描述你过去建立模型的经历:你使用了哪些技巧,克服了哪些挑战,又取得了怎样的成功?
下面的一组问题就是帮助你了解这些信息,以及回顾不同建模技术。如果你不能描述你使用模型背后相关的理论和假设,你不会给面试官留下好印象。
那么请浏览以下的问题来进行练习,并不是所有的问题都会出现在你的面试里,你不需要掌握所有的技巧。这些问题更多的是帮助你重新熟悉过去学过的建模技术的。
1. 你如何为过去的雇主或客户设计一个模型?
2. 你最喜欢的数据可视化工作技巧是什么?
3. 如何有效地用五维方式展示数据?
4. k邻近算法和K均值算法有什么不同?
k-NN(距k最近区域的英文缩写),是一种分类算法,其中k是一个整数,用来描述影响给定观测值分类的相邻数据点的数量。K均值算法是一种聚类算法,其中k是一个整数,用于描述从给定数据创建的聚类数量。
5. 如何创建一个Logistic回归分析模型?
6. 用过时间序列模型吗?理解时滞的交叉相关性吗?
7. 解释二八法则,并说出它在模型验证中的重要性。
“人们通常倾向于用一个80%和20%的比例(80%的训练集,20%的测试集)开始建模,然后再次将训练集分离成80%和20%的比例来创建验证集。”
8. 解释什么是准确率、召回率,它们和ROC曲线有什么关系?
召回率表示了真正值在模型中被记为正值的比率。准确率描述了正面预测的正确率。ROC曲线显示了模型召回率和特异性之间的关系:特异性是用来衡量真负值在模型中被记为负值的比率。召回率、准确率和ROC是用来衡量给定分类模型有多大用处的指标。
9. 解释L1和L2正则化方法的区别。
“使用L1正则化技巧的回归模型称为套索回归(LassoRegression),使用 L2的回归模型称为岭回归,这两者之间的关键区别在于惩罚因子。”
10. 根本原因分析法是什么?
“我们所有人都害怕一种会议,那就是老板会问‘为什么营收减少了?’。更糟糕的是,我们对这个问题一点想法都没有。生意可谓是日新月异,但你想要准确地了解是什么在推动这些变化,尤其是那些意想不到的变化。理解变化的潜在原因被称为根本原因分析。”
11. 什么是哈希表碰撞?
“如果键值的范围大于哈希表的大小(通常都是这样的),那么我们必须考虑到两个不同的记录,和两组不同的答案会散列到同一个表索引的可能性。其实有几种不同的方法来解决这个问题。在哈希表中,这种解决方案称为碰撞解决方案。”
12. 什么是精确检验?
“精确(显著性)检验中所有推导检验统计量分布假设都能够得到满足,而在近似检验中,通过使样本规模足够大,就可以得到足够接近的近似值。之后就要进行显著性检验,其错误拒绝率总是等于检验的显著性水平。例如,在显著性水平为5%的精确检验中,从长远来看,拒绝真正的零假设的时间只占5%。”
13. 在你看来,设计机器学习模型时,哪个更重要:模型性能还是模型准确性?
这里有本问题的一个解答。
14. 如何处理一个用于预测的不平衡数据集,例如在负类比正类多得多的情况下?
15. 如何使用多元回归来验证,你创建的生成预测模型的定量结果?
16. 两个模型的准确性和计算性能相当,该选择哪一个模型投入生产,为什么?
17. 如何处理稀疏性?
18. 花五天时间研究出一个准确度为90%解决方案,还是花10天时间研究出100%准确的解决方案?
19. 一般线性模型失败的情况有哪些?
20. 你是否认为50个小的决策树比一整个大的更好?为什么?
21. 在修改算法时,如何知道你的更改是对是对不执行任何操作的改进?
22. 是有太多的假正值还是太多的假负值更好?
这取决于几个因素。
在Glassdoor上找到的类似的数据科学面试问题实例:
如何对各有一百条消费记录的百万用户,进行有效分类,分类标准是一万人为一组,他们的共同特征是消费过同类产品。
学术型问题总是能找到答案的。请回忆一下各基本算法的一两个特点:神经网络,随机森林,支持向量机,线性回归。
你会怎样调整一个随机森林?
想象一下场景:我签署了一份保密协议,所以我不能揭露过多细节。但是面试官提出了一个开放式问题,它包含了我创建、设计、应用一个算法的全过程。
图源:Unsplash
过去的行为
雇主很喜欢行为性问题。因为这些问题不仅能够揭示受试者的工作经历,还有他们的工作态度,以及受试者曾给一个团队带来的影响。从这些问题出发,面试官想了解的是面试者在过去是如何应对这些环境的,他们又是如何把自己的作用发挥到极致的,以及他们能从这些经历中学到什么。
那么行为性问题通常有以下几类:
1. 团队合作
2. 领导力
3. 冲突应对
4. 解决问题
5. 面对失败
在开始面试前,写下和这些话题有关的工作经历,帮助你唤醒之前的记忆,因为你可能需要之前发生的真实的案例来回答这些问题。注意,要求你陈述前段经历的时候,确保你说的是一个故事,而简洁并有逻辑地讲述你详尽的经历是非常重要的。
比如:“我被要求去做X。我做了A,B,和C,然后我觉得正确答案应该是Y。”
当然,如果你能够突出讲述和数据科学有关的经历,这些问题就是展示你作为一个优秀的数据科学家的大好时机。
下面是一些具体问题:
1. 描述一次你主动工作的情景。
2. 描述一次你需要克服困境的经历。
3. 描述一次你解决争端的经历。
4. 描述一次你失败的经历,以及你从中学到了什么。
5. 描述你简历上的一次工作经历。你选择那份工作的理由是什么?以及你最喜欢那份工作的哪一点。
6. 描述一次小组工作经历中你所战胜的挑战。
7. 当你接手了一个无趣的工作,你会如何解决它?以及你如何让自己有动力完成它?
8. 在过去,你如何让客户满意或者开心?
9. 上一份工作中你引以为傲的地方。
10. 你的私生活影响到工作时你会怎么做?
在Glassdoor上找到的类似的数据科学面试问题实例:
看看那个混蛋发给我的这封邮件,你会怎么处理这种情况?(他实际上给我看了他的收件箱,然后让我看公司其他部门发来的一封命令语气极强的邮件。)
你如何通过数据改变世界?
图源:Unsplash
文化契合
如果面试官问到了一下的问题,那么他们主要是想了解你是谁,以及你将如何适应这个公司的环境。他们在估量你对数据科学,以及对他们公司的兴趣是从哪儿来的。
看看以下的问题,想出你最好的答案,但注意回答问题时一定要诚实。没有理由不去做你自己。这些问题没有标准答案,但能够确定的一点是,好的回答诞生于充满自信感的交流。
1. 你最崇拜哪个数据科学家?最崇拜哪些初创企业?
有很多伟大的数据科学家可以选择,多了解一些世界顶级数据科学家的趣事。
2. 你认为成为一个优秀的数据科学家需要哪些品质?
3. 你是如何对数据科学产生兴趣的?
4. 举出几个数据科学中的最佳应用实例。
5. 你最近阅读的数据科学书籍或文章是什么?你最近参与的数据挖掘会议、线上研讨会、课程、工作坊、训练有哪些?
如果最近你没有阅读优秀的数据科学书籍,Springboard提供了最佳数据科学书籍书单。
6. 你想参与我们公司的哪个项目?
7. 你认为你能给团队带来什么独特的能力?
8. 如果不加限制的话,你最想获得什么数据?
9. 你想过创立自己的公司吗?它是基于什么想法或概念的?
10. 你的爱好能够传达出的简历里表现不出来的信息有哪些?
11. 你对未来20年的五个主要预测?
12. 你今天做了什么?或者你这个周、上个周做了什么?
13. 如果你中了一百万美金的彩票,你会如何用这笔钱?
14. 大多数人不认同但你坚持相信的一件事?
15. 你不认同哪些性格特征?
16. 数据科学领域外你感兴趣的事情?
在Glassdoor上找到的类似的数据科学面试问题实例:
你看重一个企业的五个原因。
如果你可以拥有一种超能力,你希望它是什么?
问题解决能力
在数据科学面试中,面试官会不定时的想要测试你的问题解决能力。通常这些问题都是开放式的,你会如何解决X?一般来说,这个X会是你所面试的公司需要解决的问题。
比如,Yelp的面试官就会让面试者回答如何解决Yelp*上的虚假评论。
*美国最大的点评网站。
一些小技巧:首先,不要害怕问问题。面试官想要衡量你的批判性思维能力,而问问题来解决不确定性是每一个数据科学家都应该有的能力。
同时,如果这个问题为展示你白板演示代码,或是原理图的能力提供了机会,不要浪费,多多展示自己。
它不仅展示了你的专业技能,还通过不同的沟通模式展示了你的思维过程。记得一定要展示你的思维过程,对于面试官来说,过程比结果更重要。
1. 如何想出一个识别作弊的方法?
2. 一个Yelp评论会收到几个“有用”?
3. 如何识别个人账户为多个消费者买单的情况?
4. 你要发送一百万封邮件。怎样最优化传输过程?以及如何最优化回复?
5. 一个有十万行和一百列的数据集,其中一列是要解决问题的因变量。如何快速确定哪一列对于预测因变量有帮助?想出两个方案,并向我解释,就当我只有五岁。
6. 如何检测那些恶意的假评论和假帐户?
这是展示你对机器学习算法掌握程度的好时机,尤其是情感分析算法和文本分析算法。展示你对欺诈行为的了解,那些假账户通常会有什么异常的表现?
7. 如何对一百万个关键词进行聚类算法?假设有一千万个数据点,每一个都包含两个关键词,你需要衡量两个关键词的相似度。一开始你会如何创建者一千万个数据点的表单呢?
8. 如何最优化一个网络蜘蛛使其运行得更快,提取更优的信息,并且更好得总结信息从而创立一个更清晰的数据库?
在Glassdoor上找到的类似的数据科学面试问题实例:
假设你有一家咖啡店,如何来扩大客户数量?
如何根据已知消费记录预测未来消费?
假设你的桶里有很多截绳子,你随机拿出一个,再拿出一个,然后把它们系起来。那么桶内成环的预计数值是多少?
图源:Unsplash
没有百分之一百的成功途径,只有不断努力与完善自己各个方面,才能更加自信,超常发挥!
祝大家好运~
end.
长
按
关
注
CDA 课程咨询
联系人:史老师
联系电话:18080942131