Jane Street 是一家总部位于纽约的量化交易公司,截至 2025 年全球员工超过 2600 人,在纽约、伦敦、香港、新加坡和阿姆斯特丹设有办公室。 Jane Street SWE 的要求与大多数科技公司截然不同:不需要金融背景,不要求 OCaml 经验,但要求你拥有极强的从零构建系统的能力,以及在压力下清晰推理的头脑。

STAGE 01 ── Recruiter Call
Recruiter 电话大约 30 分钟,属于标准流程:
- 简单介绍背景
- 询问为什么对 Jane Street 感兴趣
- 对岗位的理解
重要经验:这一轮不要透露期望薪资,也不要提及你在其他公司的面试进度。这些都是后续谈判的重要筹码,提前打出去非常不划算。
Recruiter 会告诉你“SWE 面试问的是 practical coding questions,不是 LeetCode 题”。这句话是真的,但也容易误导——它不是说题目简单,而是考察方式不同,更接近真实工程场景。
语言选择建议:Jane Street 内部大量使用 OCaml,但官方明确表示不要为了讨好面试官而用 OCaml。用你最熟悉、最能发挥好的语言即可。事实上,大多数被录用的工程师入职时都没有函数式编程经验。
STAGE 02 ── Technical Phone Screen 1(60 分钟)
题目:带变量的表达式求值(类似 LC 772 Basic Calculator II 的加强版)
题目描述: 给定一个字符串表达式,支持 + – * /、括号和变量(变量值通过字典给出),计算表达式的值。表达式中可能包含空格。
示例: expression = “(x + y) * 2 – z”,variables = {“x”: 5, “y”: 3, “z”: 4} → 输出 12
解答过程:
- 我先用两个栈(数字栈 + 运算符栈)实现基础版本,处理乘除优先级和括号。
- 面试官 Follow-up:增加变量支持。
- 继续 Follow-up:支持负数和除法向下取整。
- 我实时修改代码,最终完成了一个较为完整的解决方案。
面试官重点观察我如何处理优先级和边界情况(如除以0、空字符串等)。
STAGE 03 ── Technical Phone Screen 2(60 分钟)
题目:设计支持 undo/redo 的文本编辑器
解答过程:
- 我先用两个 Stack(history stack + redo stack)实现基础 undo/redo 功能。
- 面试官追加要求:支持批量 undo(一次撤销多步操作)和文本选择替换。
- 我引入 Command Pattern,把每次操作封装成对象,成功支持了扩展需求。
- 最后讨论了如果文本量很大该如何优化(提到 Rope 数据结构)。
这一轮重点考察抽象能力和代码可扩展性。
Super Day(全天 4–5 轮)
Round 1(AM):实战编码 – 从零构建
题目:实现 Connect Four 游戏的核心状态类 要求支持落子、判断胜负、检测平局,并处理非法操作。
解答过程:
- 我用二维数组表示棋盘,维护每列高度来快速落子。
- 实现了横、竖、正斜、反斜四种胜利判断。
- 面试官 Follow-up:增加悔棋功能,我快速修改代码支持了 undo。
Round 2(AM):递归与抽象
题目:实现带 Memoization 的函数包装器 要求对同一输入只执行一次昂贵计算,后续直接返回缓存结果。
解答过程:
- 我用装饰器 + 字典实现 memoization。
- Follow-up:支持带参数的函数 + 缓存大小限制(LRU 风格)。
- 我用 functools.lru_cache 结合手动字典实现了最终版本。
Round 3(PM):系统设计深潜
题目:设计一个实时竞价系统(类似简化版 eBay 出价系统) 需要支持高并发出价、实时结果广播、一致性保障。
解答过程:
- 我先画了整体架构(Load Balancer + Auction Service + Notification Service)。
- 讨论了乐观锁 vs 消息队列的 trade-off。
- Follow-up:并发量突然增加 10 倍如何处理?我提出了分片 + 限流方案。
Round 4(PM):项目深度汇报 + 行为面试
让我详细介绍简历上一个高性能日志系统项目,追问了大量设计决策和技术取舍。最后问了团队分歧处理经历。
写在最后
这次 Jane Street 面试准备过程中,我深刻感受到“从零思考”和“清晰表达”的重要性。单纯刷题已经不够,必须提升在陌生问题下的工程直觉和沟通能力。
如果你也在准备 Jane Street 或其他顶级公司的面试,感觉一个人准备方向不够清晰、效率不高,可以了解一下 Programhelp,专注提供 OA 实战辅助 和面试实战指导。我们会根据你的实际情况,提供高频题梳理、模拟面试、代码迭代训练和思维表达优化等针对性帮助。
祝大家在 Jane Street 的面试中保持冷静、发挥出色,早日拿到 Offer!