在競爭激烈的 fintech 賽道,Optiver 的招聘極具吸引力,而 Optiver OA 是邁向量化金融職業的關鍵第一步。對想進量化的人來說,這一關考的不是單一技能,而是數感 + 概率直覺 + 程式設計基礎 + 博弈思維的組合。下面按四大題型逐類拆解,每類都給解法和可遷移的口算心法。
一、題型概覽
| 題型 | 考點 | 關鍵心法 |
|---|---|---|
| Number Logic | 數列找規律 | 先看一階差,再看二階差 |
| Beat The Odds | 二項概率 | C(n,k)·p^k·(1-p)^(n-k) |
| Programming | 基礎程式設計 | 寫對邊界,別炫技 |
| Brain Game | 帽子奇偶博弈 | 用奇偶性傳遞一個 bit |
二、Number Logic:數列找規律
題目:下列數列的下一個數是多少:2, 6, 12, 20, 30, ...?
思路:先算相鄰差值:4, 6, 8, 10——這是一個等差為 2 的二階數列。所以下一個差值是 12,下一項 = 30 + 12 = 42。
# 驗證:第 n 項 = n*(n+1)
seq = [n * (n + 1) for n in range(1, 7)]
# [2, 6, 12, 20, 30, 42]
口算心法:數列題第一步永遠是「一階差」;如果一階差不規律,再看「二階差」或比值。本題一階差成等差,是最常見的二次型數列 n(n+1)。
三、Beat The Odds:二項概率計算
題目:每次遊戲你有 60% 的獲勝概率。玩 3 次,恰好贏 2 次的概率是多少?
思路:典型二項分布。P(X=2) = C(3,2) · (0.6)² · (0.4)¹。
$$P(X=2) = 3 \times 0.36 \times 0.4 = 0.432$$
答案:0.432(43.2%)。
from math import comb
def binomial(n, k, p):
return comb(n, k) * (p ** k) * ((1 - p) ** (n - k))
print(binomial(3, 2, 0.6)) # 0.432
口算心法:二項題先定 C(n,k)(這裡是 3),再乘 p^k 和 (1-p)^(n-k)。0.6²=0.36,×0.4=0.144,×3=0.432,全程心算可完成。Optiver 這類題常要求30 秒內出答案,公式必須形成肌肉記憶。
四、Programming:基礎程式設計題
題目:寫一個 Python 函式,判斷字串是否為回文。
def is_palindrome(s: str) -> bool:
return s == s[::-1]
print(is_palindrome("racecar")) # True
print(is_palindrome("hello")) # False
注意點:Optiver 程式設計題通常不刁鑽,考的是正確性和邊界而非花式演算法。如果題目要求忽略大小寫 / 非字母字元,記得先歸一化:
def is_palindrome_clean(s: str) -> bool:
cleaned = [c.lower() for c in s if c.isalnum()]
return cleaned == cleaned[::-1]
別在簡單題上炫技——清晰、正確、覆蓋邊界,就是滿分答案。
五、Brain Game:帽子奇偶博弈
題目:100 個人排成一列,每人戴紅色或藍色帽子。每個人能看到別人的帽子但看不到自己的,且必須同時猜測自己帽子的顏色。什麼策略能最大化猜對的人數?
答案:用藍帽子的奇偶性編碼資訊。
- 第 1 個人(站在隊尾、能看到前面所有人):如果看到的藍帽是奇數就喊「藍」,偶數就喊「紅」。他相當於把「全場藍帽數的奇偶性」這個 1 bit 廣播出去(他自己有 50% 概率猜錯,是唯一可能犧牲的人)。
- 之後每個人:結合「初始奇偶性」與「已經聽到的、自己前面所有人喊出的顏色」,就能推出自己帽子的顏色,從而保證至少 99 個人猜對。
設初始宣告的奇偶性為 P(藍帽奇偶)。
第 k 個人 = P XOR (他能看到的前方藍帽奇偶) XOR (他已聽到的後方藍帽奇偶)
推出自己是不是藍帽。
心法:這類「同時猜測 + 資訊共享」博弈題,核心幾乎都是用奇偶性(parity)傳遞一個 bit。認出這個模式,就能秒解一大類變體。
六、總結
Optiver OA 四大題型分別考:數感(數列差分)、概率直覺(二項公式)、程式設計基礎(正確性 + 邊界)、博弈思維(奇偶傳 bit)。準備時不要只刷演算法,要把心算速度和概率公式練到條件反射,博弈題則重點積累「奇偶 / 資訊論」這類經典套路。
FAQ
Q1:Optiver OA 考哪幾類題?
四類:Number Logic(數列找規律)、Beat The Odds(二項概率)、Programming(基礎程式設計)、Brain Game(博弈 / 腦筋急轉彎)。偏量化思維,不是純演算法刷題。
Q2:數列題沒頭緒怎麼辦?
固定流程:先算一階差,不規律再算二階差或相鄰比值。本題一階差 4,6,8,10 成等差,對應 n(n+1) 型,下一項 42。
Q3:概率題怎麼快速算?
記牢二項公式 C(n,k)·p^k·(1-p)^(n-k),分步心算:先 C(n,k),再乘冪次。Optiver 常要求 30 秒內出答案,公式要形成肌肉記憶。
Q4:帽子博弈題的通法是什麼?
用奇偶性傳一個 bit:第一個人宣告全場某色帽的奇偶,後續每人結合初始奇偶 + 已知資訊推出自己,保證 n-1 人猜對。認出 parity 模式即可解多數變體。
正在準備 Optiver OA?
Optiver OA 考數感 + 概率 + 程式設計 + 博弈四維組合。oavoservice 提供量化 OA 專項陪練:數列 / 概率限時心算訓練、博弈題套路梳理、程式設計題邊界打磨,按崗位線定制題型預測與練習計劃。教練熟悉 Optiver 等量化機構的評分節奏。
立即添加微信 Coding0201,獲取量化 OA 真題與陪練。
聯絡方式
- 微信:Coding0201
- Email:[email protected]
- Telegram:@OAVOProxy