← Back to blog BlackRock OA 2026 Practical Guide | Portfolio + SQL Quick-Hit Tactics
BlackRock

BlackRock OA 2026 Practical Guide | Portfolio + SQL Quick-Hit Tactics

2026-05-23

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: Coding0201grab the BlackRock 2026 prep pack.


Contact

Email: [email protected]
Telegram: @OAVOProxy