首页 > 数据分析春秋招面试长文总结
头像
D_lotus
编辑于 2020-03-25 11:57
+ 关注

数据分析春秋招面试长文总结

本文结构:

  1. 前言
  2. 面经分享
  3. 数据分析面试知识体系
  4. 统计知识(AB实验)
  5. SQL面试题整理
  6. 业务场景
  7. 其他

一.前言(包括实习经验)

由于疫情原因,我已经宅家2个多月了,期间一直想动手写博客,记录下自己的学习与读书所得,输出倒逼输入,无奈拖延症严重。今天心血来潮,想总结下自己去年找工作的经历。

笔者本科毕业于某末流工科211,工业设计专业。大三期间,大数据和人工智能概念被炒得火热,自己一来对数学和编程很有兴趣,二来眼馋这个领域的发展前途(跟风),所以就决定跨专业考研,入了应用统计的坑...

方向选择 刚开始目标是算法岗,按照前辈们攻略,看西瓜书,李航的统计学习方法,争取每个公式都能做到手推,也打了一段时间kaggle,但是越往后面学,越觉得知识的深度和广度很大,仅仅靠一年的时间是远远不够的(2年专硕准备找工作实质只有一年时间)。就拿数据结构来说,一个合格计算机的学生,应该从本科开始就做相关的题目,leetcode100道和剑指offer应该刷了好几遍了。然而,自己遇见一道新题,往往就是不看答案,就写不出来,而且即使做过的题,第二遍也不能写出来(哈哈)。当时的心态一度崩溃,每当刷数据结构的时候,就想着放弃算法岗。后来牛客,知乎也出现了各种算法岗的劝退消息,因为竞争大,似乎名校,顶会Paper,竞赛Top,大厂实习才是拿到offer的必要条件。我当然知道即使各项没有那么强,也存在拿到offer的可能性,因为即使职位title一样,不同公司的要求也不一样,同一公司不同部门不同组,也可能存在很大的差异。但是自己知道实力不够,碰运气的事也就不想尝试了。

实习 去年3月开始找实习,改投数据分析的岗位,原因很真实,不用刷数据结构,不用手写代码!找实习还是比较顺利的,3月底拿到了百度和携程的offer,选了百度。我觉得能拿到offer的原因,一是我简历上有几个数据挖掘类的比赛和项目,不至于那么差,二是投的日常实习岗,难度不高,自己运气比较好。

其中携程实习面试就是聊天型,简单问了下项目和经历。

百度实习一面是leader面,包括简历上写的算法原理(时间序列,贝叶斯优化原理等),一道SQL题,微信有哪些用户体验设计好的点(我恰好本科学的就是用户体验设计...)。二面组长面,主要介绍下项目,项目中的原理,Python用了哪些包(还有这样问的,作为一个资深调包侠,把平时调的包都说了),Spark的DataFrame和DataSet的区别(自己简历上写了了解)。

总而言之,我认为找工作固然看实力,但是对于实力处于中下的同学或者不够硬核的面试,实力与运气并存,这里运气包括投的时间是否合适,面试官性格等等。这里说下自己对于日常实习与春招实习的看法,前者难度比后者小,但是后者一般转正几率比较大,而且参加春招实习可以提取感受下秋招的氛围,相当于预秋招。我就是没参加春招实习笔试面试,没体会到竞争的残酷,秋招才会准备不足的。对于日常实习,无论实力如何,大厂都应该投投,对于非核心的部门或者组,要求不会很高。

实习职位是数据分析工程师,主要写SQL以及用Python写MapReduce代码,参与了AB实验分析,做了个大数据报表,还有个数据挖掘需求(query分类问题),核心仍然是围绕各种指标展开。实习期间,我虽然成长一些,但是因为自己接的需求有很大局限性,没有深入接触分析业务,同时由于大数据技术方面也没涉及Java,Scala,Spark等,所以对于数据开发,也毫无优势,我觉得没有过早确定方向(纯技术or纯业务)是自己后来秋招失利的主要原因。

二.春秋招面经分享

之前以为自己实习能转正,到八月底才开始投简历准备笔试面试,果然不听前辈言,吃亏在眼前。实习五个月,基础知识没长进,除了多了些工作经验,剩下就只有云顶下棋了。这段时期也让我认识到,互联网只有保持持续学习的良好心态才能让自己具有市场竞争力。秋招面的公司不多,一来笔试没做好,二来数分竞争确实很大,简历都沉了。

面试结果如下:

秋招

拼多多 二面挂

Bigo 二面挂

斗鱼 一面挂

趣店 三面 offer sp

银联数据 一面过 二面没面 放弃

步步高 一二面过 三面没面 放弃

春招

猿辅导 四面 offer sp


拼多多面经(远程)

一面(40min)

1.自我介绍,实习项目介绍

2.一道SQL题(忘记了,后续会给出自己整理的拼多多SQL面试题)

3.费米问题:估计上海市每年航班次数

4.指标构建问题:对于电商用户购物流程中,需要哪些指标

5.如何做留存分析

6.说下对数据分析的看法

二面(40min)

1.自我介绍

2.说下AB实验有哪些需要注意的原理

3.在MapReduce中如何实现group by,用Python实现

4.两道SQL

Bigo面经(远程)

一面(10min)

1.如果微信朋友圈的DAU下降了,该怎么分析

2.说下对数据分析的看法

二面(40min)

Bigo二面就是考察一个数据分析的完整流程

给一个指标(QQ头像框框佩戴渗透率)

1.如何设计埋点

2.一道SQL

3.如果这个指标下降了该怎么分析?

4.导致这个指标下降的原因有哪些,如何分析?

斗鱼面经:

全程对着简历聊天,问问项目,比赛,然后问如果你要开展某个运营活动,怎么去说服别人上线这个活动?

趣店面经

1.简历面:

实习具体的业务,怎么做badcase挖掘的,原理,业务

MapReduce原理,AB实验如何处理多个实验并行的情况

AB实验case:

如何分析的,然后就是各种互动,总体而言就是聊项目,针对项目提相关知识点

2.组长面

如何分析电商销售额

3.HR面

常规问题,这里就不赘述了

猿辅导面经

感觉猿辅导面试问题比我之前面试加起来还多...

一面(40min)

1.LR损失函数是什么?怎么来的?为什么这样?

我回答假设Y服从二项分布下用极大似然推导的,他就问为什么要用极大似然

我从极大似然概念和指数分布族(LR,线性回归,Softmax)算法解释了

2.SQL

User_id,subject_id,score

(1)求每个学科下的学生平均分数

(2)求每个学科下最高分数的学生

3.贝叶斯公式和三扇门的问题

4.数据库索引有哪些类型?建过什么索引

5.Linux-如何查看一个文件的总行数

6.正则表达式-如何匹配13位电话号码

7.AB实验:如何处理多个实验并行的情况

答:正交试验

8.解释下正交试验原理

9.ABTest的原理和流程

二面(1h)

自我介绍

1.简历相关 怎么量化用户体验的,说说我的贡献在哪里

2.XgBoost的原理,与GBDT的区别

3.GBDT是否是贪心算法

4.怎么处理过拟合

5.不同班级数学成绩排名前五的学生信息SQL,rank和dense_rank的区别

6.Hive或者Python实现 一个数据处理问题 我选的Python

7.新的商品详情页上线,灰度20%,设计何种指标反映上线后的效果,如何检验效果的显著性

8.如果分成10个群体,检验群体之间的广告点击率的差异,用什么统计方法

答方差分析,然后问方差分析的原理

8.各种检验的条件和应用场景(z,t,卡方,f)

9.说说你了解的随机变量分布(分离散和连续)

10.解释下EM算法

11.假设检验的流程 ABTest用什么检验

12.圆内选择三个点,这三个点组成的三角形是锐角三角形的概率

13.矩估计和极大似然估计的区别和联系是什么

14.二项分布与泊松分布的联系

三面(40min)

1.SQL题:已知user_id,dt,class_id,求1001~1010之间每天都做新题的人数

2.一块圆形蛋糕,蛋糕边缘有一个点,从原点出发切2刀,蛋糕分成2个扇形,求包含点的一块蛋糕的面积的期望

3.非参数检验与参数检验的区别

4.如何比较两个分布之间的差异?答ks检验 然后问前提条件是什么

5.说说知道的随机变量分布

6.泊松分布 举个例子

7.篮球投篮满足泊松分布吗?为什么?

四面-总监面(30min)

1.介绍下实习做了哪些事,介绍下自己接触的业务

2.报表指标是怎么确定的,有哪些维度?

3.计算指标有什么约束吗?我一脸懵逼,说了平时取数的几个SQLwhere条件。。。。

4.有什么问题要问他的?

5.什么时候能来实习


面试完后也分析了下面试失败的原因:

1.对于Bigo,其实考察得挺专业的,就是数据分析接到一个需求的分析流程,从怎么设计埋点到SQL提取数据,到分析维度,最后是找到具体的原因,怎么验证。

这次面试失败,我是心服口服的,因为实习期间确实没有做过深入的数据分析,再就是自己的逻辑分析思维,表达能力都一般。

2.对于拼多多,我一直都不服,因为题目基本都回答上了,只能说竞争大,后期HC少了吧。

这里有个忠告,就是能线下面试就不走线上,线上流程太慢了。我面完拼多多二面,都耗了半个月了,期间等结果很焦虑。而且因为准备面试,都没怎么跑宣讲,也错过很多公司的投递时间。但是线下很多都是一天走完流程的。

3.对于斗鱼,我认为就是经验不符吧,他们需要有运营经验的,面试过程没有太多专业技能考察,就是了解了下基本情况。面试官看我简历写了数据挖掘比赛,算法,Hadoop等偏技术的知识点,就问我实习偏挖掘还是分析...

所以早点确定方向很重要:

对于业务分析,可以投数据分析,数据运营,数据产品职位。以SQL+场景分析+产品运营思维+逻辑表达+对口的实习经验为主。其实不需要怎么学Python,机器学习,我有的同学专注业务分析,简历没写机器学习,同样可以拿到大厂offer。

对于偏技术类的,可以投数据分析(带工程师title),数据研发(数据仓库)。这点其实很尴尬,对于有些数据分析而言,其实你说有技术吧,确实会用到Python,机器学习,Hadoop,Spark等知识,但是比起开发和算法,真的小巫见大巫了,核心还是业务。例如我实习期间,也会用Python写MR代码,但是只涉及到日志解析,指标计算,统计等,这些其实和SQL用途是一样的,包括后来在绿盟实习,用Spark也差不多,写Spark SQL,未涉及到大数据平台级开发。

总之就是经验太少,见得太少,对于数据分析,我还未有明确的职业规划。但是也认识到,不管做什么,要做好都不简单,专注一点,踏实沉淀就能有所收获。



三.数据分析面试知识体系

数据分析范围很广,不同类型公司面试风格迥异。我将数据分析面试情况分为以下几种类型:

1.算法型:代表-腾讯

腾讯数据分析投录比好像是几十比一,看面经,和算法岗无异,除了机器学习,像深度学习,数据结构,大数据计算框架等纯技术知识也会考到。

2.标准型:代表-拼多多,滴滴,京东,携程,猿辅导,Bigo,顺丰,ov等,这类理论和业务都会考,但是原理偏统计专业。

面向数学统计专业,统计学,概率论,SQL,常用机器学习,业务场景题,偶尔会碰到手写基础的Python代码(比如简单的斐波那契,排序算法等)。

3.业务型:代表-字节,斗鱼

字节的数据分析是产品序列,主要是SQL+业务场景分析,偏产品。

斗鱼数据分析,偏运营。

4.聊天型:以项目介绍,了解基础情况为主

5.未知型:阿里,百度

百度数据分析是算法岗入口,也就是按算法标准招,进去做数据分析,例如我实习的部门数据挖掘和数据分析技术栈是一样的...

阿里面经太少,有的是纯业务,有的却偏技术。

总而言之,有些岗位title是研发,算法的也可能会从事类似数分的工作。


四.统计知识(AB实验)

统计知识例如常见分布,T,F检验,方差分析等可以按照应统考研来准备。AB实验原理如下

五.SQL面试题整理

关于SQL准备,我认为可以分为两个阶段

1.基础语法,可以去牛客和leetcode练习

牛客是免费的,但是题目比较杂,且刷题体验不好。

leetcode付费,但是刷题体验比牛客好

2.面向面试的进阶,面试题往往是基于业务中面临的具体问题,多考察窗口函数,比这些刷题网站要难,具体可参考我面试整理的SQL题

六.业务场景

这个我经验不多

七.其他

最后就是机器学习算法+概率题部分了。

对于机器学习,如果以前是学算法的,那么肯定看过西瓜书和李航的统计学习方法,对于数分的机器学习面试,是比较简单的。

如果以前没学过,我认为可以不用花时间学,有兴趣可以看看,作为知识储备,简历上不用写。但是自己要在分析思维上有优势,再加上实习经验丰富,拿到高薪大厂offer不是梦。

概率题就多看看牛客上的面经,多复习下概率基础。

更多模拟面试

全部评论

(43) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

热门推荐