数据分析师 面经和知识点总结
我是2021届的应届生,主要投递的是数据分析岗,经过大半年找工作的历程,真心很感谢牛客这个平台,收获到了不少经验和知识。这个帖子主要是我在面试过程中的知识点总结,希望能对还在努力找工作的小伙伴儿有所帮助。
首先,我其实投递过挺多的大厂,但近几年互联网大厂非常的卷,数分岗更是卷中之卷,很多次我面试到3轮却被告知没有hc了,但不管怎样,抛开这些外部因素,不要放弃。
我先总结一下这些大厂面试时的侧重点:
阿里,蚂蚁金服:比较看重编码能力,尤其python和SQL,和业务能力相比,逻辑和算法能力更为重要。所以多刷代码题吧,把简历中做过项目的算法和原理搞透彻,阿里的面试官思路精奇,很可能会寻根究底。
字节:字节的面试官都很随和,都很nice,字节的数据分析更看重你的业务能力和面试时的临场表现,所以一定对app产品,对指标体系的建设,对异常指标的监控等等有一套清晰的思维框架和认知,并且一定要让面试官相信你是热爱这个岗位的。
美团:美团的面试官非常技术导向,我面试的是美团优选,和阿里一样,非常看重你的代码和算法能力,除此之外,一定要对hadoop和数仓要有简单的认知。
京东:京东的面试官思维节奏都非常的快,京东非常注重对用户画像,用户行为分析知识点的考察,非常看重hivesql的能力,而且如果你懂时间序列检测算法,那会是一个很大的加分项。去京东一定要做好没有休息日的准备。
神策:神策非常看重对业务的认知水平和产品能力,包括产品生命周期,产品竞品分析,分析报告的产出等等,除此之外,神策还会很注重考察你的沟通能力和语言表达能力。
猿辅导:猿辅导的数分岗面试流程很标准,面试官都是很漂亮的小姐姐,记住一定要多复习统计学知识。
tips:一般面试完,如果面试官说:谢谢你的时间或者说我们自己内部再讨论一下,再或者像字节这种收到了面试调查问卷,那么大概率是没有通过了,就可以准备其他的面试了。如果面试官说:好的 接下来的流程会有hr联系你,那么潜台词就是你通过了这一轮的面试。
接下来是我总结的数据分析岗的知识点,主要有sql,业务知识,机器学习算法,统计学原理,大数据架构和数仓,python这几部分:
1.sql:
(1) 除了熟练掌握基本的select from where group by having,左右外内连接(左连接求差集),union和union all,if then else,case when end 还要熟练掌握各种聚合函数,如sum,max,count
(2)开窗函数(row_number(), rank(), dense_rank(),lead()) 和over(partirion by order by),并且要准确理解函数的意义
(3)sql 字符串处理函数,round,ceiling,cast,date_format(),转置函数pivot
2.业务知识:
(1)A/B测试+辛普森悖论,对照组实验组的选取;埋点的设置,尤其注意页面访问统计和用户浏览行为的相关指标;留存率的不同时段的分析
(2)日活,月活,gmv的变动分析,这类都可以统归为指标异动分析,没有固定的答案,但要有一套自己的分析体系,重点是要划分好维度和内外部综合分析
(3)为某个app搭建一套指标体系,可以按照标准的人货场回答,也可以按app产品处于不同生命周期的阶段进行回答,思路正确而且完整就ok,当然不同业务类型的app要回答不同的业务指标,如电商,视频,音乐等等
(4)商业变现(广告,增值服务,电商),这个经常会跟产品的生命周期结合,产品的不同阶段需要的引流和关注的用户群体是完全不一样的
(5)归因分析和漏斗转化分析
(6)用户画像(属性,行为,需求偏好)
3.机器学习算法:
(1)k-means: 算法原理,和knn的比较,k值的选取和质心的选择
(2)bagging和boosting,boosting尤其要注意每轮样本数据和分类器权值的修正
(3)决策树,随机森林算法,xgboost: 随机森林要注意样本和特征的随机性,xgboost要和gdbt一起学习
(4)交叉验证,留一法和k折交叉验证,以及交叉验证的意义;过拟合和欠拟合出现的原因以及解决办法
(5)对异常值和离群点的处理
(6)评估模型的指标,准确率,精确率,recall,f-score,r2
4.统计学原理:
(1)p值的正确理解:原假设为真时所得样本极端结果出现的概率,一旦出现p值,就有理由拒绝原假设,p值越小,拒绝的理由越充分
(2)显著性水平(一个可允许的概率作为判断界限的小概率标准)和置信区间(真实值有一定概率落在测量结果的周围的程度)
(3)一类错误和二类错误
(4)大数定理和中心极限定理
(5)假设检验,注意为什么假设检验要用反证法(原假设往往是想要拒绝的假设)
5.大数据架构和数仓
(1)hadoop:
-hdfs(namenode,datanode)和mapreduce(jobtracker和tasktracker),理解每个组件的作用和意义
-mapreduce中对map,shuffle,reduce函数的理解,尤其要注意combine过程
(2)hive:
-hive和mysql的区别
-hive的数据倾斜问题的产生原因,以及如何避免
-hive内部表和外部表
-hive中order by,sort by,distribute by的区别
(3)数仓:
-维表,事实表,宽表的理解
-数仓的分层(ods,dwd,dws)
6.python:
(1)数据结构:列表,元组,字典,集合
(2)python的切片和排序操作
其实python主要还是靠刷题,而且数分岗不同于数据科学岗,对python能力的要求不是那么的高