BlackRock 2026 春招 / 暑期招聘的 OA 主要由 HirePro / HackerRank 投放,岗位差异决定题型权重。本篇按 Investment Analyst / Quant / Aladdin Engineer 三档岗位汇总题型分布,配上真题级 Python / SQL 解法,最后给出 OA辅助 的接入方式。
BlackRock OA 概览(2026)
| 维度 | 详情 |
|---|---|
| 投放平台 | HirePro(Investment)/ HackerRank(Aladdin) |
| 时长 | 60–90 分钟 |
| 题量 | 3–5 题(含 1 道情境题) |
| 主考方向 | 投资组合、SQL、Python、概率 |
| 评分 | 自动评分 + 部分主观打分 |
| 通过率 | 社区反馈约 35% |
主线一:Portfolio Analytics 真题
题目描述
给定一个组合每日收益序列 returns[]、风险无关收益率 rf。计算 Sharpe Ratio、Max Drawdown、Information Ratio(相对基准 bench[])。
Python 解法
import math
def portfolio_metrics(returns, bench, rf=0.0):
n = len(returns)
avg = sum(returns) / n
var = sum((r - avg) ** 2 for r in returns) / (n - 1)
sd = math.sqrt(var)
sharpe = (avg - rf) / sd * math.sqrt(252)
# max drawdown
peak = -float('inf')
cum = 1.0
mdd = 0.0
for r in returns:
cum *= (1 + r)
peak = max(peak, cum)
mdd = max(mdd, (peak - cum) / peak)
# information ratio
active = [a - b for a, b in zip(returns, bench)]
avg_a = sum(active) / n
sd_a = math.sqrt(sum((x - avg_a) ** 2 for x in active) / (n - 1))
ir = avg_a / sd_a * math.sqrt(252) if sd_a else 0
return sharpe, mdd, ir
复杂度:O(n)。隐藏 case 常考「单点收益 = -1」造成 cum=0 的除零陷阱。
主线二:投资组合 SQL
题目描述
给定 holdings(account_id, asset_id, weight) 和 prices(asset_id, date, close)。计算每个账户 每日组合价值 + 过去 30 天波动率。
SQL 解法(CTE + 窗口)
WITH port_value AS (
SELECT h.account_id, p.date,
SUM(h.weight * p.close) AS value
FROM holdings h
JOIN prices p ON h.asset_id = p.asset_id
GROUP BY h.account_id, p.date
),
daily AS (
SELECT account_id, date,
value,
(value / LAG(value) OVER (PARTITION BY account_id ORDER BY date)) - 1 AS ret
FROM port_value
)
SELECT account_id, date,
STDDEV_SAMP(ret) OVER (
PARTITION BY account_id ORDER BY date
ROWS BETWEEN 29 PRECEDING AND CURRENT ROW
) * SQRT(252) AS vol_30d
FROM daily
ORDER BY account_id, date;
注意点:HirePro SQL 引擎对 STDDEV_SAMP 与 LAG 支持完整,但部分版本要求显式 ORDER BY 子句,社区反馈这是最常见错答原因。
主线三:Python 数据清洗
题目描述
读入一份 trades.csv,剔除 quantity ≤ 0、price 为空、timestamp 不在交易时段(9:30–16:00 ET)的记录,并按 symbol 聚合 VWAP。
Python 解法
import csv
from collections import defaultdict
from datetime import time
def vwap(rows):
bucket = defaultdict(lambda: [0.0, 0]) # [pv, vol]
for r in rows:
try:
q = int(r['quantity'])
p = float(r['price']) if r['price'] else None
ts = r['timestamp']
except Exception:
continue
if q <= 0 or p is None:
continue
hh, mm = int(ts[11:13]), int(ts[14:16])
if (hh, mm) < (9, 30) or (hh, mm) > (16, 0):
continue
bucket[r['symbol']][0] += p * q
bucket[r['symbol']][1] += q
return {s: pv / vol for s, (pv, vol) in bucket.items() if vol}
复杂度:O(n)。社区反馈常被卡的 case:9:30:00.001 这种带毫秒的 timestamp、跨日期边界的纪录。
BlackRock OA 题型分布表(2026)
| 题型 | 出现率 | 主要岗位 | 备注 |
|---|---|---|---|
| Portfolio Analytics | ★★★★★ | Investment Analyst / Quant | 必考 |
| SQL 投资组合 | ★★★★ | Aladdin Engineer / Risk | 窗口函数 |
| Python 数据清洗 | ★★★★ | Risk / Data Engineer | csv / pandas |
| 蒙特卡洛模拟 | ★★★ | Quant | 概率 + 收敛 |
| 行为情境题 | ★★ | 所有岗位 | 多选 + 短回答 |
OA辅助 实战路径
oavoservice 的 OA辅助 服务
- 岗位拆分:按 Investment / Quant / Aladdin 三档分别配题型库
- HirePro 平台模拟:mentor 模拟 HirePro 的 IDE 限制与时间窗
- OA 当天实时辅助:投资分析题给 Sharpe / IR 计算流程的低延迟思路核对
- VO 衔接:进 onsite 后 mentor 切换 VO辅助 套餐,覆盖 case interview + BQ + 投资观点表达
一份 HirePro 平台「踩坑清单」
我们内部维护了一份 HirePro 平台踩坑清单:包含 STDDEV_POP vs STDDEV_SAMP 差异、LAG 在 partition 边界的行为、Python 沙箱缺少 pandas 时如何用纯 stdlib 实现 rolling 等共 14 项。OA辅助 学员可以直接拿到这份清单。
具体方案与报价,加微信 Coding0201 沟通。
FAQ
BlackRock OA 用 pandas 吗?
HirePro 平台默认不带 pandas,要么用 numpy / 纯 stdlib,要么自己写 rolling。HackerRank 渠道的 Aladdin OA 允许 pandas。
OA 通过后多久面试?
社区反馈通常 7–14 天发 phone screen;Investment 岗会先有 HR 30 分钟,再进 hiring manager。
BlackRock 全球各办公室题库一致吗?
Investment Analyst 题库 90% 共享,本地化只在情境题中体现;Aladdin Engineer 各 office 题库差异较大,伦敦 / 纽约 / 苏州各自维护一套。
OA 没过冷却期多久?
12 个月,跨岗位另算池子。
正在准备 BlackRock OA / VO?
oavoservice 长期追踪 BlackRock / Citadel / Bridgewater / Two Sigma / Vanguard 这类资产管理与对冲基金的 OA + VO 真题。mentor 来自一线 PM / Quant / Risk 团队,可以提供 岗位题库定制、HirePro 平台模拟、SQL 与 Python 实时 OA辅助、case interview 剧本 等 OA辅助 / VO辅助 服务。
👉 立即添加微信:Coding0201,获取 BlackRock 高频题与 OA辅助 方案。
联系方式
Email: [email protected]
Telegram: @OAVOProxy