数据分析师面试常见问题有哪些?

2024-05-04 19:28

1. 数据分析师面试常见问题有哪些?

1、如何理解过拟合?
过拟合和欠拟合一样,都是数据挖掘的基本概念。过拟合指的就是数据训练得太好,在实际的测试环境中可能会产生错误,所以适当的剪枝对数据挖掘算法来说也是很重要的。
欠拟合则是指机器学习得不充分,数据样本太少,不足以让机器形成自我认知。
2、为什么说朴素贝叶斯是“朴素”的?
朴素贝叶斯是一种简单但极为强大的预测建模算法。之所以称为朴素贝叶斯,是因为它假设每个输入变量是独立的。这是一个强硬的假设,实际情况并不一定,但是这项技术对于绝大部分的复杂问题仍然非常有效。
3、SVM 最重要的思想是什么?
SVM 计算的过程就是帮我们找到超平面的过程,它有个核心的概念叫:分类间隔。SVM 的目标就是找出所有分类间隔中最大的那个值对应的超平面。在数学上,这是一个凸优化问题。同样我们根据数据是否线性可分,把 SVM 分成硬间隔 SVM、软间隔 SVM 和非线性 SVM。
4、K-Means 和 KNN 算法的区别是什么?
首先,这两个算法解决的是数据挖掘中的两类问题。K-Means 是聚类算法,KNN 是分类算法。其次,这两个算法分别是两种不同的学习方式。K-Means 是非监督学习,也就是不需要事先给出分类标签,而 KNN 是有监督学习,需要我们给出训练数据的分类标识。最后,K 值的含义不同。K-Means 中的 K 值代表 K 类。KNN 中的 K 值代表 K 个最接近的邻居。

数据分析师面试常见问题有哪些?

2. 关于数据分析师的一个面试题。

是选19次,每次一个数字,数字是可以重复的,那么你的答案是对的
可能是对题目本身的理解你和考官不一致

3. 怎么面试数据分析师?

1、考察对数据的敏感度
面试的时候,数据部门经理问一些生活中的数据的问题,一个优秀的数据分析师对数据有很强的敏感度,生活中常见的数据,你直观的感受往往能反应出你的资质。
2、数学基本概念和统计学方法
遇到的有排列组合的问题的,还有指数衰减的定义等等。或者直接给一个问题或者数据,问问你打算用什么样的方法怎样去分析。在给你数据的时候,一定要记得说数据预处理。这一点非常重要,这样会让人觉得你的回答逻辑清楚,有条有理。如果想从事与数据科学相关的岗位,需要学习的数据知识可以参考成都加米谷大数据培训机构的:想从事数据科学相关岗位,这些数学基础“必备”。
3、编程能力
你一定要有自己熟练的软件,常问的问题是,你一般用excel干什么,常用的函数有哪些?你是否用过数据透视表?是够用过宏?你平时多久用一次R,你是否用过或了解过并行,等等关于软件的问题。在面试小公司时,HR会可能直接给你一个数据进行数据分析,题目一般给的都不太难。

怎么面试数据分析师?

4. 招聘数据分析师时一般会出哪些面试题

下面给你整理了一部分应聘数据分析师会遇到的问题:
1、你处理过的最大的数据量?你是如何处理他们的?处理的结果。
2、告诉我二个分析或者计算机科学相关项目?你是如何对其结果进行衡量的?
3、什么是:提升值、关键绩效指标、强壮性、模型按合度、实验设计、2/8原则?
4、什么是:协同过滤、n-grams, map reduce、余弦距离?
5、如何让一个网络爬虫速度更快、抽取更好的信息以及更好总结数据从而得到一干净的数据库?
6、如何设计一个解决抄袭的方案?
7、如何检验一个个人支付账户都多个人使用?
8、点击流数据应该是实时处理?为什么?哪部分应该实时处理?
9、你认为哪个更好:是好的数据还是好模型?同时你是如何定义“好”?存在所有情况下通用的模型吗?有你没有知道一些模型的定义并不是那么好?
10、什么是概率合并(AKA模糊融合)?使用SQL处理还是其它语言方便?对于处理半结构化的数据你会选择使用哪种语言?
11、你是如何处理缺少数据的?你推荐使用什么样的处理技术?
12、你最喜欢的编程语言是什么?为什么?

5. 面试数据分析师看重哪些方面?

1、考察对数据的敏感度
面试的时候,数据部门经理问一些生活中的数据的问题,一个优秀的数据分析师对数据有很强的敏感度,生活中常见的数据,你直观的感受往往能反应出你的资质。
2、数学基本概念和统计学方法
遇到的有排列组合的问题的,还有指数衰减的定义等等。或者直接给一个问题或者数据,问问你打算用什么样的方法怎样去分析。在给你数据的时候,一定要记得说数据预处理!这一点非常重要,这样会让人觉得你的回答逻辑清楚,有条有理。如果想从事与数据科学相关的岗位,需要学习的数据知识可以参考成都加米谷大数据培训机构的:想从事数据科学相关岗位,这些数学基础“必备”。
3、编程能力
你一定要有自己熟练的软件,常问的问题是,你一般用excel干什么,常用的函数有哪些,你是否用过数据透视表,是够用过宏,你平时多久用一次R,你是否用过或了解过并行等等关于软件的问题。在面试小公司时,HR会可能直接给你一个数据进行数据分析,题目一般给的都不太难。

面试数据分析师看重哪些方面?

6. 数据分析师面试经验

 数据分析师面试经验
                      经常被问到一个问题,数据分析师或者数据挖掘工程师面试都问什么问题啊?特别是以下几类人群:
    
    1、想转行做数据分析工作的朋友。
    2、之前在比较小的公司做数据分析师,去大公司面试。
    3、在校大学生。
    在回答这些问题之前,先谈我的一个面试经历,记得之前我在一家小公司做数据分析师的时候,有朋友推荐我去一家大公司去面试数据分析师。当时我也在想,在面试大公司的数据分析师一定会问:
    1、你做过哪些模型?
    2、用什么工具做的啊?
    3、你会或者知道哪些算法啊?
    4、数据量有多大?
    .......
    但是当我去沟通下来的时候,问关于数据挖掘模型算法原理、使用什么工具的东西不多。更多是问一些关于项目背景、怎么思考这些项目、如何使用这些模型结果、怎么推动业务方去使用数据结果。【坦白说当时觉得不可思议,怎么问这些问题呢?】
    所以大家在面试数据分析岗位的时候,基础知识是必须的。但是更多要关注数据实现数据价值,特别是从事一段时间数据分析同学,但如果仅仅是刚准备从事数据分析同学,基础的专业知识与技能肯定是面试必问的话题。如果这家公司希望未来培养或者招的真的做数据分析的,那就会像我面试碰到的,一定也会很关注面试之外的问题。
    回到具体面试的问题,PS:这里我仅仅谈谈我的几点看法和我面试中会问到的几个问题,以及我为什么会为这些问题。
    一、了解你面试岗位的工作性质
    1、你对于你面试岗位价值的理解。
    2、你觉得这个岗位大概的工作内容。
    3、对于公司的理解。
    二、沟通表达/逻辑思维
    1、说一下你过往做的一些项目/说说你以前的工作经历。
    2、你之前做过的一些专业分析。
    3、你之前做过的模型。
    4、之前是如何与业务方打交道的。
    三、对于数据与商业的理解
    1、如何理解数据敏感性?
    2、你觉得数据怎么体现其商业价值?能否举个例子。
    四、专业技能
    1、基础的统计学知识。
    2、数据挖掘基本的算法。
    3、怎么评估模型好坏。
    4、使用的工具。
    5、数据挖掘流程。
    6、怎么清洗变量【例如:指标定义、缺失值处理】。
    7、怎么解决建模中会碰到一些技术问题【例如:共线性、不同模型针对的.数据类型】。
    五、学习能力
    1、是怎么学习专业知识。
    2、怎么学习业务知识。
    六、职业发展
    1、未来3年的职业规划。
    2、要实现这些规划计划是怎么样。
    我把面试过程可以会问几类问题,不同的面试官可以侧重点不一样。我想和所有面试数据分析师的朋友说的:
    1、面试过程中大家是平等的。不要太弱势也不要太强势。
    2、把你之前的工作有条理的表达出来。
    3、面试一些问题的时候,可以想一想。我个人觉得,并不是所有的问题必须别人一问完,立即回答。
    4、把面试当作一种学习与经历。关键是从一些面试中你能发现自己不足。
    另外一些小tips:
    1、面试之前了解这个岗位。了解一下这个公司。花点时间在面试公司和岗位,了解了解人家公司是干什么,如果你对这家公司特别感兴趣,去网站上看看,去体验体验人家公司的产品和服务。会让面试的人感觉到尊重。当然太贵就算了。
    2、如果有认识的人或者通过一些渠道先了解一下你面试的公司,部门情况到底是怎么样的。到底要招什么样的人。
    3、很多企业的招聘与实际需要的人之间有很大的出入。
    4、投递简历前:花点时间在简历上:要看到一份没有错别字且能把之前工作写清楚在一张纸上真的很少。
    5、机会是留给有准备的人。你准备好了吗?每次面试结束看,看看自己的不足,然后一定立即去学起来。
    
  ;

7. 如何准备数据分析师面试?

1. 理论知识(概率统计、概率分析等)
掌握与数据分析相关的算法是算法工程师必备的能力,如果你面试的是和算法相关的工作,那么面试官一定会问你和算法相关的问题。比如常用的数据挖掘算法都有哪些,EM 算法和 K-Means 算法的区别和相同之处有哪些等。
有些分析师的工作还需要有一定的数学基础,比如概率论与数理统计,最优化原理等。这些知识在算法优化中会用到。
除此以外,一些数据工程师的工作更偏向于前期的数据预处理,比如 ETL 工程师。这个职位考察你对数据清洗、数据集成的能力。虽然它们不是数据分析的“炼金”环节,却在数据分析过程中占了 80% 的时间。
2. 具体工具(sklearn、Python、Numpy、Pandas 等)
工程师一定需要掌握工具,你通常可以从 JD 中了解一家公司采用的工具有哪些。如果你做的是和算法相关的工作,最好还是掌握一门语言,Python 语言最适合不过,还需要对 Python 的工具,比如 Numpy、Pandas、sklearn 有一定的了解。
数据 ETL 工程师还需要掌握 ETL 工具,比如 Kettle。
如果是数据可视化工作,需要掌握数据可视化工具,比如 Python 可视化,Tableau 等。
如果工作和数据采集相关,你也需要掌握数据采集工具,比如 Python 爬虫、八爪鱼。
3. 业务能力(数据思维)
数据分析的本质是要对业务有帮助。因此数据分析有一个很重要的知识点就是用户画像。
用户画像是企业业务中用到比较多的场景,对于数据分析来说,就是对数据进行标签化,实际上这是一种抽象能力。
关于如何准备数据分析师面试,青藤小编就和您分享到这里了。如果您对大数据工程有浓厚的兴趣,希望这篇文章可以为您提供帮助。如果您还想了解更多关于数据分析师、大数据工程师的技巧及素材等内容,可以点击本站的其他文章进行学习。

如何准备数据分析师面试?

8. 数据分析师—技术面试

数据分析师—技术面试
三月份开始找实习,到现在已经有半年的时间了,在这半年的时间中,该经历的基本上都已经经历,春招实习时候,拿到了7个offer,校招时候,成功的拿下一份心仪的工作,结束了我的秋招旅程。对于面试,技术层面即算法、软件等等,业务层面就是忽悠(毕竟没有做过完整的项目),但是也要有自己的逻辑和思考方式(这方面我也有很大的欠缺),下面将自己的面试经历梳理为技术层面和业务层面,来分享给大家。
技术面试
一、软件
 
1. R语言的文件读取:csv文件的读取方式(read.csv),txt文件的读取方式(read.table)
2. R语言中一些小函数的作用
①apply函数:1代表调用每一行的函数,0代表调用每一列的函数(注意其用法和Python的区别)
②runif函数:生成均匀分布的随机数
③sample(,return = TRUE):随机有放回的抽样
3. Python中list列表和元组的最大区别:元组的值不可以改变,但是列表的值是可以改变的。
4.数据库中表的连接方式
①内部连接:inner  join
②外部连接:outer  join
③左连接:left  join  
注:对于数据分析,建议大家无论是R,Python,sql都有自己一套流程化的体系,这一体系可以很好的帮助你解决实际中的问题。
二、算法
 
对于算法(分类,聚类,关联等),更是建议大家有一套流程化的体系,在面试算法的时候,是一个依次递进的过程,不要给自己挖坑,相反,更要将自己的优势发挥的淋漓尽致,把自己会的东西全部释放出来。
下面我将自己的所有面试串联起来,给大家分享一下,仅供参考。
面试官:小张同学,你好,看了你的简历,对相关算法还是略懂一些,下面开始我们的面试,有这么一个场景,在一个样本集中,其中有100个样本属于A,9900个样本属于B,我想用决策树算法来实现对AB样本进行区分,这时会遇到什么问题:
小张:欠拟合现象,因为在这个样本集中,AB样本属于严重失衡状态,在建立决策树算法的过程中,模型会更多的偏倚到B样本的性质,对A样本的性质训练较差,不能很好的反映样本集的特征。
面试官:看你决策树应该掌握的不错,你说一下自己对于决策树算法的理解?
小张:决策树算法,无论是哪种,其目的都是为了让模型的不确定性降低的越快越好,基于其评价指标的不同,主要是ID3算法,C4.5算法和CART算法,其中ID3算法的评价指标是信息增益,C4.5算法的评价指标是信息增益率,CART算法的评价指标是基尼系数。
面试官:信息增益,好的,这里面有一个信息论的概念,你应该知道的吧,叙述一下
小张:香农熵,随机变量不确定性的度量。利用ID3算法,每一次对决策树进行分叉选取属性的时候,我们会选取信息增益最高的属性来作为分裂属性,只有这样,决策树的不纯度才会降低的越快。
面试官:OK,你也知道,在决策树无限分叉的过程中,会出现一种现象,叫过拟合,和上面说过的欠拟合是不一样的,你说一下过拟合出现的原因以及我们用什么方法来防止过拟合的产生?
小张:对训练数据预测效果很好,但是测试数据预测效果较差,则称出现了过拟合现象。对于过拟合现象产生的原因,有以下几个方面,第一:在决策树构建的过程中,对决策树的生长没有进行合理的限制(剪枝);第二:在建模过程中使用了较多的输出变量,变量较多也容易产生过拟合;第三:样本中有一些噪声数据,噪声数据对决策树的构建的干扰很多,没有对噪声数据进行有效的剔除。对于过拟合现象的预防措施,有以下一些方法,第一:选择合理的参数进行剪枝,可以分为预剪枝后剪枝,我们一般用后剪枝的方法来做;第二:K-folds交叉验证,将训练集分为K份,然后进行K次的交叉验证,每次使用K-1份作为训练样本数据集,另外的一份作为测试集合;第三:减少特征,计算每一个特征和响应变量的相关性,常见的为皮尔逊相关系数,将相关性较小的变量剔除,当然还有一些其他的方法来进行特征筛选,比如基于决策树的特征筛选,通过正则化的方式来进行特征选取等。
面试官:你刚刚前面有提到预剪枝和后剪枝,当然预剪枝就是在决策树生成初期就已经设置了决策树的参数,后剪枝是在决策树完全建立之后再返回去对决策树进行剪枝,你能否说一下剪枝过程中可以参考的某些参数?
小张:剪枝分为预剪枝和后剪枝,参数有很多,在R和Python中都有专门的参数来进行设置,下面我以Python中的参数来进行叙述,max_depth(树的高度),min_samples_split(叶子结点的数目),max_leaf_nodes(最大叶子节点数),min_impurity_split(限制不纯度),当然R语言里面的rpart包也可以很好的处理这个问题。
面试官:对了,你刚刚还说到了用决策树来进行特征的筛选,现在我们就以ID3算法为例,来说一下决策树算法对特征的筛选?
小张:对于离散变量,计算每一个变量的信息增益,选择信息增益最大的属性来作为结点的分裂属性;对于连续变量,首先将变量的值进行升序排列,每对相邻值的中点作为可能的分离点,对于每一个划分,选择具有最小期望信息要求的点作为分裂点,来进行后续的决策数的分裂。
面试官:你刚刚还说到了正则化,确实可以对过拟合现象来进行很好的调整,基于你自己的理解,来说一下正则化?
小张:这一块的知识掌握的不是很好,我简单说一下自己对这一块的了解。以二维情况为例,在L1正则化中,惩罚项是绝对值之和,因此在坐标轴上会出现一个矩形,但是L2正则化的惩罚项是圆形,因此在L1正则化中增大了系数为0的机会,这样具有稀疏解的特性,在L2正则化中,由于系数为0的机率大大减小,因此不具有稀疏解的特性。但是L1没有选到的特性不代表不重要,因此L1和L2正则化要结合起来使用。
面试官:还可以吧!正则化就是在目标函数后面加上了惩罚项,你也可以将后面的惩罚项理解为范数。分类算法有很多,逻辑回归算法也是我们经常用到的算法,刚刚主要讨论的是决策树算法,现在我们简单聊一下不同分类算法之间的区别吧!讨论一下决策树算法和逻辑回归算法之间的区别?
小张:分为以下几个方面:第一,逻辑回归着眼于对整体数据的拟合,在整体结构上优于决策树;但是决策树采用分割的方法,深入到数据内部,对局部结构的分析是优于逻辑回归;第二,逻辑回归对线性问题把握较好,因此我们在建立分类算法的时候也是优先选择逻辑回归算法,决策树对非线性问题的把握较好;第三,从本质来考虑,决策树算法假设每一次决策边界都是和特征相互平行或垂直的,因此会将特征空间划分为矩形,因而决策树会产生复杂的方程式,这样会造成过拟合现象;逻辑回归只是一条平滑的边界曲线,不容易出现过拟合现象。
面试官: 下面呢我们来聊一下模型的评估,算法进行模型评估的过程中,常用的一些指标都有哪些,精度啊?召回率啊?ROC曲线啊?这些指标的具体含义是什么?
小张:精度(precision),精确性的度量,表示标记为正例的元组占实际为正例的比例;召回率(recall),完全性的度量,表示为实际为正例的元组被正确标记的比例;ROC 曲线的横坐标为假阳性,纵坐标为真阳性,值越大,表示分类效果越好。
(to be honest,这个问题第一次我跪了,虽然说是记忆一下肯定没问题,但是当时面试的那个时候大脑是一片空白)
面试官:聚类分析你懂得的吧!在我们一些分析中,它也是我们经常用到的一类算法,下面你介绍一下K-means算法吧!
小张:对于K-means算法,可以分为以下几个步骤:第一,从数据点中随机抽取K个数据点作为初始的聚类中心;第二:计算每个点到这K个中心点的距离,并把每个点分到距离其最近的中心中去;第三:求取各个类的均值,将这些均值作为新的类中心;第四:重复进行步骤二三过程,直至算法结束,算法结束有两种,一种是迭代的次数达到要求,一种是达到了某种精度。
后记
面试的水很深,在数据分析技术面的时候问到的东西当然远远不止这些,因此在我们的脑子里面一定要形成一个完整的体系,无论是对某一门编程语言,还是对数据挖掘算法,在工作中都需要形成你的闭环,在面试中更是需要你形成闭环,如何更完美的包装自己,自己好好总结吧!
附录
R语言数据处理体系:数据简单预处理个人总结
1、数据简单查看
⑴查看数据的维度:dim
⑵查看数据的属性:colnames
⑶查看数据类型:str
注:有一些算法,比如说组合算法,要求分类变量为因子型变量;层次聚类,要求是一个距离矩阵,可以通过str函数进行查看
⑷查看前几行数据:head
注:可以初步观察数据是不是有量纲的差异,会后续的分析做准备
⑸查看因子型变量的占比情况:table/prop.table
注:可以为后续数据抽样做准备,看是否产生类不平衡的问题
2、数据缺失值处理
⑴summary函数进行简单的查看
⑵利用mice和VIM包查看数据缺失值情况,代表性函数: md.pattern、aggr
⑶caret包中的preProcess函数,可以进行缺失值的插补工作,有knn、袋装、中位数方法
⑷missForest包中的missForest函数,可以用随机森林的方法进行插补
⑸可以用回归分析的方法完成缺失值插补工作
⑹如果样本量很多,缺失的数据很少,可以选择直接剔除的方法
3、数据异常值处理
⑴summary函数进行简单的查看,比如:最大值、最小值等
⑵boxplot函数绘制箱线图
4、数据抽样
⑴sample函数进行随机抽样
⑵caret包中的createDataPartition()函数对训练样本和测试样本进行等比例抽样
⑶caret包中的createFold函数根据某一个指标进行等比例抽样
⑷DMwR包中SMOTE函数可以解决处理不平衡分类问题
注:比如决策树算法中,如果样本严重不平衡,那么模型会出现欠拟合现象
5、变量的多重共线性处理
⑴结合业务,先删除那些和分析无关的指标
⑵corrgram包的corrgram函数查看相关系数矩阵
⑶caret包中的findCorrelation函数查看多重共线性
⑷如果相关性太大,可以考虑删除变量;如果变量比较重要,可以考虑主成分/因子分析进行降维处理