最近C1放出了很多OA, Capital One OA 真的没想象中难!前两题比较简单,easy难度,重点是第3,4题, 一般都是medium和hard的难度 (不知道为什么C1特别喜欢考simulation的题, 什么给定一系列操作,问最后形态。拿了onsite得去问问面试官!),分享一套刚完成的Capital one ds OA 满分通过,
第 1 问:基础数据分析 + CSV 输出
要求:读取司机(drivers.csv)和多份行程数据(rides_1.csv ~ rides_4.csv);做基础数据清洗;合并与统计;将分析结果保存为 CSV 文件。
解题思路:1. 读取司机数据,计算评分均值和掌握第二语言司机的占比。 2. 合并四份订单数据,计算成功状态订单的占比。 3. 构造结果数据并完成保存。
第 2 问:时间特征 + 扩展字段分析
要求:数据时间点固定为2023-04-15、在 drivers.csv 中引入更多字段(如 started_driving_year)、基于“今天”计算时间衍生特征(如驾龄)。
解题思路:1. 以2023-04-15为基准,处理车辆表得到检验间隔天数,处理司机表算出工龄。 2. 合并四份订单表,按司机ID分组统计总点赞数。 3. 以司机表为主表左连接车辆、订单处理后的数据,空点赞数填0。 4. 按要求整理列顺序并保存结果。
第 3 问:司机画像 / 性能指标数据集构建
要求:给定一个已整理好的司机性能数据集、理解每个字段的业务含义、不再是“算指标”,而是需要理解题目。
解题思路:1. 仅用训练集计算均值,填充训练集和测试集的年龄缺失值并取整。 2. 基于训练集做类别编码,训练集无的新类别统一编为-1。 3. 用训练集的均值和标准差标准化小费净值,训练集和测试集共用该参数。 4. 对司机等级做固定编码,按要求保存数据并限定小费净值保留5位小数。
第 4 问:机器学习分类任务
要求:基于前一问清洗后的数据、训练模型预测司机的 driver_class(0 / 1)、B 类(1)为正类、在保证 precision 不太低的前提下最大化 recall。
解题思路:1. 读取训练、验证、测试数据,剔除无关的ID列。 2. 合并训练和验证集,分离特征和目标变量司机等级。 3. 用带平衡类别权重的随机森林分类器训练全量数据。 4. 用训练好的模型预测测试集,按要求保存司机等级结果。
准备小结
顺便说一下结果。这次 Capital one OA 我这边是找了 programhelp 做了全程的 OA 辅助 ,大概过了一周左右,就收到了 Recruiter 发来的邮件,通知我进入下一轮 VO。回头看这次 OA,单纯靠自己硬顶的话,很可能会踩坑。如果你也在准备 C1 或其他大厂的 OA/VO,可以直接联系 programhelp 了解对应的面试辅助和陪跑支持。