如果你已經把 LC Medium 刷得差不多,但 BlackRock 的 OA 題面裡滿屏都是 portfolio、return_pct、AUM、benchmark 這些金融術語,仍然有可能在 90 分鐘裡翻車。這篇文章是給 2026 春招 + 暑期 + 全職職位的 快攻指南:不是從零開始的題型梳理,而是把過去 30 天一畝三分地最頻繁出現的 4 道高頻題用「模板 + 一行業務話語翻譯」直接給你。
BlackRock OA 概覽(2026 最新)
| 維度 | 詳情 |
|---|---|
| 平台 | HackerRank |
| 時長 | 90–120 分鐘 |
| 題量 | 3–4 道(含 1 道 SQL) |
| 難度 | LC Medium,SQL 中等偏上 |
| 評分 | 自動判題 + 業務邊界 case |
一畝三分地 2026 最新反饋:3 道 AC 即進 phone screen;4 道全過的薪資 offer 比例顯著升高。
題型一:Portfolio 滾動收益
import math
def rolling_sharpe(rets, k):
n = len(rets)
if n < k:
return []
s = sum(rets[:k])
s2 = sum(r * r for r in rets[:k])
out = []
def emit():
mean = s / k
var = max(s2 / k - mean * mean, 0)
std = math.sqrt(var)
return mean / std * math.sqrt(252) if std > 1e-12 else 0.0
out.append(emit())
for i in range(k, n):
s += rets[i] - rets[i - k]
s2 += rets[i] * rets[i] - rets[i - k] * rets[i - k]
out.append(emit())
return out
時間複雜度:O(n)。
題型二:風險敞口分桶
import bisect
def bucket_exposure(holdings, thresholds):
n = len(thresholds) + 1
total = [0.0] * n
max_single = [0.0] * n
for asset, exp in holdings:
b = bisect.bisect_right(thresholds, abs(exp))
total[b] += exp
if abs(exp) > abs(max_single[b]):
max_single[b] = exp
return list(zip(total, max_single))
時間複雜度:O(n log m)。
題型三:SQL 視窗函數 + 多表 JOIN
WITH recent AS (
SELECT
f.fund_id,
f.asset_class,
SUM(d.return_pct) AS r30
FROM fund f
JOIN daily_return d ON f.fund_id = d.fund_id
WHERE d.date >= CURRENT_DATE - INTERVAL '30 days'
GROUP BY f.fund_id, f.asset_class
), ranked AS (
SELECT
fund_id,
asset_class,
r30,
DENSE_RANK() OVER (PARTITION BY asset_class ORDER BY r30 DESC) AS rk
FROM recent
)
SELECT fund_id, asset_class, r30
FROM ranked
WHERE rk <= 5
ORDER BY asset_class, r30 DESC;
題型四:投資組合再平衡
def rebalance_cost(w, t, c):
n = len(w)
cost = 0.0
for i in range(n):
diff = abs(w[i] - t[i])
cost += diff * c[i]
return cost
表面上是「絕對值之和」,但進階版會附加約束(不能同時買入和賣出同一資產),退化為 LP / DP。
6 天衝刺方案
| 天數 | 任務 |
|---|---|
| D1 | 滑動視窗 + 滑動方差模板 3 道 |
| D2 | 二分 / 分桶 / 區間問題 4 道 |
| D3 | LeetCode SQL Top 50 + RANK / DENSE_RANK |
| D4 | 多表 JOIN + DATE_TRUNC + 時間視窗 5 道 |
| D5 | 一畝三分地 BlackRock 30 天帖完整刷一遍 |
| D6 | 限時 90 分鐘 mock,一次性 4 題 |
FAQ
BlackRock OA 必須用 Python 嗎?
可以選 Python / Java / C++,SQL 題獨立。一畝三分地反饋:90% 候選人選 Python。
SQL 題用什麼方言?
HackerRank 預設 PostgreSQL 相容;建議熟悉 WITH、OVER (PARTITION BY ...)、DATE_TRUNC 三大語法。
PM 職和 SDE 職 OA 有差嗎?
PM 職 SQL + 統計題占比更高(約 60%),SDE 職演算法題占比更高(約 70%)。
沒過冷卻期?
通常 6 個月,跨 BLK / Aladdin / Wealth 業務線一般另算池。
正在準備 BlackRock OA / VO?
這次很高興幫這批同學順利通過 BlackRock OA。很多同學反饋,BlackRock OA 的 SQL 邊界 case + 業務 wording 讓他們在 90 分鐘裡方寸大亂——光刷 LC SQL 50 題是不夠的,得練 BlackRock 風格的「多表 JOIN + 日期視窗 + DENSE_RANK」組合拳。
如果你也在準備 BlackRock、Vanguard、Fidelity、Citi 這類資管 / 投資科技公司的 OA,感覺一個人複習方向模糊,歡迎聯絡 oavoservice。我們會根據你的具體水平和弱點,提供專業的 OA 實戰輔助服務和一對一指導,把 Portfolio + SQL + 再平衡題型完整打通。
👉 立即加微信:Coding0201,獲取 BlackRock 2026 高頻題與備考方案。
聯絡方式
Email: [email protected]
Telegram: @OAVOProxy