If you've already covered LC Medium but BlackRock's OA wording — portfolio, return_pct, AUM, benchmark — still rattles you in the 90-minute window, this is your quick-hit guide for 2026 spring + summer + full-time. Not a from-scratch primer; instead, the four highest-frequency questions from the last 30 days of 1point3acres, each delivered as template + a one-liner business-language translation.
BlackRock OA Snapshot (2026)
| Dimension | Detail |
|---|---|
| Platform | HackerRank |
| Duration | 90–120 minutes |
| Questions | 3–4 (one is SQL) |
| Difficulty | LC Medium; SQL medium-hard |
| Grading | Auto + business-edge cases |
Latest 1point3acres feedback (2026): 3 ACs → phone screen; 4 ACs strongly correlates with offer-stage compensation.
Problem 1: Rolling Portfolio Sharpe
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
Time complexity: O(n). Sliding variance = E[X²] − (E[X])²; watch float stability.
Problem 2: Exposure Bucketing
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))
Time complexity: O(n log m). 1point3acres reports: bisect_right vs bisect_left boundary is a common pitfall.
Problem 3: SQL Window Functions + Multi-Table JOIN
fund(fund_id, name, asset_class) and daily_return(fund_id, date, return_pct). Within each asset_class, return the top 5 funds by 30-day cumulative return.
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;
DENSE_RANK for ties; use INTERVAL '30 days' for PostgreSQL / Snowflake compatibility.
Problem 4: Portfolio Rebalancing
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
Surface form is sum of absolute deltas; advanced versions add constraints (e.g. cannot buy and sell the same asset in one cycle), reducing to LP / DP. Per 1point3acres, advanced variants appear ~20% of the time.
6-Day Sprint
| Day | Task |
|---|---|
| D1 | Sliding window + sliding variance — 3 problems |
| D2 | Binary search / bucketing / interval — 4 problems |
| D3 | LeetCode SQL Top 50 + RANK / DENSE_RANK |
| D4 | Multi-table JOIN + DATE_TRUNC + time window — 5 problems |
| D5 | Full pass over 1point3acres BlackRock posts (30 days) |
| D6 | 90-minute timed mock — all four problems |
FAQ
Must I use Python for BlackRock OA?
You can pick Python / Java / C++; the SQL problem is separate. 1point3acres reports ~90% of candidates choose Python.
Which SQL dialect?
HackerRank defaults to PostgreSQL-compatible; master WITH, OVER (PARTITION BY ...), and DATE_TRUNC.
PM vs SDE OA differences?
PM track is heavier on SQL + statistics (60%); SDE track heavier on algorithms (70%).
Cooldown if failed?
Typically 6 months. Cross-track moves (BLK / Aladdin / Wealth) usually reset the bucket.
Preparing BlackRock OA / VO?
We were glad to help this cohort pass the BlackRock OA. Many candidates told us that BlackRock's SQL edge cases + business wording made them lose composure during the 90-minute window — grinding LC SQL Top 50 alone isn't enough; you need BlackRock-style "multi-JOIN + date window + DENSE_RANK" combos.
If you're prepping BlackRock, Vanguard, Fidelity, or Citi-style asset-management / investment-tech OAs and feel directionless, contact oavoservice. We tailor the OA assistance to your gaps and connect Portfolio + SQL + rebalancing into one practice loop.
👉 Add WeChat: Coding0201 — grab the BlackRock 2026 prep pack.
Contact
Email: [email protected]
Telegram: @OAVOProxy