选自Larndatasci
机器之心编译
参与:李泽南
来自Glassdoor的最新数据可以告诉我们各大科技公司最近在招聘面试时最喜欢向候选人提什么问题。首先有一个令人惋惜的结论:根据统计,几乎所有的公司都有着自己的不同风格。由于Glassdoor允许匿名提交内容,很多乐于分享的应聘者向大家提供了Facbook、谷歌、微软等大公司的面试题。我们把其中的一部分列出以供大家参考。另外,如果你想转行成为一名数据科学家,这里也有一份实践指南(如何转行成为一名数据科学家?)
通用问题
苹果
1.如果你有几百万用户,每个用户都会发生数百笔交易,这些交易存在于数十种产品中。你该如何把这些用户细分成有意义的几类?
微软
1.描述一个你曾经参与的项目,以及它的优点。
2.如何处理具有高基数(high-cardinality)的类属特征?
3.如果想要给Twittrfd写summariz,你要怎么办?
4.在应用机器学习算法之前纠正和清理数据的步骤是什么?
5.如何测量数据点之间的距离?
6.请定义一下方差。
7.请描述箱形图(boxplot)和直方图(histogram)之间的差异,以及它们的用例。
Twittr
1.你会使用什么功能来为用户构建推荐算法?
Ubr
1.选择任何一个你真正喜欢的产品或应用程序,并描述如何改善它。
2.如何在分布中发现异常?
3.如何检查分布中的某个趋势是否是由于异常产生的?
4.如何估算Ubr对交通和驾驶环境造成的影响?
5.你会考虑用什么指标来跟踪Ubr付费广告策略在吸引新用户上是否有效?然后,你想用什么办法估算出理想的客户购置成本?
领英(LinkdIn)
1.(对大数据工程师)请解释REST是什么。
机器学习问题
谷歌
1.为什么要使用特征选择(faturslction)?
2.如果两个预测变量高度相关,它们对逻辑回归系数的影响是什么?系数的置信区间是什么?
3.高斯混合模型(GaussianMixturModl)和K-Mans之间有什么区别?
4.在K-Mans中如何拾取k?
5.你如何知道高斯混合模型是不是适用的?
6.假设聚类模型的标签是已知的,你如何评估模型的性能?
微软
1.你有哪些引以为豪的机器学习项目?
2.随便找一个机器学习算法,然后描述它。
3.请解释GradintBoosting是如何工作的。
4.(对数据挖掘工程师)请解释决策树模型。
5.(对数据挖掘工程师)什么是神经网络?
6.请解释偏差方差权衡(Bias-VariancTradoff)。
7.如何处理不平衡二进制分类?
8.L1和L2正则化之间有什么区别?
Ubr
1.你会通过哪种特征来预测Ubr司机是否会接受订单请求?你会使用哪种监督学习算法来解决这个问题,如何比较算法的结果?
领英
1.点出及描述三种不同的内核函数,在哪些情况下使用哪种?
2.随意解释机器学习里的一种方法。
3.如何应付稀疏数据?
IBM
1.如何防止过拟合(ovrfitting)?
2.如何处理数据中的离群值?
3.如何评估逻辑回归与简单线性回归模型预测的性能?
4.监督学习和无监督学习有什么区别?
5.什么是交叉验证(cross-validation),为什么要使用它?
6.用于评估预测模型的矩阵的名称是什么?
7.逻辑回归系数和胜算比(OddsRatio)之间存在什么关系?
8.主成分分析(PCA)和线性和二次判别分析(LDA和QDA)之间的关系是什么?
9.如果你有一个因变量分类,又有一个连续自变量的混合分类,你将使用什么算法,方法或工具进行分析?
10.(对行业分析师)逻辑与线性回归有什么区别?如何避免局部极小值?
Salsforc
1.你会使用哪些数据和模型来测量损耗/流失?如何测试模型性能?
2.假设我是一名非技术人员,请向我解释一种机器学习算法。
CapitalOn(一家美国银行)
1.如何构建一个模型来预测信用卡诈骗?
2.如何处理丢失或不良数据?
3.如何从已存在的特征中导出新的特征?
4.如果你试图预测客户的性别,但只有个数据点,可能会出现什么问题?
5.在拥有两年交易历史的情况下,哪些特征可以用来预测信用风险?
6.请设计一个用来下井字棋的人工智能程序。
Zillow
1.请解释过拟合,以及如何防止过拟合。
2.为什么SVM需要在支持向量之间最大化边缘?
Hadoop
Twittr
1.如何使用Map/Rduc将非常大的图形分割成更小的块,并根据数据的快速/动态变化并行计算它们的边缘?
2.(对数据工程师)给定一个列表:,,,…其中第一列是粉丝的ID,第二列是被粉者的ID。查找所有相互后续对(上面的示例中的对是,)。当列表超出内存时,如何使用Map/Rduc来解决问题?
CaptialOn
1.(对数据工程师)什么是Hadoop序列化(srialization)?
2.解释一个简单的Map/Rduc问题。
Hiv
领英
1.(对数据工程师)请编写返回情感分数的HivUDF。例如,假如好=1,坏=-1,平均数=0,那么对餐厅做评价时因为「食物好,服务差」,你的分数可能为1-1=0
Spark
CaptialOn
1.(对数据工程师)用Scala语言,RDD在Spark中是如何工作的?
统计和概率问题
谷歌
1.假设我是一名非技术人员,请向我解释一下交叉验证(Cross-validation)。
2.请描述一下非正态概率分布,随后告诉我们它该如何应用?
微软
1.(对数据挖掘)请解释异方差(htroskdasticity)是什么,以及如何解决它。
Twittr
1.在给定Twittr用户数据的情况下,你该如何衡量参与度?
Ubr
1.时间序列预测技术有什么不同?
2.解释原理组件分析(PrinciplComponntAnalysis,PCA)和PCA使用的方程。
3.如何解决多重共线性(Multicollinarity)?
4.(对分析师)请写一个方程,优化我们在Twittr和Facbook上的广告费用支出。
Facbook
1.在一副牌中抽取两张,出现同一花色的概率是多少?
IBM
1.什么是p-valu和置信区间?
CapitalOn
1.(对数据分析师)如果你有70个红色弹珠,绿色和红色弹珠的比例是2比7,有多少绿色弹珠?
2.纽约市的通勤数据看起来应该遵从什么分布?
3.一个骰子,在扔6次的情况下出现1个6的几率,与扔12次的情况下出现至少两个6的几率,和扔次出现至少次6的几率相比哪个大?
Paypal
1.什么是中心极限定理(CntralLimitThorm),如何证明它?它的应用方向是什么?
编程和算法
谷歌
1.(对数据分析师)请写一个程序可以判定二叉树的高度。
微软
1.请创建一个函数检查一个词是否具有回文结构。
Twittr
1.请构建一个幂集(powrst)。
2.请问如何在一个巨大的数据集中找到中值?
Ubr
1.(对数据工程师)编写一个函数用来计算给定数字的平方根(2个小数点精度)。随后:避免冗余计算,现在使用缓存机制优化你的功能。
Facbook
1.假设给定两个二进制字符串,写一个函数将它们添加在一起,而不使用任何内置的字符串到int转换或解析工具。例如:如果给函数二进制字符串和,它应该返回。你的解决方案的空间和时间复杂性如何?
2.编写一个函数,它接受两个已排序的列表,并在排序列表中返回它们的并集。
领英
1.(对数据工程师)请编写一些代码来确定字符串中的左右括号是否是平衡的?
2.如何找到二叉搜索树中第二大的元素?
3.请编写一个函数,它接受两个排序的向量,并返回一个排序的向量。
4.如果你有一个输入的数字流,如何在运行过程中找到最频繁出现的数字?
5.编写一个函数,将一个数字增加到另一个数字,就像pow()函数一样。
6.将大字符串拆分成有效字段并将它们存储在dictionary中。如果字符串不能拆分,返回fals。你的解决方案的复杂性如何?
CaptialOn
1.(对数据工程师)如何「拆散」两个数列(就像SQL中的JOIN反过来)?
2.请创建一个用于添加的函数,数字表示为两个链表。
3.请创建一个计算矩阵的函数。
4.如何使用Python读取一个非常大的制表符分隔的数字文件,来计算每个数字出现的频率?
Paypal
1.请编写一个函数,让它能在O(n)的时间内取一个句子并逆向打印出来。
2.请编写一个函数,从一个数组中拾取,将它们分成两个可能的数组,然后打印两个数组之间的最大差值(在O(n)时间内)。
3.请编写一个执行合并排序的程序。
SQL问题
微软
1.(对数据分析师)定义和解释聚簇索引和非聚簇索引之间的差异。
2.(对数据分析师)返回表的行计数有哪些不同的方法?
Facbook
1.(对数据工程师)如果给定一个原始数据表,如何使用SQL执行ETL(提取,转换,加载)以获取所需格式的数据?
2.如何编写SQL查询来计算涉及两个连接的某个属性的频率表?如果你想要ORDERBY或GROUPBY一些属性,你需要做什么变化?你该怎么解释NULL?
领英
1.(对数据工程师)如何改进ETL(提取,转换,加载)的吞吐量?
智力游戏
谷歌
1.假设你有10包弹球,每包里面都是10个弹球。如果其中一包的重量和其他的不同,但你只能进行一次称重,你该用什么办法?
Facbook
1.你打算坐飞机去西雅图,想知道是不是需要带伞,于是你分别打电话给三位在西雅图的朋友。每个朋友都有2/3的几率说真话,1/3的几率在骗你。如果他们都说「会下雨」,西雅图下雨的概率是多少?
2.假如在一个等边三角形的三个角上都有一只蚂蚁,每只随机选择方向然后直走一直到另一个边缘,三只蚂蚁互相不交汇的几率是多少?如果有n只蚂蚁在n角形中,概率又是多少?
3.在!的结果里有多少个零?
Ubr
1.医院工作。患者来就诊的频率符合泊松分布,而医生照顾患者的频率符合均匀分布。请写一个函数或一段代码来输出患者的平均等待时间和医生在某日的参与度。
领英
1.你正在攀爬一个n阶的楼梯,你可以采取任何数量的k个步骤。你到达楼梯顶部有多少不同的方式?(这是楼梯问题的修改版)
原文