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