这次 BCGX OA 给很多人的普遍感受是:“终于考了一次像真实数据科学工作内容的 OA”。
不是让你去拼极致性能的算法题,也不是 LeetCode 风格的脑筋急转弯,而是从拿到脏数据开始,一路做到能拿来给业务/产品看的预测结果,完完整整一条 DS/ML 生产 pipeline。
三道题强关联,属于典型的“一条龙”考察,强烈建议当成一个小项目来认真对待。

Q9 – Data Cleaning & Feature Aggregation
Problem Description:
You are given a housing master table and a user activity log table.
The housing table contains basic information such as house_id, location, price, and publish_time.
The activity table records user views with fields including house_id and timestamp.Your task is to:
- Clean and standardize column names across both datasets.
- Aggregate the number of views within a specified time window.
- Merge the aggregated results back into the housing master table.
这一题本质是数据工程基础能力检查。
重点不在复杂逻辑,而在于你是否能:
- 统一混乱的列名格式(大小写、空格、下划线)
- 正确处理时间字段并按时间窗口过滤
- 使用
groupby统计浏览次数 - 在 merge 后合理处理没有浏览记录的房源(通常填 0)
整体非常贴近真实业务中「行为特征构造」的过程。
Q10 – Data Preprocessing & Feature Engineering
Problem Description :
You are provided with pre-split training and testing datasets.
Prepare the data so that it can be directly used for machine learning models by:
- Handling missing values appropriately.
- Encoding categorical features.
- Standardizing numerical features.
Ensure that the same preprocessing logic is consistently applied to both training and testing datasets.
这道题开始明显进入建模前的标准流程。
实际考察的不是“用哪种方法”,而是你是否理解 ML pipeline 的正确做法:
- 数值型特征与类别型特征要区别对待
- 类别映射必须在 train 上建立,并复用到 test
- 标准化(如 StandardScaler)只能在训练集 fit
如果在 test 上重新 fit preprocessing step,基本就是直接暴露对建模流程不熟。
Q11 – Model Training & Evaluation
Problem Description :
Using the preprocessed dataset, train a regression model to predict house prices.
Specifically, you should:
- Train a HistGradientBoostingRegressor on the training data.
- Generate predictions on the validation dataset.
- Output both the predictions and an evaluation metric measuring validation error.
这一题是对前两题的自然收尾。
模型本身不要求你复杂调参,重点在于:
- 能否完整跑通训练 → 验证 → 评估流程
- 是否正确使用回归问题的误差指标(e.g. RMSE / MAE)
- 是否保证训练与验证数据严格分离
只要前面的特征工程做得规范,这一题基本就是顺水推舟。
Overall Impression
整体来看,BCGX 的 OA:
- 更偏 真实 DS / ML 项目流程
- 强调数据清洗、特征工程和建模基本功
- 并不追求花哨算法,但非常看重流程正确性和工程习惯
Preparation Tips
给后面准备的同学几点非常实在的建议:
- pandas 的 merge / groupby / datetime 一定要熟
- 熟悉 sklearn 的 preprocessing + modeling pipeline
- 明确 train / validation / test 的边界
- 把 OA 当成「小项目」,而不是刷题
如果你之前做过项目,这套 OA 其实是加分项。
被 BCGX OA 虐得够呛,中间差点心态崩了
…… 后来是朋友拉了我一把,介绍我找了 ProgramHelp 的导师,才算是把最后一哩路跑通。
说实话,我一开始也觉得“又一个求职服务”,结果用下来真觉得不一样:
– 导师全是真正在干活的,2-8年经验,基本都是大厂/咨询/量化/美股上市的在职中高级
– 很多就是前阵子自己刚拿完同类offer,或者刚转正的“新鲜过来人”,特别懂现在到底在卡什么
– 不像机构那样给你塞一堆模板和套路,而是真的陪你把 OA pipeline、Decomp 拆解、Learning 现场写代码、Government 那几句灵魂拷问一个个过
– 我自己最怕的 BCGX train-test 污染、Palantir 现场读陌生 schema 这两块,都是导师帮我捋清楚思路+模拟场景练了几遍才稳住 – 关键是价格还算能接受,不是那种动不动几千上万的“高端包装”
现在回头看,BCGX OA 能过,真的多亏了他们的无痕助攻。 身边好几个同学也陆陆续续找了,基本都说“早知道就早点找了”。
要是你也卡在 pipeline、表达、流程、Government 坑位这些地方,真的建议找靠谱人聊聊,别自己死磕。