Two Sigma 2026 春招 / 暑期招聘的 OA 一如既往「時間寬裕但坑多」:Quant Engineer / Quant Researcher / Modeler 三檔崗位都走 CodeSignal,但每檔考點不同。本文按 2026 一畝三分地 + Discord 反饋,按 IPO 份額分配、排水模擬、時序迴歸 三條主線梳理題型,並說明 OA輔助 接入方式。
Two Sigma OA 概覽(2026)
| 維度 | 詳情 |
|---|---|
| 平台 | CodeSignal(自研變體) |
| 時長 | 90–120 分鐘 |
| 題量 | 2 道(每道獨立計分) |
| 主考方向 | 演算法 + 業務規則字面化 |
| 評分 | 全自動判題 + 隱藏 corner case + 時間複雜度 |
| 通過率 | 一畝三分地反饋約 28% |
| 冷卻期 | 12 個月(跨崗位另算) |
主線一:IPO 份額分配
題目描述
n 個客戶對 IPO 下達申購量 demand[i],可用總量 S < sum(demand)。要求按「比例 + 整手取整 + 餘量按申購時間戳輪詢」規則給每個客戶分配。
Python 解法
def ipo_allocate(demands, ts, S, lot=100):
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)。最常見錯答:lot 不能整除 S 時餘量沒輪詢完。
主線二:排水模擬
題目描述
給定一張地勢 heights[][](行列網格),每個格子有一定積水量 water[][]。模擬「連通區域同時下降」直到所有水被排掉。回傳每秒的總積水量。
Python 解法(Union-Find + 拓樸下降)
from collections import defaultdict
def drain_simulate(heights, water):
R, C = len(heights), len(heights[0])
cells = [(heights[r][c], r, c) for r in range(R) for c in range(C)]
cells.sort()
parent = {}
def find(x):
while parent.get(x, x) != x:
parent[x] = parent.get(parent[x], parent[x])
x = parent[x]
return x
def union(a, b):
ra, rb = find(a), find(b)
if ra != rb:
parent[ra] = rb
pool = defaultdict(int)
series = []
for h, r, c in cells:
parent[(r, c)] = (r, c)
pool[(r, c)] = water[r][c]
for dr, dc in [(-1, 0), (1, 0), (0, -1), (0, 1)]:
nr, nc = r + dr, c + dc
if 0 <= nr < R and 0 <= nc < C and (nr, nc) in parent:
union((r, c), (nr, nc))
series.append(sum(pool.values()))
return series
複雜度:O(R·C·α(R·C))。隱藏 case 常包含「所有格子高度相同」「單行單列」「水量為 0 的格子參不參與連通」三類邊界。
主線三:時序迴歸(Modeler 崗)
題目描述
給定一個時序 prices[] 和外部因子 factors[][](每行一時間點的 k 個因子值),求最小二乘迴歸的 beta 與 R²,要求純 numpy 實作。
Python 解法
import numpy as np
def ols_with_intercept(X, y):
X = np.column_stack([np.ones(len(X)), X])
beta = np.linalg.solve(X.T @ X, X.T @ y)
y_hat = X @ beta
ss_res = ((y - y_hat) ** 2).sum()
ss_tot = ((y - y.mean()) ** 2).sum()
return beta, 1 - ss_res / ss_tot
易錯點:np.linalg.inv 在 X.T @ X 接近奇異時數值崩潰,應該用 solve;忘加 intercept 列會讓 R² 偏低。
Two Sigma OA 題型對照表
| 題型 | 頻率 | 主要崗位 | 易錯點 |
|---|---|---|---|
| IPO 份額分配 | ★★★★★ | Quant Engineer | 餘量未分配 |
| 排水模擬 | ★★★★ | Quant Engineer | 連通邊界 |
| 時序 OLS | ★★★★ | Modeler | 缺 intercept |
| 因子相關矩陣 | ★★★ | Modeler | 數值穩定 |
| 字串行情解析 | ★★ | Quant Engineer | 缺欄位 |
OA輔助 實戰路徑
oavoservice 的 OA輔助 服務
- 題型分桶:IPO / 排水 / 迴歸三桶共 12 道變體,對齊 Two Sigma CodeSignal 自研考點
- 120 分鐘限時模擬:mentor 出題,按真實節奏跑全套
- OA 當天即時輔助:低延遲思路核對(合規邊界內)
- VO 銜接:Quant Engineer onsite 4 輪(coding + sysdesign + modeling + BQ),mentor 不變
一份「Two Sigma 業務術語」清單
Two Sigma OA 題面充滿業務術語:IPO allocation、basis point、lot size、water level、permeability 都會出現。我們維護了一份 Two Sigma 業務術語清單,幫你在 120 分鐘裡快速 parse 題面而不是反覆讀題。OA輔助 學員可以直接拿到這份清單。
具體方案與報價,加微信 Coding0201 溝通。
FAQ
Two Sigma OA 用什麼語言?
CodeSignal 全語言支援;社區反饋 Python 占比 ~70%(因為 Modeler 偏 numpy)。
2 道題 120 分鐘夠嗎?
夠,但 Two Sigma 題目描述長 + 業務規則細,平均一道題題面就要讀 8–10 分鐘。建議每道留 50 分鐘(含讀題),剩 20 分鐘檢查 corner case。
Quant Engineer / Modeler / QR 題庫一樣嗎?
不完全一樣:Quant Engineer 偏演算法 + 業務規則;Modeler 偏 numpy + 時序;QR 偏機率 + 因子。
OA 沒過冷卻期多久?
12 個月。跨崗位(Engineer ↔ Modeler)一般另算池子,可以更早再投。
正在準備 Two Sigma / Citadel / Millennium / Jane Street / HRT Quant OA / VO?
oavoservice 長期追蹤 Two Sigma / Citadel / Millennium / Jane Street / HRT / DE Shaw 的 Quant OA + VO 真題。mentor 來自一線 Quant Engineer / Researcher 團隊,可以提供 題型分桶、120 分鐘限時模擬、業務術語清單、pod fitting 劇本 等 OA輔助 / VO輔助 服務。
👉 立即添加微信:Coding0201,獲取 Two Sigma 高頻題與 OA輔助 方案。
聯絡方式
Email: [email protected]
Telegram: @OAVOProxy