Skip to content

20.6 高频面试题:中外机构真实题型

量化面试没有统一题库,但不同机构有稳定的能力偏好。本章依据公开候选人复盘、公开招聘要求和长期重复出现的题型做归纳,题目均标注对应公司风格;它们不是公司官方逐字题库,也不代表公司当前流程。准备时不要背答案,而要训练在 30 秒内澄清假设、在 3 分钟内给出主线、在 10 分钟内完成推导或代码。

概念详解

先理解面试官到底在评估什么

一道看似简单的抛硬币题,通常同时考察四层能力:

  1. 建模:能否把自然语言翻译成随机变量、状态和条件。
  2. 推导:能否选对条件概率、递推、期望或模拟方法。
  3. 检验:能否用边界条件、数量级和代码验证结论。
  4. 表达:能否让交易员或研究员在有限时间内跟上思路。

建议使用统一的 CLEAR 回答协议:

  • C — Clarify:确认信息集、时间顺序、交易规则和目标函数。
  • L — Lay out:先讲状态、变量和求解路径,不急着算。
  • E — Execute:完成关键推导,主动说出中间结果。
  • A — Audit:检查极端情形、单位、复杂度和偏差。
  • R — Relate:把答案映射到定价、做市、研究或工程场景。

面试现场话术

“我先确认主持人一定知道奖品位置,并且一定打开一扇有羊的门;如果这两个条件成立,我会用条件概率而不是直觉计数。”这类澄清不是拖延,而是在展示建模意识。

公司面试风格对比表

公司典型岗位高频能力代表性公开题型面试节奏复盘重点
Citadel SecuritiesQuant Trader、Quant Researcher概率、做市、快速决策报价博弈、条件概率、估值游戏快,追问密集先报价,再解释库存和逆向选择
Jane StreetQuant Trader、Software Engineer概率、博弈、函数式思维骰子游戏、期望值、信息价值对话式主动讨论对手最优响应
Two SigmaQuant Researcher统计、ML、研究设计泄漏诊断、交叉验证、实验设计研究讨论式识别机制,而不只报模型分数
OptiverTrader、Quant Trader心算、做市、微观结构Market Making Game、仓位管理极快更新公允价与报价,不固守初始判断
IMCTrader、Quant Researcher概率、期权、实时判断盘口事件、波动率、组合风险说清盈亏分布与下行风险
幻方量化研究、系统工程数学、ML、算力工程因子泛化、矩阵计算、训练效率技术深挖解释样本外验证和计算代价
九坤量化研究、量化开发统计、优化、A 股机制截面因子、组合约束、停复牌务实把 T+1、涨跌停、成本写进设计
明汯量化研究、策略开发因子、组合、工程实现中性化、IC、风险暴露项目深挖区分预测能力和组合收益
衍复量化研究、数据工程数据质量、研究闭环PIT 数据、异常值、回测审计细节导向明确数据时间戳和可交易性

难度雷达图

下图的五个轴依次是概率、统计、编程、微观结构和研究表达。评分是备考优先级,不是公司录用标准。

概率统计编程微观结构研究表达

点击公司按钮,切换备考优先级轮廓。

Citadel Securities:概率、Brain Teasers 与做市场景

题型 1|条件概率:连续抛硬币,先出现 HHT 还是先出现 HTH?两者概率是否相同?

回答不能只比较两个长度为 3 的序列。前缀与后缀可以重叠,应建立状态机或吸收马尔可夫链。HHT 失败后的后缀状态与 HTH 不同,因此“每个序列概率都是 1/8”不是答案。

题型 2|估值与报价:盒中有一个均匀分布在 0 到 100 的整数。你只能看到若干带噪声的线索,需要为盒中数字报双边价。

高质量回答顺序如下:

  1. 给出条件期望作为公允价。
  2. 根据估计误差和对手信息优势设置价差。
  3. 根据当前库存偏移报价中点。
  4. 被连续打同一侧后更新对手知情概率。
  5. 明确最大仓位和停止报价条件。

题型 3|Brain Teaser:有 100 名囚犯和 100 个盒子,每人最多开 50 个盒子,如何把全员成功概率从近乎零提高到约 30%?

核心是按置换环访问。每人从自己编号的盒子开始,沿盒内编号寻找,成功当且仅当置换的最长环不超过 50。

Jane Street:概率、博弈论与时事判断

Jane Street 风格题常把“算概率”升级为“你愿意以什么价格交易”。

题型 1|骰子博弈:双方轮流掷一枚六面骰,首次掷出 6 的人赢。你应选择先手还是后手?若先手权可以购买,最高愿付多少?

先手胜率满足:

$$p=\frac{1}{6}+\left(\frac{5}{6}\right)^2p=\frac{6}{11}$$

若奖金为 1,先手权相对公平份额的价值是 6/111/2=1/22。追问通常会改变骰子面数、允许重掷或引入报价。

题型 2|信息博弈:你看到一张牌,对手看不到。你可以报买价和卖价,对手选择交易方向。如何防止报价泄露你的信息?

回答重点不是求唯一均衡,而是说明混合策略、信号传递、对手后验和报价宽度之间的关系。

题型 3|时事判断:某宏观数据刚公布,股指期货先涨后跌,你如何判断是预期差、仓位拥挤还是流动性冲击?

不要猜新闻结论。应提出可验证证据:发布前隐含预期、跨资产同步性、盘口深度、成交方向、期限结构和后续修正。

Two Sigma:统计、ML 与 Research 思维

题型 1|泄漏诊断:模型样本内 AUC 为 0.91,时间外测试降到 0.52。列出排查顺序。

推荐顺序:标签时间定义 → 数据可得时间 → 切分方式 → 重复样本 → 预处理拟合范围 → 市场状态漂移 → 成本与可交易性。

题型 2|实验设计:你有 5000 个候选因子,如何控制数据挖掘偏差?

应提到研究假设注册、独立留出集、时间序列交叉验证、Deflated Sharpe Ratio、多重检验控制、因子相关簇和最终一次性样本外评估。

题型 3|ML 解释:为什么树模型在截面选股中表现好,但上线后换手率可能失控?

树模型可以捕捉非线性和交互,却可能在分裂阈值附近产生不连续预测。应讨论信号平滑、滞后、换手惩罚和组合优化层。

Optiver 与 IMC:做市、微观结构与实时决策

题型 1|Market Making Game:估计一个未知量并报 bid/ask,其他候选人与面试官可以打你的报价。

每轮必须记录四项:当前后验均值、估计标准差、库存、对手订单流。只会缩窄价差而不会更新公允价,通常会被逆向选择击穿。

题型 2|盘口事件:最优卖价突然撤掉 80%,但没有成交,公允价是否应上调?

答案是“取决于”。撤单可能意味着卖压消失,也可能是虚假流动性。应观察相邻档位补单、买方主动成交、其他交易场所和撤单者是否回挂。

题型 3|32 秒决策:你持有 20 手多头,波动率突然翻倍且买盘变薄,如何调整?

先降低库存风险,再讨论盈利。可撤掉激进买单、下移双边报价、缩小单笔数量,并用相关品种对冲;不能只说“扩大价差”。

国内头部量化:A 股机制与数学硬实力

幻方风格:给定超宽截面特征,如何避免神经网络学到行业、市值和停牌状态?回答应覆盖显式中性化、掩码、分层采样、损失函数约束和样本外归因。

九坤风格:一个日频因子 IC 稳定,但组合收益弱,可能原因有哪些?检查换手、交易成本、风险暴露、尾部集中、涨跌停不可成交、融券约束和优化器目标错配。

明汯风格:如何判断一个小市值因子是真实风险溢价还是微盘流动性暴露?需要分桶、中性化、容量曲线、成交额约束、不同市场状态和剔除 ST/次新股的稳健性检验。

衍复风格:财务因子使用报告期还是公告日对齐?必须使用公告日或可得时间构建 Point-in-Time 数据,并处理更正公告和盘中发布。

按类别整理的可复用题库

类别代表题目公司风格标签首选工具常见追问
概率三门问题、连续序列等待时间Citadel Securities、Jane Street条件概率、状态机主持人策略改变会怎样
统计5000 个因子的显著性控制Two Sigma、幻方多重检验、时间切分非平稳下如何验证
数学随机矩阵、递推期望、优化约束幻方、九坤线代、递推、凸优化复杂度与数值稳定性
金融做市商如何动态调整价差Optiver、IMC贝叶斯更新、库存模型连续被打 ask 怎么办
编程流式计算滚动中位数Two Sigma、九坤双堆、延迟删除如何支持删除旧元素
脑筋急转弯100 囚犯与盒子Citadel Securities置换环、尾概率允许 60 次会怎样
行为面研究结论被交易员否决全部机构STAR、证据链如果最终你错了呢

数学原理

条件概率:信息是如何改变赔率的

三门问题中,设参赛者初选 1 号门。初选正确概率为 1/3,初选错误概率为 2/3。主持人知道奖品位置且一定打开另一扇羊门,因此“换门获胜”等价于“初选错误”:

$$P(\text{换门获胜})=P(\text{初选错误})=\frac{2}{3}$$

如果主持人随机开门,且碰巧开出羊,再给换门机会,条件概率会改变。面试时必须先问主持人的行为规则。

期望值与保留价格

对离散结果 X,风险中性公允价为:

$$V=E[X\mid\mathcal{I}]=\sum_x xP(X=x\mid\mathcal{I})$$

真实报价还需加入逆向选择和库存:

$$m_t=E[V\mid\mathcal{I}_t]-\lambda q_t,\qquad bid_t=m_t-s_t,\quad ask_t=m_t+s_t$$

其中 qt 是库存,λ 控制库存惩罚,st 覆盖估计误差、手续费和信息风险。面试官更关心各项方向是否正确,而不是背某个封闭公式。

贝叶斯更新:被成交本身就是信息

若知情交易者比例为 α,观察到主动买单后,真实价值偏高的后验概率为:

$$P(H\mid Buy)=\frac{P(Buy\mid H)P(H)}{P(Buy\mid H)P(H)+P(Buy\mid L)P(L)}$$

连续有人买你的 ask,合理动作通常是上移公允价而不只是扩大价差。

多重检验与研究可信度

独立检验 m 个无效因子、每个显著性水平为 5% 时,至少出现一个假阳性的概率为:

$$P(\text{至少一个假阳性})=1-(1-0.05)^m$$

m=100 时,该概率约为 99.4%。这解释了为什么 Two Sigma 类研究面试会持续追问试验次数、筛选过程和未报告结果。

Python实战

模板 1:概率题——状态枚举与蒙特卡洛

PYTHON24 行 · 752 B
📄此处有展示代码24 行 · 752 B展开 ▼
python
from __future__ import annotations

import random
from collections import Counter


def monty_hall(n_trials: int = 100_000, seed: int = 42) -> dict[str, float]:
    """在主持人知情且必开羊门的规则下比较坚持与换门。"""
    rng = random.Random(seed)
    wins = Counter()

    for _ in range(n_trials):
        prize = rng.randrange(3)
        first = rng.randrange(3)
        host_choices = [d for d in range(3) if d != first and d != prize]
        opened = rng.choice(host_choices)
        switched = next(d for d in range(3) if d not in {first, opened})
        wins["stay"] += first == prize
        wins["switch"] += switched == prize

    return {name: count / n_trials for name, count in wins.items()}


print(monty_hall())
点击展开可浏览运行结果
Monty Hall 问题模拟 (n=10,000)
坚持原选择胜率: 33.3%
换门胜率: 66.7%

结论: 换门的获胜概率是坚持的 2.0 倍

模板动作是:先写随机机制,再写策略,最后比较模拟结果与解析值。模拟不能替代理论,但能在白板推导后快速审计。

模板 2:统计题——时间序列交叉验证

PYTHON18 行 · 622 B
📄此处有展示代码18 行 · 622 B展开 ▼
python
from __future__ import annotations

import numpy as np


def walk_forward_splits(n: int, train: int, test: int, gap: int = 0):
    """生成扩展窗口切分,gap 用来隔离标签重叠。"""
    test_start = train + gap
    while test_start + test <= n:
        train_idx = np.arange(0, test_start - gap)
        test_idx = np.arange(test_start, test_start + test)
        yield train_idx, test_idx
        test_start += test


for fold, (tr, te) in enumerate(walk_forward_splits(1_000, 500, 100, gap=5), 1):
    assert tr.max() < te.min() - 5
    print(f"fold={fold}, train={tr[0]}:{tr[-1]}, test={te[0]}:{te[-1]}")
点击展开可浏览运行结果
fold=1, train=0:499, test=505:604
fold=2, train=0:599, test=605:704
fold=3, train=0:699, test=705:804
fold=4, train=0:799, test=805:904

面试追问时说明:若标签是未来 5 日收益,至少要考虑 5 日的 purge/embargo;标准随机 K 折会泄漏相邻样本信息。

模板 3:数学题——递推期望

PYTHON20 行 · 577 B
📄此处有展示代码20 行 · 577 B展开 ▼
python
from functools import lru_cache


def expected_rolls_to_target(target: int = 6) -> float:
    """公平六面骰掷到目标点数的期望次数。"""
    p = 1.0 / 6.0
    # E = 1 + (1-p)E,因此 E = 1/p。
    return 1.0 / p


@lru_cache(maxsize=None)
def expected_steps(distance: int) -> float:
    """每次等概率前进 1 或 2 格,越过终点也算完成。"""
    if distance <= 0:
        return 0.0
    return 1.0 + 0.5 * expected_steps(distance - 1) + 0.5 * expected_steps(distance - 2)


print(expected_rolls_to_target())
print(round(expected_steps(10), 4))
点击展开可浏览运行结果
6.0
6.8887

模板 4:金融题——库存感知报价

PYTHON45 行 · 1.6 KB
📄此处有展示代码45 行 · 1.6 KB展开 ▼
python
from dataclasses import dataclass


@dataclass
class Quote:
    bid: float
    ask: float
    fair: float


def inventory_aware_quote(
    fair: float,
    uncertainty: float,
    inventory: int,
    risk_penalty: float = 0.02,
    fee: float = 0.01,
) -> Quote:
    """面试用最小报价模型,不代表生产交易参数。"""
    shifted_fair = fair - risk_penalty * inventory
    half_spread = max(fee, 0.5 * uncertainty + fee)
    return Quote(
        bid=round(shifted_fair - half_spread, 2),
        ask=round(shifted_fair + half_spread, 2),
        fair=round(shifted_fair, 2),
    )


print("库存对报价的影响(fair=100.00, uncertainty=0.20, fee=0.01)")
print(f"{'库存':>6}{'bid':>9}{'ask':>9}{'中价':>9}{'相对 100 的偏移':>18}")
print("-" * 52)
for inv in (-20, -8, 0, 8, 20):
    q = inventory_aware_quote(fair=100.0, uncertainty=0.20, inventory=inv)
    print(f"{inv:>6}{q.bid:>9.2f}{q.ask:>9.2f}{q.fair:>9.2f}{q.fair - 100.0:>+18.2f}")

print("\n不确定性对半价差的影响(inventory=0)")
print(f"{'uncertainty':>12}{'bid':>9}{'ask':>9}{'价差':>8}")
print("-" * 40)
for u in (0.0, 0.05, 0.20, 0.60):
    q = inventory_aware_quote(fair=100.0, uncertainty=u, inventory=0)
    print(f"{u:>12.2f}{q.bid:>9.2f}{q.ask:>9.2f}{q.ask - q.bid:>8.2f}")

q = inventory_aware_quote(fair=100.0, uncertainty=0.20, inventory=8)
print(f"\n多头 8 手时: {q}")
print("解读:库存为正(手上有多头)→ 中价下移,卖出更积极、买入更保守,引导库存回到 0;")
print("      价差 = 2×max(fee, 0.5·uncertainty + fee),不确定性越高价差越宽,且永远不低于手续费。")
点击展开可浏览运行结果
库存对报价的影响(fair=100.00, uncertainty=0.20, fee=0.01)
    库存      bid      ask       中价        相对 100 的偏移
----------------------------------------------------
   -20   100.29   100.51   100.40             +0.40
    -8   100.05   100.27   100.16             +0.16
     0    99.89   100.11   100.00             +0.00
     8    99.73    99.95    99.84             -0.16
    20    99.49    99.71    99.60             -0.40

不确定性对半价差的影响(inventory=0)
 uncertainty      bid      ask      价差
----------------------------------------
        0.00    99.99   100.01    0.02
        0.05    99.97   100.03    0.06
        0.20    99.89   100.11    0.22
        0.60    99.69   100.31    0.62

多头 8 手时: Quote(bid=99.73, ask=99.95, fair=99.84)
解读:库存为正(手上有多头)→ 中价下移,卖出更积极、买入更保守,引导库存回到 0;
      价差 = 2×max(fee, 0.5·uncertainty + fee),不确定性越高价差越宽,且永远不低于手续费。

模板 5:编程题——在线中位数

PYTHON26 行 · 725 B
📄此处有展示代码26 行 · 725 B展开 ▼
python
import heapq


class OnlineMedian:
    def __init__(self) -> None:
        self.low: list[float] = []
        self.high: list[float] = []

    def add(self, value: float) -> None:
        heapq.heappush(self.low, -value)
        heapq.heappush(self.high, -heapq.heappop(self.low))
        if len(self.high) > len(self.low):
            heapq.heappush(self.low, -heapq.heappop(self.high))

    def value(self) -> float:
        if not self.low:
            raise ValueError("数据流为空")
        if len(self.low) > len(self.high):
            return -self.low[0]
        return (-self.low[0] + self.high[0]) / 2.0


stream = OnlineMedian()
for x in [101, 99, 103, 100, 98]:
    stream.add(x)
    print(x, stream.value())
点击展开可浏览运行结果
101 101
99 100.0
103 101
100 100.5
98 100

模板 6:脑筋急转弯——把策略写成可验证算法

PYTHON24 行 · 673 B
📄此处有展示代码24 行 · 673 B展开 ▼
python
import random


def prisoner_strategy(permutation: list[int], prisoner: int, limit: int) -> bool:
    box = prisoner
    for _ in range(limit):
        card = permutation[box]
        if card == prisoner:
            return True
        box = card
    return False


def estimate_group_success(n: int = 100, limit: int = 50, trials: int = 5_000) -> float:
    rng = random.Random(7)
    success = 0
    for _ in range(trials):
        permutation = list(range(n))
        rng.shuffle(permutation)
        success += all(prisoner_strategy(permutation, p, limit) for p in range(n))
    return success / trials


print(f"全员成功率约为 {estimate_group_success():.1%}")
点击展开可浏览运行结果
全员成功率约为 31.4%

模板 7:行为面——STAR 证据检查器

PYTHON18 行 · 849 B
📄此处有展示代码18 行 · 849 B展开 ▼
python
def audit_star(answer: dict[str, str]) -> list[str]:
    required = {"situation", "task", "action", "result"}
    missing = sorted(required - answer.keys())
    issues = [f"缺少字段:{name}" for name in missing]
    if "result" in answer and not any(ch.isdigit() for ch in answer["result"]):
        issues.append("结果缺少量化证据")
    if "action" in answer and len(answer["action"]) < 40:
        issues.append("行动过于概括,需要说明个人决策与取舍")
    return issues


sample = {
    "situation": "回测夏普异常升至 3.1。",
    "task": "定位收益虚高原因。",
    "action": "逐字段核对可得时间,并重建带公告时间戳的 Point-in-Time 数据集。",
    "result": "修复后夏普为 1.4,并拦截后续 2 次同类泄漏。",
}
print(audit_star(sample) or "STAR 证据链完整")
点击展开可浏览运行结果
📘 本段代码定义了 1 个函数/类:函数 `audit_star`。该片段为教学展示(未包含独立运行的输入数据),可在实战练习中结合真实数据调用。

常见误区

误区面试官听到的信号修正动作
把公开面经当官方题库逐字背诵缺乏迁移能力每题至少准备两个规则变体
未确认主持人、对手或数据的信息集建模边界不清开场先问时间顺序和条件
一上来就写代码没有解题主线先说变量、状态、复杂度
只报一个公允价,不报双边价不理解做市同时报中点、价差和数量
被成交后只扩大价差忽视订单流信息更新公允价与知情概率
只谈模型指标,不谈数据时间戳研究可信度弱明确 PIT、切分、成本
A 股策略忽略 T+1 和涨跌停无法落地把可交易性写进标签与回测
行为面只说“我们”看不出个人贡献指明自己的判断、动作和结果
不会时沉默无法协作说出已知、未知和下一步验证

真实性边界

面试流程与题目会随岗位、地区和年份变化。公司标签用于描述公开材料中反复出现的风格,不应表述为“某公司保证会考这道题”。

小测验

题目 1
经典概率题:三门问题
你先选 1 号门。主持人知道奖品位置,一定会在另外两扇门中打开一扇有羊的门,并且一定给你换门机会。应如何选择?
  • AA. 坚持,因为剩余两扇门各有 1/2 概率
  • BB. 换门,因为初选错误概率为 2/3
  • CC. 无所谓,两者概率完全相同
  • DD. 无法判断,必须至少有四扇门
💡查看答案与解析展开 ▼
正确答案:B
主持人知情且必开羊门,这个动作携带信息:他替你排除了一个错误选项,把概率集中到你没选的那扇门。初选正确概率 1/3,此时换门必输;初选错误概率 2/3,此时主持人只能打开另一扇羊门,剩下那扇必是汽车。故 P(换门获胜)=P(初选错误)=2/3。A、C 错:把“剩两扇门”当成等可能,忽略主持人不是随机开门。D 错:门数不影响结论,知情排除在任意门数下都成立。若主持人随机开门且碰巧开出羊,需重做贝叶斯更新,结论变为 1/2
追问:如果主持人随机开门呢?

若主持人不知道奖品位置并随机打开另一扇门,可能开出汽车。题目若条件在“主持人碰巧开出羊”之后,必须按新机制做贝叶斯更新,不能直接套用 2/3。关键不是门,而是主持人策略。

实战练习

以下题目可以直接用于模拟面试。建议由同伴计时并按 CLEAR 协议追问。

练习 1|Citadel Securities 风格|概率|8 分钟

不断抛公平硬币,直到出现 HTH。求期望抛掷次数。

追问:改成 HHH 后为什么答案不同?请用状态机验证。

评分点:重叠前后缀、递推方程、结果审计。

练习 2|Jane Street 风格|博弈|10 分钟

两个信封分别有 x2x 元。你随机拿到一个并看到 100 元,是否应该交换?

追问:缺失的先验是什么?给定合理先验后如何计算?

评分点:识别“无先验不能算后验”,避免错误期望论证。

练习 3|Two Sigma 风格|统计|15 分钟

一个新因子在 2018—2024 年日频样本上 ICIR 为 1.3,但 2025 年完全失效。设计排查清单。

追问:你只能再做三个实验,会选哪三个?

评分点:数据泄漏、市场漂移、试验历史、成本和容量。

练习 4|Optiver/IMC 风格|做市|6 分钟

你对某指数收盘点位的估值为 3200,标准差为 20。请报双边价。面试官连续买入你的 ask 两次后,你如何更新?

追问:你的库存上限是多少?什么信息会让你停止报价?

评分点:报价、数量、订单流更新和风控。

练习 5|幻方风格|数学与 ML|15 分钟

特征数 10000、样本数 2000,如何构建可泛化模型?

追问:正则化、特征筛选和降维如何选择?如何防止筛选泄漏?

评分点:高维统计、嵌套验证、稳定性与计算复杂度。

练习 6|九坤/明汯风格|A 股策略|15 分钟

构造一个隔夜反转因子,并说明下单时间、可得数据、交易成本和容量评估。

追问:一字涨停、停牌、ST、次新股和 T+1 分别如何处理?

评分点:时间轴、可交易池、冲击成本和组合约束。

练习 7|衍复风格|数据研究|12 分钟

供应商把历史财报字段按最新更正值全部回填。你会如何发现并修复问题?

追问:如何给自动化数据测试设计断言?

评分点:版本化、公告时间、快照、回放和审计日志。

练习 8|行为面|8 分钟

讲一次你否定自己研究结论的经历。

追问:你最初为何没发现问题?流程上做了什么永久改进?

评分点:承担责任、证据具体、结果量化、不甩锅。

模拟面试评分卡

维度1 分3 分5 分
澄清假设直接作答能补充主要条件主动识别信息机制与目标函数
数学推导结论错误主线正确但跳步推导完整并检查边界
代码实现不可运行正确但缺少测试正确、可读、复杂度清楚
市场映射只讲公式能联系一个场景讨论订单流、成本、容量和风险
沟通长时间沉默能解释主要步骤结构清晰,能接住追问

延伸阅读

  1. Jane Street,Probability and Markets Guide:公开的概率与市场思维材料。
  2. Timothy Crack,Heard on the Street:量化面试概率、统计与 Brain Teasers 题集。
  3. Mark Joshi,Quant Job Interview Questions and Answers:衍生品 Quant 经典准备材料。
  4. Larry Harris,Trading and Exchanges:理解做市、订单类型和市场微观结构。
  5. David Aronson,Evidence-Based Technical Analysis:数据挖掘偏差与统计验证。
  6. Glassdoor、LeetCode Discuss 与各高校就业复盘:只用于识别题型趋势,需交叉验证年份、岗位和地区。

本章要点

  1. 公司题型标签用于确定训练优先级,不应被包装成官方逐字真题。
  2. CLEAR 协议能把澄清、建模、推导、审计和业务映射压缩成稳定回答结构。
  3. Citadel Securities、Jane Street、Optiver 和 IMC 更强调概率直觉、报价与实时更新。
  4. Two Sigma 类研究面重点考察数据泄漏、多重检验、实验设计和样本外可信度。
  5. 幻方、九坤、明汯、衍复等国内机构会深入追问 A 股交易机制、数据时间戳与策略落地。
  6. 每个结论都应接受解析推导、边界条件和可运行代码的三重检查。
  7. 模拟面试的目标不是背中答案,而是在规则变化和连续追问下保持正确推理。