← 返回博客列表 Two Sigma OA 真题速攻 2026|Quant Engineer + Modeler 双轨题型 OA辅助 实战
Two Sigma

Two Sigma OA 真题速攻 2026|Quant Engineer + Modeler 双轨题型 OA辅助 实战

2026-05-24

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,要求纯 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.invX.T @ X 接近奇异时数值崩溃,应该用 solve;忘加 intercept 列会让 R² 偏低。

Two Sigma OA 题型对照表

题型 频率 主要岗位 易错点
IPO 份额分配 ★★★★★ Quant Engineer 余量未分配
排水模拟 ★★★★ Quant Engineer 连通边界
时序 OLS ★★★★ Modeler 缺 intercept
因子相关矩阵 ★★★ Modeler 数值稳定
字符串行情解析 ★★ Quant Engineer 缺字段

OA辅助 实战路径

oavoservice 的 OA辅助 服务

一份「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