Jane Street 是一家總部位於紐約的量化交易公司,截至 2025 年全球員工超過 2,600 人,在紐約、倫敦、香港、新加坡和阿姆斯特丹設有辦公室。 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!