← 返回部落格列表 Capital One Senior Software Engineer VO 真題:System Design × Power Day × LP 全流程
Capital One

Capital One Senior Software Engineer VO 真題:System Design × Power Day × LP 全流程

2026-06-02

Capital One 的 Senior SWE 招聘比 entry-level / TDP(Tech Development Program)嚴苛得多——尤其是 Power Day 的 4 輪連環面試,會把候選人按「演算法 + 系統 + Java/Spring 工程實踐 + Behavioral」四個維度同時碾壓一輪。社群裡關於 Capital One Power Day 的描述常常含糊其辭,這篇文章基於 Senior SWE 通過案例給出每一輪的真題與回答骨架

本文不再覆蓋 entry-level OA(站內已有 SWE TDP OA 文),而是聚焦 Senior 職位 特有的 system design 複雜度、Java 記憶體模型追問、以及 Capital One 五大 LP(Leadership Principles)的精準命中。

Senior SWE 招聘流程總覽

階段 時長 題型 決策權
Recruiter Screen 30 min Why Capital One + 履歷 入門
Tech Phone 60 min LeetCode Medium + 簡單系統 關鍵過濾
Power Day Round 1 60 min Coding Hard 決定
Power Day Round 2 60 min System Design 決定
Power Day Round 3 60 min Java + Spring 工程題 決定
Power Day Round 4 45 min Behavioral / LP 決定

Power Day 關鍵規則:4 輪中至少 3 輪 strong hire 或 hire 才會發 offer。任何一輪 strong no 幾乎一票否決。

Recruiter Screen:30 分鐘內必答的 5 個問題

  1. "Walk me through your last 5 years of work."
  2. "Why are you interested in Capital One specifically?"
  3. "What's your salary expectation? Can you work in McLean / Plano / NYC?"
  4. "Describe a project where you owned end-to-end delivery."
  5. "Do you have any current offers?"

關鍵回答策略

Tech Phone:標準 LeetCode 風格

真題:Top K Frequent Words with Tie-Break

給一段日誌陣列,求出現次數最多的 K 個 IP 位址。次數相同時按字典序輸出。

import heapq
from collections import Counter

def top_k_ips(logs, k):
    cnt = Counter(logs)
    heap = [(-c, ip) for ip, c in cnt.items()]
    heapq.heapify(heap)
    return [heapq.heappop(heap)[1] for _ in range(k)]

複雜度:O(N log N),N 為不同 IP 數。 Follow-up:如果 K=10 而 N=1e6,怎麼優化?答案:用 size=K 的最小堆,O(N log K)。

Power Day Round 1:Coding Hard

真題:分散式 Rate Limiter

實作一個分散式限流器:每個 user_id 在任意 60 秒滑動視窗內最多 100 次請求。要求多實例共享狀態。

思路:滑動視窗 + Redis sorted set。

import time
import redis

def rate_limit_check(r: redis.Redis, user_id: str, limit=100, window=60):
    key = f"rl:{user_id}"
    now = time.time()
    pipe = r.pipeline()
    pipe.zremrangebyscore(key, 0, now - window)
    pipe.zcard(key)
    pipe.zadd(key, {str(now): now})
    pipe.expire(key, window)
    _, count, _, _ = pipe.execute()
    return count < limit

Follow-up 鏈

  1. Redis 單點故障怎麼辦?→ Redis Cluster + 一致性雜湊
  2. 網路分區時怎麼 degrade?→ 本地 token bucket fallback
  3. 極端高並發下 Redis 是否成瓶頸?→ Lua script 原子化 + sharded by user_id

Power Day Round 2:System Design

真題:設計 Capital One 的即時反詐騙引擎

要求:

回答骨架5 層架構):

  1. Ingestion:Kafka,按 user_id 分區,保證同一使用者訊息有序
  2. Feature Store:Redis(即時特徵 + 60s 滑動)+ Cassandra(30 天歷史)
  3. Decision Engine
    • 規則引擎(Drools 或自研 DSL)
    • ML 模型(XGBoost online inference via TensorFlow Serving)
    • 雙路平行 → 投票或加權融合
  4. Storage:交易結果 + decision trace 寫入 DynamoDB(寫多讀少)
  5. Feedback Loop:客服標記 false positive → 重訓練資料集

關鍵 tradeoff

Power Day Round 3:Java + Spring 工程題

真題:Spring Boot 微服務呼叫鏈 Debug

給一段 controller → service → repository 的程式碼,發現 production 偶發 ConcurrentModificationException。請定位並修復。

考察點:

典型修復

// Bad: HashMap 在多執行緒下直接 GG
private Map<String, Account> cache = new HashMap<>();

// Good: 並發安全
private Map<String, Account> cache = new ConcurrentHashMap<>();

// Better: 加 size limit + LRU
private Map<String, Account> cache = Collections.synchronizedMap(
    new LinkedHashMap<>(1000, 0.75f, true) {
        @Override
        protected boolean removeEldestEntry(Map.Entry<String, Account> eldest) {
            return size() > 1000;
        }
    }
);

Follow-up:什麼時候用 ConcurrentHashMap.compute() 而不是 putIfAbsent?答案:當你需要原子性「讀-改-寫」。

Power Day Round 4:Behavioral / LP

Capital One 五大 LP

  1. Customer Obsession
  2. Champion Diversity, Inclusion & Belonging
  3. Do the Right Thing
  4. Lead with Excellence
  5. Take Smart Risks

每個 LP 準備 1-2 個 STAR 故事。Senior SWE 的 STAR 必須有量化結果

真題範例

"Tell me about a time you took a smart risk that didn't work out."

STAR 回答骨架

關鍵:Capital One 不是懲罰失敗,而是看你反思深度

FAQ

Q1:Power Day 4 輪在一天內還是分散? 通常集中在一天,4 個 60 分鐘 + 1 個 45 分鐘,全天約 5 小時。中間有 30 分鐘 lunch break。

Q2:Senior SWE 必須懂 Java 嗎? 幾乎是。 Capital One 後端棧以 Java + Spring Boot 為主,部分 Cloud team 用 Python。但 Power Day Round 3 通常強制 Java

Q3:System Design 必須用 AWS 嗎? 不強制,但強烈建議。Capital One 是 AWS first,用 GCP / Azure 答會被反覆追問。

Q4:薪資 base 範圍是多少? Senior SWE base 通常 200-280k,加 stock + bonus 總包 280-380k(McLean / NYC 略高於 Plano)。

Q5:visa 友善嗎? Senior 職位 H1B 友善,但部分 Cloud 團隊 因 contract 限制只招美國公民或 GC。問 recruiter 時直接問明白。


正在準備 Capital One Senior SWE Power Day?

如果你想做 System Design 5 層架構演練、Power Day 4 輪模考,或希望 Power Day 那天有真人 VO代面 / VO輔助 全程陪跑、Java 並發陷阱即時輔導,可以聊聊看完整的 OA代面 / VO輔助 / VO代面 方案。


聯絡方式

需要面試真題與客製備戰計畫?立刻聯絡微信 Coding0201獲取真題

Email: [email protected] Telegram: @OAVOProxy