大厂面经详解系列又来啦!   之前写过 字节跳动-数据分析岗的面经   可戳链接:https://www.nowcoder.com/discuss/751900      近期收到很多私信说想了解『数据科学岗』都考点啥 本篇,就以字节面经作为切入点   挑选几道该岗位的典型题型带大家体验一下   『数据科学岗』的面试真题   (含参考答案+备考Tips)       ------正文手动分割线------ 本文结构速览:   一、SQL题   二、机器学习与概率论   三、AB实验   ps.文末有备考Tips~      一、SQL题   ▌面试真题1   SQL的三种排序方式及其区别?      ★ 参考答案      考查窗口函数中的序号函数                ROW_NUMBER()函数会依次进行排序且序号不相同                   RANK()函数会依次排序如结果一样序号相同且会跳跃排名                   DENSE_RANK()会依次排序如结果一样序号相同且不会跳跃排名                      假设现有一张学生成绩表:                             下面应用不同的排序方式进行排名:         select course_name,student_name,score,ROW_NUMBER()over(partition by course_name order by score desc) AS `row_number` ,RANK()over(partition by course_name order by score desc) AS `rank`,DENSE_RANK()over(partition by course_name order by score desc) AS `dense_rank`from course_score ;                      Tips:          为方便大家练习,提供表数据集    drop table course_score;CREATE TABLE course_score    (course_name varchar(45)    ,student_name varchar(45)    , score INT    );INSERT INTO course_score (course_name, student_name, score) VALUES ('英语','张三',80),('英语','李四',70),('英语','赵五',90),('英语','高六',60),('数学','张三',70),('数学','李四',90),('数学','赵五',90),('数学','高六',40);                                      ▌面试真题2           假设一个表有一列数字1,2,3,4,5,如何转成一行          如下图所示:                                                     ★参考答案         考查CASE WHEN和聚合函数                             SELECT     max(case when number=1 then number end) AS is_number1    ,max(case when number=2 then number end) AS is_number2    ,max(case when number=3 then number end) AS is_number3    ,max(case when number=4 then number end) AS is_number4    ,max(case when number=5 then number end) AS is_number5FROM table_number            Tips:                为方便大家练习,提供表数据集      CREATE TABLE table_number (number int);INSERT INTO table_number(number) VALUES (1),(2),(3),(4),(5);                                二、机器学习与概率论              ▌面试真题1    随机森林和XGBoost的区别是什么?               ★参考答案                  随机森林和XGBoost在树生成的原理上存在差异                        在避免过拟合问题上的处理也存在较大差异。                              下面重点说明一下在避免过拟合问题上,两者算法的处理手段。                ① 随机森林       利用随机采样,对数据样本和特征分别进行抽样,训练出多个树分类器,每个树的生产相互独立。为了避免过拟合:                     对训练样本数据进行有放回的抽样,生成K棵分类回归树                        假设特征空间有n个特征,每棵树的节点处随机抽取m个特征(m < n)                        每棵树最大限度生长,不做任何剪枝                        通过多棵树组成森林,分类结果按树分类器投票多少决定                       ② XGBoost       XGBoost原理可参考 -》『六哥主页简介内以前文章:XGBoost原理解析』          XGBoost本质可以理解为GBDT算法的改进,为了避免过拟合                     借鉴了随机森林的做法,支持列抽样,不仅能降低过拟合,还能减少计算                        在目标函数中加入了正则项,用于控制模型的复杂度                        先从顶到底建立所有可以建立的子树,再从底到顶反向进行剪枝,这样不容易陷入局部最优解;                        不仅使用到了一阶导数,还使用二阶导数,损失更精确,还可以自定义损失函数;                              ▌面试真题2           主成分分析的原理以及应用?          ★参考答案          ① 主成分分析的原理:『六哥主页简介内以前文章:【数据分析岗】机器学习(二)』          ② 使用场景                            维度灾难:也就是变量多,在训练集保持不变的情况下,使用的变量越多,待估参数就越多,学习量上升、学习效率下降。                             变量之间的相关性高:变量之间的相关性高,说明数据是有冗余的,数据中的信息是有重叠的。                         ③ 业务场景举例:                            人脸识别                             人口统计学                             数学建模                                      三、AB实验                 ▌面试真题1          现在抖音在推荐模块的底层推荐算法进行了优化,预计短视频的完播率会有明显的提升。针对这个问题,如何进行验证?                     ★参考答案          可以通过AB实验进行效果验证。                    ▌面试真题2          针对这个问题如何进行实验构造?介绍一下你检验的过程                     ★参考答案          针对打开抖音推荐模块的用户进行随机分组          然后通过假设检验进行验证。          ① 实验设计:                            对照组:老推荐算法模型。                             实验组:新推荐算法模型                         ② 建立假设:                            原假设H0:实验组和对照组的人均完播的视频数量无差异。                             备择假设H1:实验组和对照组的人均完播的视频数量有差异。                         ③ 选择检验统计量                            假设每个用户的短视频播放相互独立,根据中心极限定理可知,实验组及对照组的人均完播的视频数量均服从正态分布,根据正态分布的可加性,可得到检验统计量                                              ④ 选择显著性水平                            一般选择第一类错误5%是业界最常用的标准。接下来将两组样本的观看时长均值、方差、样本量计算出检验统计量z中,计算出z的取值结果。                             当|z|≥1.96时,认为在第一类错误5%的情况下,新推荐算法对用户人均观看时长有差异。                             当|z|<1.96时,认为在第一类错误5%的情况下,新推荐算法对用户人均观看时长无差异                                    ▌面试真题3           视频的完播率,可以通过沿用前面的检验统计量的构造思路码?                     ★参考答案          不可以。实验组和对照组的完播率计算的样本不满足样本独立性,所以实验组和对照组的完播率不服从正态分布。                       ▌备考Tips           除常规对简历进行深挖以外          字节『数据科学岗』相比一般的数据分析岗          对机器学习模型、因果推断原理要求比较高          可以看看下面的校招数科岗JD要求:                          由于字节是典型的注重用数据驱动增长的公司       每天线上会同时运行大量实验快速验证、迭代策略          所以日常工作中会接触到大多因果推断的工作内容          因此无论是在JD要求上,还是面试的时候          也会着重考核AB测试相关的知识                    建议大家务必要对AB实验原理进行熟练掌握          学会举一反三,归纳、演绎变体考法          争取做一题,会一类,提高备战效率                               以上AB实验面试真题还可衍生其他考点,例如:               该实验的指标如何选取?             实验周期如何确定?             如何确保实验和对照组用户在测试前无差异?             ...等等                                  📌AB实验相关文章推荐阅读:          【数据分析求职】AB实验框架+高频考点汇总(一):https://www.nowcoder.com/discuss/826505           AB实验高频考点!命题面试官大白话讲懂『多重检验』:https://www.nowcoder.com/discuss/1004929                               往期分享帖推荐             数据分析岗笔试题型梳理             数据分析——面试考点经验梳理(含真题)                          更多文章,可见牛客主页             欢迎交流讨论,希望可以帮助到你~~           
点赞 57
评论 44
全部评论

相关推荐

不愿透露姓名的神秘牛友
08-01 18:38
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-11 13:34
offe从四面八方来:我真的没时间陪你闹了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务