← Back to blog BlackRock OA 2026 Question Bank — Arrays + Graphs + DP + SQL with VO Coaching
BlackRock

BlackRock OA 2026 Question Bank — Arrays + Graphs + DP + SQL with VO Coaching

2026-05-20

As the world's largest asset manager, BlackRock's technical OA has a finance + engineering flavor. Unlike pure quant shops such as Optiver or Citadel, BlackRock's OA reads more like a "FinTech SDE" screen with four stable themes: arrays / two pointers, graph MST, dynamic programming, and SQL reporting. Almost every role surfaces 3 of them (a typical section has 4 problems, 30-45 minutes each). This article aggregates the 2026 high-frequency questions, with full solutions and a practical VO coaching plan.

BlackRock OA at a Glance (2026)

Dimension Detail
Platform HackerRank
Duration 90-120 minutes
Count 3-4 problems (including 1 SQL)
Difficulty Mostly LC Medium; SQL slightly above medium
Focus Arrays, graphs, DP, SQL reporting
Grading Auto-graded; emphasizes edge cases and complexity

1point3acres 2026 reports: solving 3 with full AC in 90 minutes is typically enough to clear the OA.

Theme 1: Arrays / Sliding Window

Sample: Portfolio Volatility Window

Given a daily return series rets[], find the start index of the length-k window with the largest absolute sum.

def max_abs_window(rets, k):
    if len(rets) < k:
        return -1
    s = sum(rets[:k])
    best_sum, best_idx = abs(s), 0
    for i in range(k, len(rets)):
        s += rets[i] - rets[i - k]
        if abs(s) > best_sum:
            best_sum, best_idx = abs(s), i - k + 1
    return best_idx

Time O(n)

Theme 2: Graph MST

Sample: Cross-border Data Network Cost

n data centers; candidate links (u, v, w). Build a minimum spanning subgraph that connects all nodes; return the total cost.

class DSU:
    def __init__(self, n):
        self.p = list(range(n))
    def find(self, x):
        while self.p[x] != x:
            self.p[x] = self.p[self.p[x]]
            x = self.p[x]
        return x
    def union(self, a, b):
        ra, rb = self.find(a), self.find(b)
        if ra == rb:
            return False
        self.p[ra] = rb
        return True

def min_network_cost(n, edges):
    edges.sort(key=lambda e: e[2])
    dsu, cost, count = DSU(n), 0, 0
    for u, v, w in edges:
        if dsu.union(u, v):
            cost += w
            count += 1
            if count == n - 1:
                return cost
    return -1

Time O(E log E)

Theme 3: Dynamic Programming

Sample: Batch Settlement with Minimum Fees

n orders to be settled in batches. Each batch covers consecutive orders, with fixed service fee F plus per-order extra c[i]. Find the minimum total fee.

def min_settlement_cost(c, F):
    n = len(c)
    INF = float('inf')
    dp = [INF] * (n + 1)
    dp[0] = 0
    for i in range(1, n + 1):
        batch = 0
        for j in range(i, 0, -1):
            batch += c[j - 1]
            dp[i] = min(dp[i], dp[j - 1] + F + batch)
    return dp[n]

This is one of BlackRock OA's most stable DPs — segment DP, O(n²), which degrades to O(nM) when there's a max-batch-length M.

Theme 4: SQL Reporting

BlackRock SQL problems lean toward finance / investment scenarios:

Sample: Top-3 Monthly Returns

portfolio(fund_id, date, return_pct) — return the top 3 funds by monthly return for each month.

WITH monthly AS (
    SELECT
        fund_id,
        DATE_TRUNC('month', date) AS month,
        SUM(return_pct)            AS m_return
    FROM portfolio
    GROUP BY fund_id, DATE_TRUNC('month', date)
), ranked AS (
    SELECT
        fund_id,
        month,
        m_return,
        DENSE_RANK() OVER (PARTITION BY month ORDER BY m_return DESC) AS rk
    FROM monthly
)
SELECT fund_id, month, m_return
FROM ranked
WHERE rk <= 3
ORDER BY month, m_return DESC;

Frequency Table from 1point3acres

Category Frequency Key technique
Sliding window / two pointers ★★★★ Prefix sum + abs
Graph MST ★★★★★ Kruskal + DSU
Segment DP ★★★★ Range accumulation
SQL window functions ★★★★★ RANK / DENSE_RANK
Quote-feed parsing ★★★ Regex / split

VO Loop and Coaching

BlackRock VO typically has 3-4 rounds:

  1. HR phone: motivation, role understanding (25 min)
  2. Tech 1: algorithms + coding (45 min)
  3. Tech 2: SQL + data modeling (45 min)
  4. Hiring manager: scenario + behavioral (30-45 min)

Common VO coaching patterns

oavoservice's combined VO Proxy + VO Coaching package

For BlackRock's 3-4 round VO with balanced algorithms / SQL / behavioral weights, oavoservice offers:

Reach out on WeChat Coding0201 for the full plan and pricing.


FAQ

How hard is BlackRock OA? How much LeetCode is enough?

Overall LC Medium; SQL is slightly above medium. Plan for ~200 LC Mediums + ~30 LeetCode SQL problems, then drill the four theme types.

Is the OA identical across roles?

Themes are the same; weights differ. Quant roles emphasize DP / probability; Data Engineering doubles on SQL; SWE adds light system design.

Cooldown after a failed OA?

Usually 6 months. Switching roles (e.g., Quant → Data Engineer) typically does not share the cooldown pool.

Can I just memorize 1point3acres reports?

Themes are stable, statements rotate. Memorize templates (segment DP, Kruskal, DENSE_RANK) rather than wording.


Preparing for BlackRock OA / VO?

oavoservice offers question bucketing, SQL specialty coaching, mock interviews, and behavioral playbooks for BlackRock, Vanguard, Fidelity and similar asset managers. Our mentors come from frontline FinTech / investment-tech teams and can build a 1-2 week sprint around your target role.

👉 Add WeChat: Coding0201get BlackRock high-frequency questions + VO coaching.


Contact

Email: [email protected]
Telegram: @OAVOProxy