BCG X(前身 BCG GAMMA,2022 年與 PlatinionUS 合併改名)是 BCG 旗下的 AI / Data Science / 軟體工程混合顧問部門,對標 McKinsey QuantumBlack、Bain Aether。它的 Data Scientist 職缺同時考察顧問的「商業感」和工程的「程式碼功底」——所以面試流程比純 Tech Co. 長 1.5 倍,但被拒掉的履歷也通常因為「只懂 ML 不懂業務」或反過來。
本文基於一畝三分地、Glassdoor、Reddit 與多位 candidate 復盤,把 BCG X DS 的五輪面試流程、每一輪的考察側重、踩坑點都講一遍。
BCG X DS 面試全景
| 輪次 | 時長 | 內容 | 通過率(粗估) |
|---|---|---|---|
| 1. Recruiter Screen | 30 min | 履歷 + 動機 + 薪資期望 | 100% → 60% |
| 2. Case Interview(一面) | 45-60 min | 商業 case + 資料角度 | 60% → 35% |
| 3. ML Coding / SQL(二面) | 60 min | Python + SQL + ML pipeline | 35% → 22% |
| 4. ML System Design(三面) | 60 min | 端到端 ML 系統、可擴展性 | 22% → 14% |
| 5. Partner / Hiring Manager BQ | 45 min | 行為面 + 專案深挖 + culture fit | 14% → 8% |
關鍵變化(2025-2026):BCG X 把過去合併在一輪的「Case + Coding」拆成了獨立兩輪,總時長上升到 4-5 小時,但每一輪的邊界更清晰——這意味著你不能再用「我會寫 ML 程式碼」補救商業 case 的回答。
一面:Case Interview(最容易翻車的一關)
題目模式
candidate 會拿到一個商業情境,例如:
一家全球物流公司發現去年 Q3 的營運成本上漲了 12%,CEO 想知道:(1) 是什麼驅動了上漲?(2) 你作為 BCG X DS 團隊,會用哪些資料 + 模型方法去定位 root cause?(3) 給出一個可落地的 90 天工作計畫。
BCG X 評分維度
不同於 MBB 純 strategy case 的「MECE 框架」,BCG X 的 case 有三個 DS 專屬考察點:
- 資料假設清晰:你提的每個原因(油價、人工、SKU mix)都要能映射到可觀測的資料欄位
- 方法論分層:先 EDA / cohort 拆解,再因果分析(DiD、IV),不要一上來就「我訓練一個 XGBoost」
- 業務可行性:你的 90 天計畫要包括 stakeholder buy-in、A/B test design、失敗預案
答題框架(建議 7 步)
1. Restate problem (30s)
2. Clarifying questions (90s) ← 必問 3 個,否則減分
3. Hypothesis tree (3 min) — 把成本上漲拆成 3-4 個 driver
4. Data side-mapping (3 min) — 每個 driver 對應哪些可獲取的資料
5. Method selection (5 min) — descriptive → causal → predictive 分層
6. 90-day plan (3 min) — 含 milestones, deliverables, risks
7. Recommendation summary (1 min)
真實坑:很多 ML 出身的 candidate 跳過 Step 2-4,直接進 Step 5,被打「thinks like an engineer, not a consultant」。Step 2 的 3 個 clarifying questions 是判分錨點。
二面:ML Coding / SQL
典型題目
candidate 拿到一份 100 萬列的客戶交易 CSV(or SQL 表),任務通常分兩段:
Part A - SQL(20 min)
寫一個 SQL 查詢:找出過去 90 天每個細分市場(segment)中,CLV(客戶生命週期價值)超過該 segment 中位數 1.5x 的 top 10% 客戶。
WITH clv_per_customer AS (
SELECT
customer_id,
segment,
SUM(amount) AS clv
FROM transactions
WHERE txn_date >= CURRENT_DATE - INTERVAL '90 days'
GROUP BY customer_id, segment
),
seg_median AS (
SELECT
segment,
PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY clv) AS median_clv
FROM clv_per_customer
GROUP BY segment
),
ranked AS (
SELECT
c.customer_id,
c.segment,
c.clv,
NTILE(10) OVER (PARTITION BY c.segment ORDER BY c.clv DESC) AS decile
FROM clv_per_customer c
JOIN seg_median m ON c.segment = m.segment
WHERE c.clv > m.median_clv * 1.5
)
SELECT customer_id, segment, clv
FROM ranked
WHERE decile = 1;
評分點:window function(NTILE / PERCENTILE_CONT)+ CTE 分層。子查詢嵌套多層會被減分。
Part B - Python pandas / scikit-learn(40 min)
拿到 customers.csv 和 events.csv,做一個 churn prediction model。約束:缺失值處理 + 類別變數 + 80/20 train/test + 輸出 AUC。
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler, OneHotEncoder
from sklearn.compose import ColumnTransformer
from sklearn.pipeline import Pipeline
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import roc_auc_score
def build_churn_model(customers_path, events_path):
customers = pd.read_csv(customers_path)
events = pd.read_csv(events_path)
# 簡單聚合特徵
agg = events.groupby("customer_id").agg(
n_events=("event_id", "count"),
total_spend=("amount", "sum"),
days_since_last=("ts", lambda s: (pd.Timestamp.now() - pd.to_datetime(s.max())).days),
).reset_index()
df = customers.merge(agg, on="customer_id", how="left").fillna({"n_events": 0, "total_spend": 0, "days_since_last": 365})
y = df.pop("churned")
X = df.drop(columns=["customer_id"])
num_cols = X.select_dtypes(include=["number"]).columns.tolist()
cat_cols = X.select_dtypes(include=["object"]).columns.tolist()
pre = ColumnTransformer([
("num", StandardScaler(), num_cols),
("cat", OneHotEncoder(handle_unknown="ignore"), cat_cols),
])
pipe = Pipeline([("pre", pre), ("clf", LogisticRegression(max_iter=1000))])
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, stratify=y, random_state=42)
pipe.fit(X_train, y_train)
proba = pipe.predict_proba(X_test)[:, 1]
return roc_auc_score(y_test, proba), pipe
評分點:
- 用
Pipeline而不是手動 fit_transform(防止 leakage) stratify=y(類別失衡保護)handle_unknown="ignore"(線上推理穩健)- 報 AUC 而不是 accuracy(業務 churn 通常類別失衡)
三面:ML System Design
題目示例
設計一個為 BCG X 客戶的電商平台做「個人化推薦」的端到端 ML 系統。客戶每月有 1 億 PV,要求:回應時間 < 200ms,模型每天更新一次。
BCG X 偏好的回答結構
1. 業務目標 → 指標定義(CTR / GMV / coverage)
2. 資料流(offline + online)
3. 特徵工程(user / item / context)
4. 召回 + 排序 + 重排三階段架構
5. 離線訓練 pipeline + 線上 serving 架構
6. A/B test 框架 + monitoring
7. 失敗兜底(cold start / degradation strategy)
和 Tech Co. 的差異:BCG X 評分官特別看重 Step 7(失敗兜底)和 Step 1(業務指標)——因為他們交付給客戶的系統不能「掛了就掛了」。一個候選人只講到 Step 5 就停下,會被打「academic」。
四面:Partner / Hiring Manager BQ
| 高頻問題 | 考察點 |
|---|---|
| 講一個你的 DS 專案,從 problem framing 到 deployment 全過程 | 業務感 + 端到端能力 |
| 你和一個非技術 stakeholder 意見衝突時怎麼處理? | 溝通 + 影響力 |
| 你怎麼向 CEO 解釋一個 XGBoost 模型? | 表達分層能力 |
| 上一個專案裡哪段程式碼 / 結論你最不滿意?為什麼? | 自我反思 |
| 為什麼不去 FAANG / 直接做 industry DS? | 動機一致性 |
關鍵:BCG X 的 Partner 面更像「Senior Director」談話——他們要判斷你5 年內能不能 promote 到 Project Leader。避免只講技術細節,多講 business outcome。
備考路徑(4 週)
| 週 | 重點 | 資源 |
|---|---|---|
| W1 | Case Interview 基本功 | Case in Point、Victor Cheng frameworks(核心 12 個) |
| W2 | Python + SQL Coding 強化 | LC SQL 50、StrataScratch、Kaggle 簡易專案 |
| W3 | ML System Design | "Designing ML Systems"(Chip Huyen)+ 自寫 5 個端到端方案 |
| W4 | Mock + BQ 復盤 | 模擬 case + STAR 寫 6 個專案故事 |
避坑:不要花 80% 時間刷 LeetCode——BCG X DS 的演算法題難度遠低於 FAANG,但 case + system design 評分權重 ≥ 60%。
FAQ
Q1:BCG X 和 BCG 主線(顧問)的 Data Scientist 是同一職缺嗎?
不是。BCG 主線 Data Scientist 偏分析師角色,主要服務 traditional case;BCG X DS 是產品 / 工程導向,團隊和 PM、SWE、Designer 一起 ship 產品給客戶。BCG X 的 base 比 BCG 主線 DS 高 10-15%,工作節奏更接近 Tech Co. 而不是 MBB 風格。
Q2:BCG X DS 面試要不要刷 LeetCode?
Hard 題不需要。Coding 輪的難度大致是 LC Easy / Medium 區間,但重點考 pandas / SQL / scikit-learn 的工程化使用,不是資料結構。建議刷 LC SQL 50 + StrataScratch,比純 LC 演算法更對口。
Q3:BCG X 給應屆生還是 MBA 多?
兩者都招,但 title 不同:
- 應屆 MS / PhD → Data Scientist I / II
- MBA + 工業經驗 → Senior Data Scientist / Lead
- PhD + 頂會 → Principal / Lead Data Scientist 直入
應屆 PhD 的錄取率比 MBA + 轉行的高 2-3 倍——BCG X 偏好 ML 強基礎。
Q4:BCG X DS 的 base + bonus 大概多少?
美國 2026 cycle 資料(含 sign-on 攤銷):
- Data Scientist I(應屆):$135-150K base + 15-20% bonus
- Data Scientist II:$155-180K base + 20-25% bonus
- Senior DS:$200-240K base + 25-35% bonus
和 FAANG 比 base 略低,但 bonus 比例高,且實際 utilization billable 時給客戶出差日補可觀。
Q5:BCG X DS 面試一年能投幾次?
12 個月內同一 office 一次。但是不同 office(北美 / 歐洲 / 亞太)獨立處理,所以可以錯時投。注意:如果你在 Recruiter Screen 階段就被拒,cooldown 是 6 個月。
Q6:BCG X DS Onsite 現場還是遠端?
2026 cycle 北美 hub(NYC / Boston / SF / Toronto)前 3 輪都是 remote,第 4-5 輪(System Design + Partner BQ)通常會安排去 office 一天——BCG 報銷機票飯店。亞太與歐洲 hub 大多數輪次仍 remote。
聯絡方式
如果你正在準備 BCG X / McKinsey QuantumBlack / Bain Aether 這類「顧問 + DS」混合職缺,最容易低估的是 Case Interview 的資料導向變體——它和傳統 MBB case 的解題路徑不一樣。我們整理了 BCG X DS 真題包(含 case + ML coding + system design 模板),並提供 1v1 mock 服務。
立即加入微信 Coding0201,獲取 BCG X 面試真題與 mock 安排。
- Email:[email protected]
- Telegram:@OAVOProxy