DC共享平台——数据分析岗笔试面试题本材料是由DataCastle从谷歌、微软、facebook、百度等企业的网络公开招聘题中进行精选,并附上详细解析,适合应聘数据分析岗位的求职者,未经同意不得转载,请联系zhengchengzhuang@datacastle.cn提前沟通,未经授权的转载会联系法务进行处理。1.一般,K-NN最近邻方法在()的情况下效果较好A.样本较多但典型性不好B.样本较少但典型性好C.样本呈团状分布D.样本呈链状分布答案:B解析:样本呈团状颇有迷惑性,这里应该指的是整个样本都是呈团状分布,这样kNN就发挥不出其求近邻的优势了,整体样本应该具有典型性好,样本较少,比较适宜。2.一个包里有5个黑球,10个红球和17个白球。每次可以从中取两个球出来,放置在外面。那么至少取________次以后,一定出现过取出一对颜色一样的球。A.16B.9C.4D.1答案:A解析:考虑最坏的情况,前10次取出的都是红球+白球的组合,后5次取出的都是黑球+白球的组合,最后只剩下两个白球,则再取1次必取出相同颜色的球,因此总计16次。3.用直接插入排序方法对下面4个序列进行排序(由小到大),元素比较次数最少的是()A.94,32,40,90,80,46,21,69B.32,40,21,46,69,94,90,80C.21,32,46,40,80,69,90,94D.90,69,80,46,21,32,94,40答案:C解析:插入排序的原理是将第i个数插入到已经排列好的数据中,因此原序列越有序,比较次数越少4.下面有关分类算法的准确率,召回率,F1值的描述,错误的是?A.准确率是检索出相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率B.召回率是指检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率C.正确率、召回率和F值取值都在0和1之间,数值越接近0,查准率或查全率就越高D.为了解决准确率和召回率冲突问题,引入了F1分数答案:C解析:对于二类分类问题常用的评价指标是精准度(precision)与召回率(recall)。通常以关注的类为正类,其他类为负类,分类器在测试数据集上的预测或正确或不正确,4种情况出现的总数分别记作:TP——将正类预测为正类数FN——将正类预测为负类数FP——将负类预测为正类数TN——将负类预测为负类数由此:精准率定义为:P=TP/(TP+FP)召回率定义为:R=TP/(TP+FN)F1值定义为:F1=2PR/(P+R)精准率和召回率和F1取值都在0和1之间,精准率和召回率高,F1值也会高,不存在数值越接近0越高的说法,应该是数值越接近1越高。5.NaiveBayes是一种特殊的Bayes分类器,特征变量是X,类别标签是C,它的一个假定是:()A.各类别的先验概率P(C)是相等的B.以0为均值,22为标准差的正态分布C.特征变量之间是相互独立的D.P(X|C)是高斯分布答案:C解析:朴素贝叶斯的条件就在于假设每个变量相互独立6.下列不是SVM核函数的是:A.多项式核函数B.logistic核函数C.径向基核函数D.Sigmoid核函数答案:B解析:SVM核函数包括线性核函数、多项式核函数、径向基核函数、高斯核函数、幂指数核函数、拉普拉斯核函数、ANOVA核函数、二次有理核函数、多元二次核函数、逆多元二次核函数以及Sigmoid核函数7.(多选)数据清理中,处理缺失值的方法是?A.估算B.整例删除C.变量删除D.成对删除答案:A,B,C,D解析:数据清理中,处理缺失值的方法有两种:删除法:1)删除观察样本2)删除变量:当某个变量缺失值较多且对研究目标影响不大时,可以将整个变量整体删除3)使用完整原始数据分析:当数据存在较多缺失而其原始数据完整时,可以使用原始数据替代现有数据进行分析4)改变权重:当删除缺失数据会改变数据结构时,通过对完整数据按照不同的权重进行加权,可以降低删除缺失数据带来的偏差查补法:均值插补、回归插补、抽样填补等成对删除与改变权重为一类估算与查补法为一类8.在LogisticRegression中,如果同时加入L1和L2范数,会产生什么效果()A.可以做特征选择,并在一定程度上防止过拟合B.能解决维度灾难问题C.能加快计算速度D.可以获得更准确的结果答案:A解析:L1范数具有系数解的特性,但是要注意的是,L1没有选到的特征不代表不重要,原因是两个高相关性的特征可能只保留一个。需要通过交叉验证,确定哪个特征重要。为什么L1,L2范数可以防止过拟合呢?在代价函数后面加上正则项,L1即是Lasso回归,L2是岭回归但是它为什么能防止过拟合呢?奥卡姆剃刀原理:能很好的拟合数据且模型简单模型参数在更新时,正则项可使参数的绝对值趋于0,使得部分参数为0,降低了模型的复杂度(模型的复杂度由参数决定),从而防止了过拟合。提高模型的泛化能力。9.有两个样本点,第一个点为正样本,它的特征向量是(0,-1);第二个点为负样本,它的特征向量是(2,3),从这两个样本点组成的训练集构建一个线性SVM分类器的分类面方程是()A.2x+y=4B.x+2y=5C.x+2y=3D.2x-y=0答案:B解析:SVM要找到间隔最大的分类平面,这里即求两点(0,-1),(2,3)的垂直平分线。斜率为:-1/((3+1)/(2-0))=-1/2中点为:(1,2)所以,分类超平面为:x+2y=510.执行完下列语句段后,i值为()intf(intx){return((x0)?x*f(x-1):2)}inti;i=f(f(2));A.4B.48C.8D.无限递归答案:B解析:f(x)当x大于0时,返回x*f(x-1),否则返回2f(0)=2f(1)=1*f(0)=2f(2)=2*f(1)=4f(3)=3*f(2)=12f(4)=4*f(3)=48f(4)=f(f(2))=4811.连续存储设计时,存储单元的地址()A.一定连续B.一定不连续C.不一定连续D.部分连续,部分不连续答案:C解析:1.存储单元的地址,考察的是存储结构:2.存储结构的含义是:数据元素在计算中的存储形式。3.线性表的存储结构分为顺序存储和链式存储:(1)顺序存储为逻辑上相邻且物理地址也连续,以数组形式出现,可以取任意下标访问,是一种随机存取的存储结构;(2)链式存储是逻辑上相邻但是物理地址不一定连续,以链表的形式出现,必须从头开始访问,是一种顺序存取的存储结构。所以:答案选C,存储单元的地址(物理地址)不一定连续12.麦秋时节,庄园主雇了个力大无穷的农民来帮他收割田里的麦子。收获的劳动量很大,农民必须在七天之内收割完。庄园主答应每天给他一块金块作工钱。但是这七块相等的金子是连在一起的,然而工钱是必须每天结清的。农民不愿意庄园主欠帐,而庄园主也不肯预付一天工钱。请问最少掰金子几次可以完成上述任务?A.2B.3C.4D.7答案:A解析:1、第一天,庄园主掰1块金给农民,付第一天的。农民:1;庄园主:62、第二天,庄园主从剩下的6块里面掰下2块给农民,并收回第一天的一块。农民:2;庄园主:1+43、第三天,庄园主将手里的一块散金给农民。农民:2+1;庄园主:44、第四天,庄园主收回农民手里的三块金,并把手里的金给农民。农民:4;庄园主:2+15、第五天,庄园主把手里的1块散金给农民。农民:4+1;庄园主:26、第六天,庄园主收回农民手里的1块散金,将2块金给农民。农民:4+2,庄园主:17、第七天,庄园主将手里的金块给农民。农民:7,庄园主:0综上,最少掰了两次可以搞定13.(多选)算法一般都可以用哪几种控制结构组合而成?A.顺序B.选择C.递归D.循环答案:A,B,D解析:算法一般不用递归,因为太消耗时间。14.用下面的T-SQL语句建立一个基本表:CREATETABLEStudent(SnoCHAR(4)PRIMARYKEY,SnameCHAR(8)NOTNULL,SexCHAR(2),AgeINT)可以插入到表中的元组是()'A.5021','刘祥',男,21B.NULL,'刘祥',NULL,21'C.5021',NULL,男,21'D.5021','刘祥',NULL,NULL答案:D解析:“男”为字符串类型,要添加引号,所以A,C排除,主键不能为NULL,排除B15.一个查询语句执行后显示的结果为:1班802班753班NULL,则最有可能的查询语句是()A.SELECTAVG(成绩)FROM成绩表WHEREclass=3B.SELECTAVG(成绩)FROM成绩表WHEREclass=3GROUPBYclassC.SELECTAVG(成绩)FROM成绩表WHEREclass=3orderbyclassD.SELECTAVG(成绩)FROM成绩表HAVINGclass=3GROUPBYclass答案:B解析:select之后如果是聚合函数则groupby分组会显示null的结果,而orderby不会显示null的结果,having用在分组之后16.在一个单链表中,q的前一个节点为p,删除q所指向节点,则执行A.deleteqB.q-next=p-nerx;deletep;C.p-next=q-next;deletep;D.p-next=q-next;deleteq;E.deletep;F.q-next=p-next;deleteq答案:D解析:让p指向q的下一个节点再删除q17.(多选)有一个单向链表,头指针和尾指针分别为p,q,以下哪项操作的复杂度不受队列长度的影响?A.删除头部元素B.删除尾部元素C.头部元素之前插入一个元素D.尾部元素之后插入一个元素答案:A,C,D解析:单链表删除元素需要找到尾部元素的前一个元素,与队列长度有关,因此删除尾部元素时,虽然给出了尾指针,但是单链表删除还要知道前一节点,所以还是要遍历一遍才能知道尾指针前一节点既与队列长度有关18.设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为()。A.课号,成绩B.学号,成绩C.学号,课号D.学号,姓名,成绩答案:C解析:学号是学生表S的主键,课号是课程表C的主键,所以选课表SC的关键字就应该是与前两个表能够直接联系且能唯一定义的学号和课号,所以选择C。19.S市A,B共有两个区,人口比例为3:5,据历史统计A的犯罪率为0.01%,B区为0.015%,现有一起新案件发生在S市,那么案件发生在A区的可能性有多大?A.37.5%B.32.5%C.28.6%D.26.1%答案:C解析:在A区犯案概率:P(C|A)=0.01%在B区犯案概率:P(C|B)=0.015%在A区概率:P(A)=3/8在B区概率:P(B)=5/8犯案概率:P(C)=(3/8*0.01%+5/8*0.015%)则犯案且在A区的概率:P(A|C)=P(C|A)*P(A)/P(C)=0.01%*(3/8)/(3/8*0.01%+5/8*0.015%)≈28.6%20.已知中国人的血型分布约为A型:30%,B型:20%,O型:40%,AB型:10%,则任选一批中国人作为用户调研对象,希望他们中至少有一个是B型血的可能性不低于90%,那么最少需要选多少人?A.7B.9C.11D.13答案:C解析:一个人不是B型的概率是1-0.2=0.8n个人全不是b型的概率是0.8^n,所以n个人至少有一个是b型的概率是1-0.8^n要这个概率不低于0.9,就需要0.8^n0.1n的最小值是1121.若元素a,b,c,d,e,f依次进栈,允许进栈、退栈操作交替进行。但不允许连续三次进行退栈操作,则不可能得到的出栈序列是()A.d,c,e,b,f,aB.c,b,d,a,e,fC.b,c,a,e,f,dD.a,f,e,d,c,b答案:D解析:最后入栈的元素越早出栈,就越可能违背题目中不得连续出栈的要求,因为后入栈的元素之前的元素大部分都只能跟在该元素之后依次弹出。如D中最后入栈