‹ 全部面经
TikTok Data Science OA 四题 28 分钟 AC:指标计算、数据合并、特征预处理、随机森林调阈值
TikTok DS OA 四题复盘:Pandas 计算平均评分 / 第二语言占比 / 成功率,多表合并,基于训练集的缺失值填充、类别编码与标准化(防数据泄露),随机森林在验证集上调阈值平衡 precision 与 recall。
OA
今天做的 TikTok DS OA,四道题难度还是有的,但有三道是老朋友了,差不多半小时就顺利通过。
其实 TikTok 的 OA 并不难,只是大家准备得太少,可能还有些紧张。题目都比较常规,简单分享一下四道真题和思路。
第一题:计算三个指标
根据已有数据计算三个指标:
| 指标 | 计算方式 |
|---|---|
| 平均评分 | 对 rating 列求均值,四舍五入保留两位小数 |
| 第二语言占比 | 统计 second_language 不为 no 的记录比例,转成百分比并保留两位小数 |
| 成功率 | 合并所有 rides_*.csv 文件,统计 status 为 success 的比例,转成百分比并保留两位小数 |
最后按题目要求的格式返回结果。
第二题:多表汇总
把多个数据表汇总成一张统一的表格。主要任务是按题面要求合并数据,并确保合并过程中的字段取值符合规范。按照题目说明完成合并和字段提取后,保存结果即可。
第三题:司机数据预处理
对司机数据做预处理,包括填充缺失值、编码分类变量、标准化数值特征和转换标签:
- 缺失值:用训练集的均值填充
age列。 - 分类变量:对
sec_language、car_model等分类变量,基于训练集构建映射字典,未知值赋予一个新编号。 - 数值特征:对
net_xxx等数值列,用训练集的均值和标准差做标准化。 - 标签:把
driver_class转成数值(A → 0,B → 1)。
注意避免数据泄露:所有转换都只能基于训练集的统计信息,再原样应用到验证集和测试集。
第四题:二分类模型 + 阈值调优
用清洗后的数据训练二分类模型,以类别 B 为正类:
- 用随机森林在训练集上拟合。
- 在验证集上调整分类阈值:在保证较高 precision 的前提下,尽可能提升 recall。
- 用验证集确定的最佳阈值,对测试集的预测概率做二值化。
- 按题目要求保存并返回预测结果。
祝大家都顺利 AC!