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