这次面的是 Optiver SDE 岗,三轮连着走,节奏非常快,但整体体验两个字:硬核。和传统大厂不一样,虽然岗位是 Software Engineer,但面试内容明显不只是纯后端开发,交易理解、数学直觉、表达能力都会被深挖。下面按轮次拆一下全过程。
第一轮:Technical Interview(45min)
第一轮整体偏技术表达 + 项目落地能力。
开场让我介绍一个技术项目。我选了实习里做的一个交易信号回测系统,用 Python 搭建数据管道、信号生成逻辑和 PnL 计算模块。我重点讲了架构拆分:数据层、策略层、执行层是如何解耦的,以及如何保证回测结果可复现。
面试官没有停留在做了什么,而是马上追问:如果数据量翻倍怎么办?如果延迟要求从秒级变成毫秒级怎么办?我讲了向量化优化、减少不必要的 dataframe copy、用 C++ 扩展热点函数,以及并行处理历史数据。这里明显在看工程思维,而不是刷题能力。
接着出现一道降维表达问题:让用非技术人员能听懂的话解释什么是交易算法。我把做市逻辑类比成奶茶店动态定价,人多就稍微涨价,人少就发优惠券,本质是动态平衡供需并赚取价差。面试官点头,但也提醒不要堆术语。
最后给了一个期权敏感度小问题:如果 Call 的 Delta 是 0.5,股价涨 1 分钱,期权涨多少?我直接用比例解释,而不是写公式。重点在于逻辑清晰。
第二轮(60min)
第二轮强度明显上升,开始更贴近 trading firm 的核心。
一开始是 Market Making 场景讨论。假设某资产当前报价 4 万美元,你作为做市系统开发者,会如何设计自动挂单逻辑?如果突然出现大额卖单砸盘,你的系统如何响应?我从系统角度讲了:报价引擎如何根据库存风险动态调整 bid/ask spread,如何根据订单流变化扩大或缩小价差,以及如何通过限仓机制控制风险暴露。这里并不要求你会交易,但必须理解撮合逻辑和风险控制思路。
随后是一个 Fermi 估算问题:估算上海有多少家奶茶店。我没有急着给数字,而是从人口规模、消费频率、单店服务半径逐层拆解。面试官更关心的是假设是否合理,而不是最终数字。接着进入偏量化的一段讨论:从零实现 Black-Scholes 定价模型。刚写完闭式解公式,面试官马上要求用二叉树方法重新推导。我只能一步步构建风险中性概率,再往回折现。中途卡了一下,他提示是否可以用伊藤引理简化某一步。
第三轮:Behavioral + Culture Fit(45min)
终面反而更加细节化。
首先是 Why 公司。提前做过调研,我结合公开资料提到他们在亚太区的做市扩张、技术驱动文化,以及对工程效率的重视。这里一定不能泛泛而谈。
然后是冲突经历。我讲了实习时和 PM 就策略参数选择产生分歧,当时争论很激烈,最后通过回测数据对比验证方案,策略收益提升约 15%。结构上严格按“冲突背景—采取行动—结果影响”展开。
最后我反问,如果作为应届生入职前该准备什么。面试官的回答很有意思:少堆模型,多练心算和博弈思维。这其实点出了 trading firm 的核心文化——反应速度和决策逻辑。
想更稳通过 Trading Firm SDE 面试?
我们长期针对 Trading / Quant / SDE 岗位做专项 mock、面试辅助 。已经帮助不少同学通过 Optiver、IMC、Jane Street 等交易公司技术面。如果你目标是 trading firm,而不是传统大厂,准备方式一定要不同。