日常实习面经:滴滴-数据科学

TimeLine:一面20211109

当时的BG:北邮本硕,管理类专业,一段实习经历:美团商业分析师

写在前面的话:该文档记录日常实习面试的相关问题,面试时间为2021年。以下问题的答案可能存在错误,敬请读者批评指正

一面

1. 数据库种类有哪些?分别举例说明一下?

1)关系型数据库:OracleMicrosoft SQL ServerMySQL

2)非关系型数据库:HBase

2. 简要介绍一下Hive

先介绍HadoopHadoop是一整套大数据生态系统,主要包括:

1)HDFS:海量数据的存储

2)MapReduce:海量数据的分析和计算

3)Yarn:资源管理和作业调度

其中,MapReduce本质上是一类分布式计算框架,底层由Java写成,在实现海量数据的分析和计算上具有一定的开发难度,Hive应运而生。Hive是基于Hadoop的数据仓库工具,可以将结构化的数据文件映射成一张类似关系型数据库的数据表,提供了类似SQL(通常称其为HQL)的查询功能,简言之,Hive是一个将SQL任务转换为MR任务的工具

3. SQL中的join有几种?

4. SQL中如何实现分组排序?

row_number() over(partition by ... order by ...)
rank() over(partition by ... order by ...)
dense_rank() over(partition by ... order by ...)

5. SQL考察

数据表:用户表user_profile,字段有:user_id '用户id',login_date 登陆时间'

找出连续登录时间最长的用户

with a as
(
select user_id, login_date,
row_number() over(partition by user_id order by login_date ASC) as rn
from user_profile
),
with b as
(
select user_id, date_sub(login_date, rn) as login_start
from a
),
with c as
(
select user_id, login_start, count(login_start)as continuous_days
from b
group by user_id, login_start
)
select user_id
from c
group by user_id
having continuous_days = max(continuous_days)

6. 缺失值处理的方式?

1)缺失比例过高直接舍弃

2)均值/众数/中位数填充

3)插值法填充(e.g.牛顿插值法)

4)机器学习算法填充(以想要填充的列为label,其他数据列为features

7. 离散化特征转为连续性特征的方法?

1)顺序型特征有先后顺序,直接作数值变换

2)名义型特征没先后顺序,作one-hotdummy变换

8. 数据集不均衡的解决方法?

1)采用ROC曲线下AUC作为分类判定标准,该指标不会受到样本集分布不均衡的影响

2)过采样和欠采样(基于数据的方法)

过采样,即增加少数类样本集的样本量,如SMOTE算法、Tomek Links算法等

欠采样,即减少多数类样本集的样本量,如Easy Ensemble算法、NearMiss算法等

3)调整正负样本的权重惩罚(基于算法的方法)

改变模型训练时的目标函数,对少数类样本分类赋高权重,多数类样本分类赋低权重

4)转化为单类学习、异常检测(基于算法的方法)

注:从第9题开始,其后问题的答案均可在《百面机器学习》这本书中得到,十分推荐大家阅读一下这本书

9. 是否了解集成学习?简要介绍一下思想?

注:回答围绕baggingboosting即可,并举例说明

1)bagging:随机森林RF

2)boostingGBDT/XGBOOST/LightGBM

10. 偏差和方差的概念?和bagging、boosting有什么关系?

1)偏差bias:模型输出值与真实结果的偏离程度,boosting能有效改善这一点

2)方差variance:模型输出值与模型输出值均值的平方差,bagging能有效改善这一点

此处有追问:为什么bagging能够改善方差?boosting能够改善偏差?

针对“为什么bagging能够改善方差?”

bagging是对样本集做重采样,对重采样后的样本集训练模型,对多个模型的输出取平均。由于重采样后子样本集的相似性,所以各模型具有相似的偏差和方差,因此不会显著降低偏差。下面详细讲解bagging能改善方差的原因:

假设各模型间相互独立,则有

若各模型完全相同,则有

bagging方法得到的各模型间是有相关性的,因此模型输出均值的方差区间为

针对“boosting能够改善偏差?”

boosting本质上是前向加法模型,从优化角度来看,就是不断通过迭代的方式最小化损失函数

其偏差自然是下降的。但这种sequential、adptive的策略使得模型之间的相关性很强,所以boosting本质上不会降低方差

#日常实习##数据分析##滴滴#
全部评论
bagging和boosting这里问的好详细啊
点赞
送花
回复
分享
发布于 2023-07-02 20:48 湖南

相关推荐

b站数据仓库实习一面面经(约一个小时)1 自我介绍,包含了自己的项目介绍2 项目中对你比较有挑战和困难的点是什么3 问了一下实习公司的主要业务线有哪些4 问了一下项目是公司的项目还是自己独立开发的5 在公司负责的主要工作是什么6 抽一个对你印象比较深的项目讲一讲(引申出来了下面三个问题)7 数据探查会做的工作有哪些8 验数的工作主要做了哪些9 产品和业务沟通不够导致的指标不一致,可能是有哪些问题导致的,应该怎么去做10 mr的shuffle原理11 实习时处理的数据的量级有多大呀12 实习的时候有没有遇到过数据倾斜的问题如何解决13 接触过实时开发吗14 数据质量这块有接触吗15 实习两个月你觉得有哪些比较好的流程和规范呢16 假设你在倒数据出现报警你是如何处理和解决的(先计划和设计方案然后再落地)17 做数据的可能会遇到一些异常,如何去分析解决这种问题18 问在哪,实习的时间是多久19 为什么要决定要离开这家公司20 自己的职业规划是什么21 自己在大数据这块,你自己有哪些优点支持你做大数据工作22 写一个sql题(分组topn的变形)23 反问1,数据探查您是如何探查的24 反问2,在接触到一个新需求的话您是如何更快的了解指标的
投递哔哩哔哩等公司8个岗位
点赞 评论 收藏
转发
点赞 评论 收藏
转发
16 116 评论
分享
牛客网
牛客企业服务