Citadel 是很多理工科同學夢寐以求的金融科技公司,尤其是它家的 Quant 和 Software Engineer 崗位,薪資高、技術硬核、題目難度也不低。這篇文章整理了 Citadel OA 真實體驗 + 三道模擬題回顧,適合準備投遞的同學收藏。
Citadel OA 基本結構
從 ProgramHelp 長期陪跑與覆盤的經驗來看,Citadel OA 在結構上非常穩定,但淘汰率極高。它並不靠題目數量取勝,而是透過時間壓力、效能要求和一次性正確率,對候選人的演算法基本功和抗壓能力進行強篩選。
Citadel OA 通常透過 HackerRank 或 CodeSignal 平臺進行,支援 Python、Java、C++ 等主流語言。形式上看與其他大廠 OA 相似,但實際體驗差異非常明顯:平臺測試用例覆蓋極全,對時間複雜度和邊界處理極其敏感,一旦出現 TLE、MLE 或邊界遺漏,幾乎沒有迴旋空間。
在題目設定上,常見為 2–3 道演算法題,總時長約 60–75 分鐘。平均下來,每道題只有 20–30 分鐘的完整思考與編碼時間。這意味著 Citadel 預設你在看到題目後,能迅速判斷解題方向,並直接寫出接近最優的實現,而不是透過多輪嘗試逐步修正。
從難度分佈來看,題目整體集中在 LeetCode Medium 到 Hard 區間。但與刷題網站不同的是,Citadel 很少考純模板題,更多是需要結合貪心、堆、動態規劃或序列處理的綜合型問題。即使題面本身不復雜,也往往在輸入規模、邊界條件或效能限制上設定隱藏卡點。
OA 真題回顧
Q1. Task Scheduling with Limited Threads
題目簡述:
給你一組任務,每個任務有 startTime 和 endTime,表示只能在這個時間區間內執行。你有 k 個線程可以並行執行任務。問最多能完成多少個任務?
輸入範例:
tasks = [[1, 4], [2, 6], [4, 7], [5, 8]]
k = 2
輸出:
3
Q2. Profit Maximization with Transaction Cooldown
題目簡述:
給定一個股票價格數組 prices,每次買入必須至少隔一天才能賣出,賣出後也要等一天才能再買進(cooldown 1 天)。求最大利潤。
輸入範例:
prices = [1, 2, 3, 0, 2]
輸出:
3
解題思路:
設計三種狀態:持有 / 冷卻 / 空倉,透過狀態轉移方程式 DP 實現。
Q3. String Mutation Validation
題目簡述:
給兩個字串 s1 和 s2,判斷是否可以透過以下操作將 s1 變成 s2:每次操作可以將某一段連續字元替換為另一個字元(段長不限),操作次數不限。
輸入範例:
s1 = "aabbcc"
s2 = "xyzxyz"
輸出:
True
解題思路:
將字串分成區塊,對應區塊之間字元對應保持一致,檢查每段映射關係。
高頻卡點 & 通關建議
- 時間壓力很大:建議熟練堆、狀態機 DP、區間處理。
- 偵錯視窗有限:平台無完整日誌,邏輯須一次寫對。
- 程式碼風格:清晰變數名稱 + 適當註解。
Programhelp 獨家OA助攻服務
你是否也遇到以下問題?
- 面對高強度 OA 不知從何下手
- 寫出思路卻在細節調試上崩盤
- 多次卡在 final round 臨門一腳
Programhelp 提供 OA 代寫服務:
- 無痕代寫,即時程式碼聯調
- 語音解說思路,快速掃除邏輯盲區
- 模擬平台練習,熟悉真實環境
已幫助多位同學順利通過 Citadel / Jane Street / Two Sigma 等高頻 OA,拿下 dream offer!