← 返回部落格列表 BlackRock OA 全解析:題型分類與高頻真題拆解
BlackRock

BlackRock OA 全解析:題型分類與高頻真題拆解

2026-06-09

BlackRock 作為全球最大的資產管理公司,技術職(尤其是 Aladdin 平台相關團隊)的 OA 既考演算法基礎,也考工程與資料能力。它的 Coding Assessment 通常透過 HackerRank 進行,題型組合相對固定。本文把這套 OA 拆成四大類,逐一給出真題角度的解法。

BlackRock OA 概覽

維度 詳情
平台 HackerRank(部分職位用 CodeSignal)
時長 60–90 分鐘
題量 3–5 題(編碼 + SQL 混合)
難度 LeetCode Easy–Medium 為主
考察重點 陣列/字串、圖論、DP、SQL 查詢

題型一:陣列與字串處理

最基礎的一類,常見為「子陣列求和」「字元頻次統計」。一道典型題:給定陣列,求和恰好等於 target 的連續子陣列個數。

Python 解法(前綴和 + 雜湊)

def subarray_sum_count(nums, target):
    count = 0
    prefix = 0
    seen = {0: 1}  # 前綴和 -> 出現次數
    for x in nums:
        prefix += x
        count += seen.get(prefix - target, 0)
        seen[prefix] = seen.get(prefix, 0) + 1
    return count

時間複雜度:O(n) 空間複雜度:O(n)

題型二:圖論 / 最短路徑

資產網路、依賴關係常被包裝成圖題。典型題:給定 N 個節點和帶權邊,求從源點到所有節點的最短距離。

Python 解法(Dijkstra + 堆)

import heapq
from collections import defaultdict

def shortest_paths(n, edges, src):
    graph = defaultdict(list)
    for u, v, w in edges:
        graph[u].append((v, w))
    dist = [float('inf')] * n
    dist[src] = 0
    pq = [(0, src)]
    while pq:
        d, u = heapq.heappop(pq)
        if d > dist[u]:
            continue
        for v, w in graph[u]:
            if d + w < dist[v]:
                dist[v] = d + w
                heapq.heappush(pq, (dist[v], v))
    return dist

時間複雜度:O((V + E) log V)

題型三:動態規劃

BlackRock 的 DP 題偏「投資/收益」場景,例如「最大不相鄰子序列和」(隱喻不能連續兩期都投同一資產)。

Python 解法

def max_non_adjacent_sum(nums):
    include, exclude = 0, 0  # include: 選當前; exclude: 不選當前
    for x in nums:
        include, exclude = exclude + x, max(include, exclude)
    return max(include, exclude)

時間複雜度:O(n) 空間複雜度:O(1)

題型四:SQL 查詢

金融資料職幾乎必考。典型題:給定 transactions 表,找出每個 client 當月交易額最高的那一筆。

SQL 解法(視窗函數)

SELECT client_id, txn_id, amount, txn_date
FROM (
    SELECT client_id, txn_id, amount, txn_date,
           ROW_NUMBER() OVER (
               PARTITION BY client_id
               ORDER BY amount DESC
           ) AS rn
    FROM transactions
    WHERE txn_date >= DATE_TRUNC('month', CURRENT_DATE)
) t
WHERE rn = 1;

視窗函數 ROW_NUMBER() 是這類「分組取 Top-1」題的標準武器,比自連接更清晰高效。

備考策略

題型 推薦 LeetCode 重點
陣列/字串 1, 560, 76 前綴和、雙指針、滑動視窗
圖論 743, 207, 1631 Dijkstra、拓撲排序
DP 198, 322, 300 狀態定義、滾動陣列
SQL 視窗函數、聚合、JOIN ROW_NUMBER、GROUP BY、HAVING

BlackRock OA 的整體難度不極端,但題量大、時間緊,SQL 與編碼混考很容易顧此失彼。建議按題型輪轉刷題,把 SQL 的視窗函數練到肌肉記憶。


FAQ

BlackRock OA 難度如何?和 LeetCode 比是什麼水平? 整體在 Easy 到 Medium 之間,單題不難,但題量大、時間緊,加上 SQL 混考,對節奏控制要求高。

BlackRock OA 用什麼平台?時長多久? 多數職位走 HackerRank,部分用 CodeSignal,時長 60–90 分鐘,含 3–5 題。

BlackRock OA 一定會考 SQL 嗎? 資料/金融分析方向幾乎必考;純後端/平台職以編碼題為主,但掌握視窗函數有備無患。

OA 之後的流程是什麼? 通過後通常進入技術電面與 superday(多輪 VO),含編碼、系統/專案討論與 Behavioral,整體週期約 3–5 週。

OA 時間不夠、SQL 不熟怎麼辦? 我們提供 BlackRock OA輔助 與 OA代面 支援:針對四大題型做專項拆解與限時演練,幫你在緊張的時間窗內穩定拿分。


正在準備 BlackRock 的 OA?

BlackRock OA 的難點不在單題,而在「題量 + SQL 混考」的節奏。我們的導師可提供四類題型的高頻題拆解、SQL 視窗函數專項與限時模擬。需要系統規劃,歡迎交流,立刻聯繫微信 Coding0201獲取真題與備考資料


聯繫方式

Email: [email protected] Telegram: @OAVOProxy