說實話,Jane Street 是我準備最久、也最有挑戰感的一次面試。 和傳統科技公司不太一樣,這家金融科技公司里有不少是數學、物理、計算機博士,甚至還有直接從學術界轉型的 researcher。 整個面試下來,我最大的感受就是——題目非常硬核、思維非常深入、節奏非常快,好在有 Programhelp 全程語音助攻,才能順利 hold 住每一輪。
Jane Street 面试流程概覽
整體流程共三關:
- 申請審核:投遞簡歷后大概一周左右就收到面試邀請。
- 電話面試(2-3 輪):每輪大概 30-60 分鐘,主要是技術腦筋急轉彎題 + 模型類題目。
- 全天 VO(4-6 輪):包括 live coding、概率推理、trading strategy 設計等,極度燒腦。
第一輪:概率 + 策略題
第一題一上來就讓我措手不及(幸好語音助攻及時提醒了思路):
“你有一個 20 面骰子,數位從 1 到 20,你可以 roll 最多 100 次,每次可以選擇 roll 繼續,或者 take 當前數位作為收益。 請設計一個策略最大化期望收益。 ”
我一開始說設定 threshold,比如 15 以上就 take,但面試官立刻追問:“為什麼是 15? 你怎麼算的? ”
這時候 Programhelp 的語音輔助幫我及時提示了計算期望值和平均 roll 次數的平衡。 我現場算了一下:
- 設 threshold 為 T,期望收益是 T~20 的平均;
- 但 roll 達到這個範圍的概率是 (21−T)/20;
- 綜合期望 = [T+20]/2 × (21−T)/20
我試了一些 T 的值,發現 T=11 時期望收益最高,於是得出策略:當數位 ≥11 時 take,否則繼續 roll。
面試官滿意后又變換規則:
“現在每次你 take 之後骰子會自動重新 roll。 策略要怎麼變? ”
這就變成了一個多輪博弈問題。 我根據語音提醒,快速重設了期望的計算方式,把每一次 roll + take 的組合看作獨立事件,重新得出 threshold 約為 13。
再下一題就更硬核了:
“你和賭場在博弈:你可以選擇 take,賭場可以選擇重新 roll。 請分析均衡策略。 ”
這就是純博弈論了。 我借助語音引導快速搭建了 payoff matrix,根據 Nash equilibrium 思路,分析了我和賭場的收益均衡點,最後估算出 threshold 應在 10 附近。
第二輪:Market Making + Python 策略實現
題目相對工程化一點:
“你是 market maker,需要根據歷史數據給出買賣報價,同時控制 inventory 風險。”
我的第一反應是:volatility 越大,spread 要拉寬; 庫存偏一邊,就要拉高該方向的價格。 於是用 Python 快速寫了一個邏輯 demo(語音提醒了關鍵詞 “mean reversion” 和 inventory-adjusted spread):
def calculate_quotes(current_price, inventory, volatility, max_inventory):
base_spread = volatility * 2
inventory_adjustment = (inventory / max_inventory) * 0.01
bid = current_price - base_spread/2 - inventory_adjustment
ask = current_price + base_spread/2 - inventory_adjustment
return bid, ask
雖然代碼不是最終版本,但邏輯表達清楚就過了。 之後還討論了怎麼動態調整參數、極端市場情況下的策略調整等。
最終輪:數學深度 + 高頻交易建模
量化 researcher 上場,題目立馬拉滿難度。
Bayesian 推斷題
“兩個盒子,一個有兩個白球,一個有一白一黑,你隨機選一個,抽到一個白球。 這個球來自哪個盒子的概率是多少? ”
這是典型貝葉斯題,我當場寫出:
- P(兩白盒 | 白球) = P(白 | 兩白盒) × P(兩白盒) / P(白)
- = (1 × 0.5) / (0.5×1 + 0.5×0.5) = 2/3
Order Book 數據結構設計題
“設計一個支援插入、刪除、查詢最優價格的 order book。”
我選擇用 max heap + min heap,分別維護 bid 和 ask,再用 hashmap 記錄價格 –數量對應關係,插刪 O(log n),查詢 O(1)。 分析完複雜度后還討論了 HFT 環境下如何優化,包括記憶體池、時間戳一致性等。
Statistical Arbitrage 策略題
“兩個股票出現價格偏離,你怎麼捕捉這個套利機會?”
語音助攻提前提示了關鍵概念“cointegration”。 我的完整流程是:
- 用歷史數據檢驗是否協整;
- 設定 進入/退出門檻;
- 考慮 交易成本 和 滑點;
- 設置風控參數:position sizing、stop loss、drawdown 限制。
行為面試也不簡單
最后几轮是标准 behavioral:
為什麼轉做 quant?
描述一次高壓下做決策的經歷?
有沒有遇過特別複雜的問題,怎麼解決的?
我的回答結合了我實習項目經歷(也提前在 Programhelp 模擬里過了一遍),邏輯清晰 + 真實反思,效果不錯。
總結
Jane Street 的面試真的不簡單,尤其是概率、策略設計、數據結構和博弈論題目,強度遠超大部分科技公司。 好在我準備得夠久 + Programhelp 的 VO 語音助攻全程陪跑,從建模思路到面試節奏都給了我很大説明。
如果你也打算衝擊 quant / trading / algo 方向,Jane Street 是不能錯過的挑戰之一!