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