最近 Two Sigma OA 又陸續放出來了,今天剛做完一套,整體感受一句話總結:題目不偏不怪,難度中等偏基礎,但對實現細節和數學理解要求比較紮實。我這套 OA 全程大概二十多分鐘完成,沒有特別卡殼,思路清楚的話節奏還是很順的。給還沒做、或者正在觀望的同學簡單拆一下這次 OA 的題型和核心思路,供參考。
Two Sigma OA 真題分享 & 解題思路
第一題:線性插值器
這題本質是在實現一個帶規則的線性插值函式,但細節比普通插值多不少。
核心步驟可以拆成三步:
第一步是預處理資料點。
需要先按照 x 值對所有點排序,同時要處理重複 x 的情況。規則是:
- 當輸入 x ≤ 該重複 x 時,取對應的最小 y
- 當輸入 x > 該重複 x 時,取最大 y
這一點如果沒看清,很容易在重複點上直接 WA。
第二步是定位區間。
對於給定的輸入 x,需要判斷它落在哪兩個已知點之間:
- 如果在區間內,就做正常插值
- 如果在最左或最右,需要做外推,用最近的兩個點連成的直線
第三步是計算 y 值。
統一使用兩點式直線公式即可,外推和插值邏輯一致,只是區間不同。
整體不難,但非常考察你對邊界條件和規則描述的理解能力,很 Two Sigma。
第二題:城鎮氣溫分析
這題是整套 OA 裡資訊量最大的一題,一共 5 個小問,圍繞一個多城鎮氣溫資料集展開。
Q1:找溫度變異最大的城鎮
思路很直接,對每個城鎮計算溫度的標準差,取標準差最大的那個。
Q2:條件篩選 + 中位數
篩選 Town2 溫度在 90–100 區間內的記錄,然後取對應的 NYC 溫度中位數,最後按題意取整即可。
Q3:線性迴歸(帶截距)
對每一個城鎮和 NYC 做一元線性迴歸,形式是
y = a + b x
用最小二乘法算係數,最後對每個城鎮計算 |a| + |b|,返回最大值。
Q4:單城鎮 MSE 最小
依然是迴歸問題,對每個城鎮單獨和 NYC 建模,計算預測的 MSE,找誤差最小的城鎮。
Q5:雙城鎮組合 MSE 最小
把兩個城鎮作為自變數,一起迴歸 NYC,找使 MSE 最小的那一組。
這一題非常明顯是想看你對統計量、迴歸建模、誤差評估的整體理解,而不是單點技巧。
第三題:資產 Beta 計算
這題非常典型 Two Sigma / Quant OA。
第一部分是基礎版 Beta 計算。
給定一組資產收益率 x 和 y,計算無截距線性迴歸的斜率 β,公式本質是:
β = Σ(xy) / Σ(x²)
第二部分是線上計算。
資料按批次到來,第 j 次輸出時,要求用 從第 1 批到第 j 批的所有資料重新計算 β。
如果每一輪都重新遍歷全部歷史資料,時間複雜度會爆,所以關鍵在於最佳化。
正確思路是維護累積統計量,比如:
- 累積 Σx²
- 累積 Σxy
每一批更新一次統計量,就能 O(1) 算出新的 β,非常經典的線上演算法思想。
總體評價 & 給後面同學的建議
這套 Two Sigma OA 的感覺很明確:
- 不追求花裡胡哨的演算法
- 更看重數學建模、統計理解和工程實現的穩健性
- 對邊界條件、效率、公式理解要求很高
如果你對機率統計、線性迴歸、最小二乘這些內容本身就比較熟,這套題會做得很舒服;反之,臨時硬剛會比較吃力。
Two Sigma 面試別一個人死磕,效率差太多
如果你現在正卡在 OA 或 VO 階段,其實 Two Sigma 的題型是高度可預測、也高度可拆解的。我們最近也幫不少同學完整走過 Two Sigma 的 OA + VO 流程,包括實時思路校準、統計推導提醒、複雜迴歸題的拆解節奏把控,整體透過率會穩很多。歡迎直接來交流,OA / 面試輔助 都可以聊。