数据分析师—技术面试
经过三个月的实习寻找,至今已满半年。在这半年里,我经历了各种挑战,春招时获得了七个实习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算法,每一次对决策树进行分叉选取属性的时候,我们会选取信息增益最高的属性来作为分裂属性,只有这样,决策树的不纯度才会降低得越快。
面试官:好的,你也知道,在决策树无限分叉的过程中,会出现一种过拟合现象,和上面说过的欠拟合是不一样的,你说一下过拟合出现的原因以及我们用什么方法来防止过拟合的产生?
小张:对训练数据预测效果很好,但测试数据预测效果较差,则称出现了过拟合现象。对于过拟合现象产生的原因,有以下几个方面,第一:在决策树构建的过程中,对决策树的生长没有进行合理的限制(剪枝);第二:在建模过程中使用了较多的输出变量,变量较多也容易产生过拟合;第三:样本中有一些噪声数据,噪声数据对决策树的构建的干扰很多,没有对噪声数据进行有效的剔除。对于过拟合现象的预防措施,有以下一些方法,第一:选择合理的参数进行剪枝,可以分为预剪枝后剪枝,我们一般用后剪枝的方法来做;第二: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个中心点的距离,并把每个点分到距离其最近的中心中去;第三:求取各个类的均值,将这些均值作为新的类中心;第四:重复进行步骤二三过程,直至算法结束,算法结束有两种,一种是迭代的次数达到要求,一种是达到了某种精度。
后记
面试的水很深,在数据分析技术面的时候问到的东西当然远远不止这些,因此在我们的脑子里面一定要形成一个完整的体系,无论是对某一门编程语言,还是对数据挖掘算法,在工作中都需要形成你的闭环,在面试中更是需要你形成闭环,如何更完美地包装自己,自己好好总结吧!
附录
数据分析师的主要工作有哪些?发展前景如何?需要掌握哪些相关知识_百度...
数据分析师职位具有鲜明的时代特点和巨大的需求,在大学本科阶段统计专业积极探索培养大学生的数据分析能力,进而为社会提供合格的数据分析师人才的有效对策,具有重要的研究价值和实践意义。 一、数据分析师培养的意义 (一)数据分析师的培养符合国家战略 为适应世界经济一体化的进程,彻底改变我国“项目数据分析”专业技术人才...
CDA数据分析师的考试认证靠谱吗?
当然是靠谱的呀,要不然也不会有那么多人去考。据了解目前国内数据分析方面的证书做得比较好的就CDA,认可的企业还是比较多,有企业招标就把CDA LEVEL 2作为资格证书。证书对于个人来说是个敲门砖作用,主要还是个人能力,如果能考过2级当然是自身的一个能力的证明,同时会获得持证人的相关福利,能免费...
数据分析师的就业前景如何?
数据分析师的就业前景是广阔的。1、人才缺口大,IT时代逐渐被DT时代取代,用理性的数据分析代人工的经验分析成为主流,数据分析人才的供给指数仅为0.05,属于高度稀缺。2、入门相对简单数据分析是一门跨领域技术,不需要很强的理工科背景,反而那些有市场销售、金融、财务或零售业背景的人士,分析思路更加...
软考能不能直接考系统分析师?
能。软考可以直接报考系统分析师。软考包含多个级别资格考试,考生可根据自己的技术水平选择合适的级别合适的资格进行报考,但一次考试只允许报考一种资格。软考是可以直接报考系统分析师的,软考分为计算机软件、计算机网络、计算机应用技术、信息系统和信息服务共5个专业类别,并在各专业类别中分别设置了初、中...
数据分析师以后前景怎么样?
数据分析师的就业前景是广阔的。1、人才缺口大,IT时代逐渐被DT时代取代,用理性的数据分析代人工的经验分析成为主流,数据分析人才的供给指数仅为0.05,属于高度稀缺。2、入门相对简单数据分析是一门跨领域技术,不需要很强的理工科背景,反而那些有市场销售、金融、财务或零售业背景的人士,分析思路更加...
大数据分析师工资收入多少
中级大数据分析师,主要职责为:数据挖掘,模型开发,优化监控,出解决方案,薪资在12000-18000。高级大数据分析师:除了中级大数据分析师日常工作之外,还需要为运营及公司发展方向提供决策意见。 薪资在20000-30000。据某招聘网站统计的信息显示,数据分析的市场平均薪资是在11637元,而北上广地区的平均薪资...
最适合考公过渡的工作有哪些?
四、语言文学专业人员:语言文学专业人员可以考虑通过考公务员进入政府部门、翻译机构等单位工作。这些部门需要专业的语言文学人员来进行文件翻译、口译等工作,而且与语言文学专业对口,可以让专业人员发挥自己的专业技能。五、工程技术专业人员:工程技术专业人员可以考虑通过考公务员进入政府部门、事业单位等单位...
架构师和系统分析师有什么区别
架构师和系统分析师有什么区别?一、考试科目不同系统分析师考试科目:1、信息系统综合知识,考试时间为150分钟,笔试,选择题;2、系统分析设计案例,考试时间为90分钟,笔试,问答题;3、系统分析设计论文,考试时间为120分钟,笔试,论文题。系统架构师考试科目:1、信息系统综合知识,考试时间为150分钟...
数据分析师有证书吗
数据分析师没有证书。根据查询相关资料信息显示:目前国内从事数据分析师行业并没有强制需要考取的证书,但个别企业有特殊要求或是自身希望对自己能力能够有个鉴别的话,可以考取数据分析师职业技术证书、SAS认证等相对权威的证书。
cpda项目数据分析师与cda数据分析师的区别?
1、就业方向不同:CDA是一种业务数据分析,根据企业数据分析师当前的需求分为三个层次,业务数据分析师(LEVEL 1),数据建模分析师(LEVEL 2),数据分析专家(LEVEL 3); CPDA是一种项目数据分析,偏向于投资行业和企业管理。 没有等级划分,适合项目评估。2、薪资不同:根据CDA的三个层次,工资也是...
校哈法益: 面试流程,一般是自我介绍、对应聘公司和职位的了解、针对岗位的一些专业性问题等.
黄陂区17629884456: 在面试数据分析师这个职位的时候,一般会被问到哪些 - ?
校哈法益: 首先,得看你是从事什么数据分析.比如你是一名淘宝电商数据分析师,一般会问到,同行竞争如何,同行是怎么达到那样的销售额的,为什么人家店铺排在前几.商品能达到TOP前十,为什么没有点击率,没有转换,没有下单量,是主图设计不够吸引,还是详情页不够详细,又或者说是客服服务不够好等.不够全面的解释,希望对你有帮助
黄陂区17629884456: 招聘数据分析师时一般会出哪些面试题 - ?
校哈法益: 下面给你整理了一部分应聘数据分析师会遇到的问题:1、你处理过的最大的数据量?你是如何处理他们的?处理的结果.2、告诉我二个分析或者计算机科学相关项目?你是如何对其结果进行衡量的?3、什么是:提升值、关键绩效指标、强壮...
黄陂区17629884456: 应聘数据分析师有哪些面试经验 - ?
校哈法益: 看书是SAS,SPSS,R语言,数据库查询语言.面试的话,非应届毕业生面试的上家工作的工作经验,应届毕业生的话,问你的实习经历和数据分析技术水平,毕业论文用的什么分析技术和结论等.
黄陂区17629884456: 高德数据分析师电话面试都问些什么问题 - ?
校哈法益: 其实,不管是什么样的面试形,问的问题都差不多,万变不离其宗,都有规律可寻.其实对所有的面试官而言,只有一个目的:在最短的时间里了解到你最多的信息.想高效率的准备面试,先从这七个大方面着手吧!一、基本情况1、请用最简...
黄陂区17629884456: 大数据面试经验:饿了么数据分析师 - ?
校哈法益: 又有一种数据分析师,岗位职责要求你掌握常用的机器学习算法,面试首先推导一个决策树或者逻辑回归.入职后也是各类代码,和分析打交道的情况不多.
黄陂区17629884456: 求问数据分析岗位的笔试要掌握哪些知识 - ?
校哈法益: 数据分析师技能概览1、统计分析 大树定律、抽样推测规律、秩和检验、回归分析、方差分析等2、可视化辅助工具 Excel、PPT、Xmind、Viso3、大数据处理框架 Hadoop、Kafka、Storm、ELK、Spark等4、数据库 SQLite、MySQL、MongoDB、Redis、Cassandra、Hbase5、数据仓库/商业智能 SSIS数据仓库、SSAS MDX多维数据集、SSRS、DW2.06、数据挖掘工具 Matlab、SAS、SPSS、R、Python7、人工智能 机器学习、深度学习8、挖掘算法 数据结构、一致性、常用算法9、编程语言 Python、R、Ruby、Java等
黄陂区17629884456: 一家制造业公司招聘数据分析员,我想知道主要运用的软件应该是什么,需要哪些知识,主要是哪些报表. - ?
校哈法益: 根据公司的要求,用EXCEL就可以,你只需要说你的EXCEL运用很熟练,会编辑公式、筛选、透视表、分类汇总等功能就可以.公司要求更多的是要与各部门沟通、协调,及时拿到考核数据,这才是关键.至于分析,你学的是统计学,简单的计划完成情况对比分析一下就可以了,用太深的方法公司没有人理解,还要费口舌去解释.此外,基本的企业管理知识是要有的,你在大学里肯定学过,如《现代企业管理》之类的课程.
黄陂区17629884456: 笔试数据分析师的一般都是些什么专业的 - ?
校哈法益: 1.负责360业务数据相关的分析工作,给业务部门合理化建议;2.通过对数据的敏锐洞察,发掘业务异常现象并迅速定位问题本质,提供针对性解决方案.职位要求:1.本科及以上学历,计算机专业、应用数学专业、统计学专业背景优先;2.良好的逻辑分析能力;3.工作态度认真负责,沟通能力良好,具备高度责任心,具备优秀的团队合作意识.大家说这种笔试会笔点啥啊?是程序还是统计方面的东西?有有经验的童鞋知道么~[ema0]
黄陂区17629884456: 懂点数据分析,想找这方面的工作,又怕技术不行,怎么办? - ?
校哈法益: 你好!你如果大学是从事相关专业的,或者之前去过培训机构做过相关培训,那你可以投简历试试.不过,数据分析不同于服务员、清洁工等低端工作,这种有些技术含量的通常会对学历、工作经历有要求,你可以先去不需要工作经历的地方工作一段时间,然后去找要求更高的.稳定了以后待遇还是会很不错的.以上都是纯手打,如觉得满意还请采纳哦!