← 返回部落格列表 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