【数据分析岗】大厂面经(四)之腾讯面试真题
本篇,来拆解下呼声较高的
『腾讯』数分面试真题
(含思路解析+考点)
------正文手动分割线------
-----正文手动分割线------
本文结构速览:一、SQL题
二、机器学习与概率论
三、开放性问题
一、SQL题
▼ 面试真题1 :
现有一张用户活跃表(user_acttive)字段结构如下:
date:日期
user_id:用户ID
device:设备类型
active_score:活跃度
问题① :请计算每日的用户次留率▼ 解题思路:
① 表进行自关联,日期+1天错开匹配
② 当天数据不进行次留计算
问题② :根据不同设备,按照用户活跃度进行排名,并输出每个设备活跃度TOP100的用户ID及活跃日期、活跃度。
▼ 解题思路:
① 考察窗口函数② 对于相同活跃度如何排名
Tips:本篇使用rank()函数,若面试官想要唯一100行记录,需要使用row_number()函数,针对活跃度相同如何进行排名需和面试官确认逻辑。
▼ 面试真题2 :
除了distinct外还有什么方法可以去重?▼ 解题思路:
SQL去重的方法主要有三种
① DISTINCT(题目中已提到)
② GROUP BY
③ ROW_NUMBER()函数
举例,比如在面试真题1中,需要对设备信息进行去重。
▼ 面试真题3 :
请说明以下函数区别
RANK()
ROW_NUMBER()
DENSE_RANK()
▼ 解题思路:
实操:假设现有以下学生成绩数据(student_socre)
ROW_NUMBER()函数会依次进行排序且序号不相同
RANK()函数会依次排序如结果一样序号相同且会跳跃排名
DENSE_RANK()会依次排序如结果一样序号相同且不会跳跃排名
现按照科目成绩进行排名:
输出结果如下:
详细的内容可参考牛客主页 文章:
二、机器学习&概率论
▼ 面试真题1:两个向量之间的相似性计算有什么方法?
▼ 解题思路:
相似性计算方法主要可以分为"距离类"和"相似度"
下面罗列一些常用的计算方法
Tips:如果时间有限,建议针对不同类型选中一至两个重点了解和掌握。
▼ 面试真题2 :
AB实验如何进行假设检验?
▼ 解题思路:① 确认原假设和备择假设② 构建检验统计量
H0:实验组和对照组没有显著差异
H1:实验组和对照组有显著差异
③ 确认显著性水平及拒绝域
如果检验统计量服从标准正态分布,总体方差或样本量较大,可使用U检验
如果检验统计量方差未知且样本量较少,可使用T检验
显著性水平:希望样本结果不可信程度达到多少时候就拒绝原假设H0,通常用希腊字母 α 表示,通常取0.01, 0.05, 0.1。
三、开放性问题
▼ 面试真题1:
以王者荣耀为例,怎么划分用户的生命周期?
▼ 解题思路:用户的生命周期划分定义如下:(可根据实际业务情况做调整)
① 导入期:用户获取阶段,所有的新用户都是属于导入期。
② 成长期:注册登录并激活,首次体验王者荣耀游戏。
③ 成熟期:深入使用王者荣耀游戏,如频繁登录,购买相关游戏产品,这部分用户对平台的贡献和收益最大。
④ 休眠期:这个阶段的用户价值开始走下坡,从数据上的表现,例如,登录频率或购买频率下降,游戏时长下降等。
⑤ 流失期:一段时间未登录的用户。具体时长可以以王者荣耀登录的用户间隔分布进行分析定义。
▼ 面试真题2:抖音如何从数据分析的角度进行内容分发?
▼ 解题思路:
问题可以转换为:如何给抖音用户进行内容推荐
这类问题的其中一种回答视角为:
划分为自己熟知的用户指标相关的问题。
其中一种拆解如下:
结合视频属性及特征,与用户数据进行双边匹配推荐。比如
- 给博主的粉丝用户进行视频加权推荐
同类型视频推荐
同地域视频推荐(例如,抖音重推的同城业务)
...
Tips :面试A公司结果被问到B公司的业务问题,可以分成两种情况:
① A和B公司业务存在相似的地方,或者属于竞对关系;
② 面试官对B公司业务较为熟悉,会偏好于熟悉的领域进行发问。