Optiver 2026 春招在一亩三分地上的 OA 反馈密度很高,三地(阿姆斯特丹 / 芝加哥 / 悉尼)题库基本同源,Trading Sequences、Allocation、Order Book 三条主线占了约 85% 的题面比例。本文按一亩三分地最近 60 天发帖整理题型分布、Python 解法和 OA辅助 接入方式,帮你少走弯路。
Optiver OA 一亩三分地反馈速览(2026 春招)
| 维度 | 详情 |
|---|---|
| 投放渠道 | HackerRank + Optiver 自研在线 IDE |
| 时长 | 70–90 分钟 |
| 题量 | 2–3 题(必含 1 道 simulation) |
| 平均通过率 | 一亩三分地反馈约 38% |
| 评测特点 | 全自动判题 + 隐藏 corner case + 时间复杂度限制 |
| 冷却期 | 6 个月,跨城市单独计数 |
主线一:Trading Sequences(数列模拟)
题型描述
给定一秒级成交价数组 prices[],找出最长非递减子段,且子段平均价 ≥ 全局均价。一亩三分地 2026 帖子中这题反复出现,注意「平均价 ≥」是闭区间。
Python 解法
def longest_strong_run(prices):
if not prices:
return 0
avg = sum(prices) / len(prices)
best = 0
start = 0
cur_sum = 0
for i, p in enumerate(prices):
if i > 0 and prices[i] < prices[i - 1]:
start = i
cur_sum = 0
cur_sum += p
length = i - start + 1
if cur_sum / length >= avg and length > best:
best = length
return best
复杂度:O(n) 时间 / O(1) 空间。一亩三分地反馈隐藏 case 有「全降序」「全相等」「长度=1」边界。
主线二:Allocation(按比例配额分配)
题型描述
n 个客户对一篮子标的下达申购量 demand[i],可用总量 S < sum(demand)。要求按「比例 + 整手取整 + 余量按时间戳轮询」规则给每个客户分配最终成交量。
Python 解法
def pro_rata_allocate(demands, ts, S, lot=1):
n = len(demands)
total = sum(demands)
base = [(d * S) // total // lot * lot for d in demands]
leftover = S - sum(base)
order = sorted(range(n), key=lambda i: ts[i])
i = 0
while leftover >= lot and i < n:
idx = order[i]
if base[idx] < demands[idx]:
base[idx] += lot
leftover -= lot
i += 1
return base
复杂度:O(n log n),瓶颈在 timestamp 排序。一亩三分地反馈最常见 corner case 是「lot 不能整除 S」时余量未正确轮询。
主线三:Order Book(限价撮合)
题型描述
实现一个最小可行 Limit Order Book,支持 add(side, price, qty) 与 match()。match() 撮合所有可成交对,返回 [(buy_id, sell_id, price, qty), ...]。
Python 解法
import heapq
from collections import defaultdict
class OrderBook:
def __init__(self):
self.buys = []
self.sells = []
self.qty = defaultdict(int)
self.ts = 0
def add(self, side, price, qty, oid):
self.ts += 1
self.qty[oid] = qty
if side == 'B':
heapq.heappush(self.buys, (-price, self.ts, oid))
else:
heapq.heappush(self.sells, (price, self.ts, oid))
def match(self):
fills = []
while self.buys and self.sells and -self.buys[0][0] >= self.sells[0][0]:
_, _, bid = self.buys[0]
sp, _, sid = self.sells[0]
q = min(self.qty[bid], self.qty[sid])
fills.append((bid, sid, sp, q))
self.qty[bid] -= q
self.qty[sid] -= q
if self.qty[bid] == 0:
heapq.heappop(self.buys)
if self.qty[sid] == 0:
heapq.heappop(self.sells)
return fills
复杂度:每次 match 平均 O(k log n),k 为本轮成交对数。
一亩三分地高频题对照表
| 题型 | 60 天频率 | 核心数据结构 | 易错点 |
|---|---|---|---|
| Trading Sequences | ★★★★★ | 滑动 + 均价 | >= 不是 > |
| Allocation | ★★★★★ | 取整 + 轮询 | 余量未分配 |
| Order Book | ★★★★ | 双堆 + 数量字典 | 部分成交时未减库存 |
| 价差最大化 | ★★★ | 单调栈 | 负数收益 |
| 行情字符串解析 | ★★ | 状态机 | 缺失字段 |
OA辅助 实战路径
oavoservice 的 OA辅助 服务
- 题型分桶:把一亩三分地 30 天内 Optiver 真题按 Trading Sequences / Allocation / Order Book 分桶,每桶配 5 道变体
- 限时模拟:mentor 出题,按真实 70 分钟节奏跑,结束即时复盘 corner case
- OA 当天实时辅助:针对自研平台 OA 提供低延迟思路核对,重点针对 Allocation 这种规则细节多的题
- VO 衔接:进 onsite 后无缝切换 VO辅助 套餐,mentor 不变
一亩三分地之外,我们还做了什么
光刷一亩三分地的帖子效率不高——一是题面会换字段名,二是 Optiver 隐藏 case 边界格外严格。我们维护了一份只在内部循环更新的 corner case 清单,包含每道主线题的 8–12 个隐藏边界,帮你在 70 分钟里少踩坑。
具体方案与报价,加微信 Coding0201 沟通。
FAQ
Optiver OA 一亩三分地反馈和真实题面差距大吗?
题面骨架基本一致,变量名 / 输入格式偶有调整。我们见过的最大差距是 Allocation 题的 lot size 从 1 变成 100,逻辑不变但要重新调整测试用例。
三地(阿姆斯特丹 / 芝加哥 / 悉尼)OA 题库相同吗?
一亩三分地反馈 80% 共享,剩下 20% 是本地化变体(如悉尼场偏概率,芝加哥场偏 Order Book)。
HackerRank 平台和 Optiver 自研平台有什么区别?
HackerRank 给 sample case 不允许自定义运行环境;自研平台允许自己写测试用例,但隐藏 case 更严。建议两套都练。
OA 没过冷却期多久?换岗位也算吗?
通常 6 个月,跨城市办公室单独计数。换岗位(如 SWE → Trading)一般另算池子,可以更早再投。
正在准备 Optiver OA / VO?
oavoservice 长期追踪 Optiver / Citadel / Jane Street / IMC 等量化机构的 OA + VO 真题。mentor 来自一线做市 / 自营团队,可以提供 题型分桶、限时模拟、自研平台实时 OA辅助、行为面剧本 等 OA辅助 / VO辅助 服务。
👉 立即添加微信:Coding0201,获取 Optiver 一亩三分地高频题与 OA辅助 方案。
联系方式
Email: [email protected]
Telegram: @OAVOProxy