Capital One's Senior SWE bar is significantly higher than entry-level or TDP (Tech Development Program) - especially Power Day, where 4 back-to-back rounds compress algorithm + system design + Java/Spring engineering practice + Behavioral into a single grueling day. Community descriptions of Power Day are often vague. This article gives the real per-round questions and answer skeletons based on a Senior SWE pass case.
This article does not cover entry-level OA (the site already has a SWE TDP OA piece). It focuses on Senior-tier system design complexity, Java memory model follow-ups, and surgical hits on Capital One's five Leadership Principles.
Senior SWE Pipeline
| Stage | Length | Format | Decision weight |
|---|---|---|---|
| Recruiter Screen | 30 min | Why Capital One + resume | Entry |
| Tech Phone | 60 min | LeetCode Medium + light system | Critical filter |
| Power Day Round 1 | 60 min | Coding Hard | Decisive |
| Power Day Round 2 | 60 min | System Design | Decisive |
| Power Day Round 3 | 60 min | Java + Spring engineering | Decisive |
| Power Day Round 4 | 45 min | Behavioral / LP | Decisive |
Power Day rule: at least 3 of 4 rounds at strong hire or hire to extend an offer. Any single strong-no is essentially a veto.
Recruiter Screen: Five Questions in 30 Minutes
- "Walk me through your last 5 years of work."
- "Why are you interested in Capital One specifically?"
- "What's your salary expectation? Can you work in McLean / Plano / NYC?"
- "Describe a project where you owned end-to-end delivery."
- "Do you have any current offers?"
Answer strategy:
- "Why Capital One" must mention fintech transformation: Cloud-First, full AWS migration, ML in Underwriting.
- Salary expectations: a band (e.g., 240-290k base + 20% bonus). Never a single number.
- Offers: be honest, but do not name specific companies.
Tech Phone: Standard LeetCode Style
Real question: Top K Frequent Words with Tie-Break
Given a log array, return the K most frequent IP addresses. On ties, sort lexicographically.
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)]
Complexity: O(N log N), N is the count of unique IPs. Follow-up: K=10 with N=1e6 - optimize? Answer: a min-heap of size K, O(N log K).
Power Day Round 1: Coding Hard
Real question: Distributed Rate Limiter
Build a distributed rate limiter: per
user_id, at most 100 requests in any rolling 60-second window. Multiple instances must share state.
Approach: rolling window backed by a 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 chain:
- Redis SPOF? -> Redis Cluster + consistent hashing.
- Network partition - how do we degrade? -> local token bucket fallback.
- Redis becomes the bottleneck under spikes? -> Lua script for atomic ops + sharding by user_id.
Power Day Round 2: System Design
Real question: design Capital One's real-time fraud detection engine
Requirements:
- 50K credit-card transactions per second
- end-to-end latency < 100 ms
- false positive rate < 0.1 percent
- decisions powered by historical rules plus an ML model
Answer skeleton (5-layer architecture):
- Ingestion: Kafka, partitioned by user_id for in-order per-user delivery.
- Feature Store: Redis (real-time + 60s rolling) plus Cassandra (30-day history).
- Decision Engine:
- Rules engine (Drools or in-house DSL)
- ML model (XGBoost online inference via TensorFlow Serving)
- Both paths run in parallel -> voting or weighted fusion
- Storage: transaction outcomes plus decision traces in DynamoDB (write-heavy).
- Feedback Loop: agent-flagged false positives -> retraining dataset.
Critical tradeoffs:
- 100ms hard SLA: ML inference must finish under 30 ms, otherwise serve a cached score.
- Consistency vs availability: finance is CP over AP.
Power Day Round 3: Java + Spring
Real question: Spring Boot microservice debug
Given controller -> service -> repository code, production sees occasional
ConcurrentModificationException. Locate and fix.
Signals being tested:
ConcurrentHashMapvsCollections.synchronizedMapdifferences- Whether Spring
@Transactionalpropagation swallows exceptions - ThreadLocal context loss in async / WebFlux
Typical fix
// Bad: HashMap dies under multi-thread access
private Map<String, Account> cache = new HashMap<>();
// Good: thread-safe
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: when do you reach for ConcurrentHashMap.compute() over putIfAbsent? Answer: when you need atomic read-modify-write.
Power Day Round 4: Behavioral / LP
Capital One's Five LPs
- Customer Obsession
- Champion Diversity, Inclusion & Belonging
- Do the Right Thing
- Lead with Excellence
- Take Smart Risks
Prepare 1-2 STAR stories per LP. Senior SWE STAR must include quantified results:
- "Reduced API latency by 40% (P99 from 250ms to 150ms)"
- "Migrated 12 microservices to AWS, saving $200K annually"
- "Mentored 3 junior engineers, all promoted within 18 months"
Sample real question
"Tell me about a time you took a smart risk that didn't work out."
STAR skeleton:
- Situation: project context plus the risk
- Task: your role and decision authority
- Action: what you did and why
- Result: it failed, but what you learned and how you applied that lesson afterward
Key: Capital One does not punish failure - they evaluate the depth of reflection.
FAQ
Q1: Are the 4 Power Day rounds in one day or spread out? Usually all in one day: 4 x 60 minutes plus 1 x 45 minutes, around 5 hours total, with a 30-minute lunch break.
Q2: Is Java required for Senior SWE? Almost always. Capital One backend leans Java + Spring Boot, with some Cloud teams on Python. Power Day Round 3 typically mandates Java.
Q3: Must System Design use AWS? Not required, but strongly recommended. Capital One is AWS-first; answers using GCP or Azure invite repeated follow-ups.
Q4: Salary base range? Senior SWE base is usually 200-280k. With stock + bonus, total comp is 280-380k (McLean / NYC slightly above Plano).
Q5: Visa friendly? Senior roles are H1B-friendly, but some Cloud teams restrict to US citizens or GC due to contract terms. Confirm with the recruiter directly.
Preparing for Capital One Senior SWE Power Day?
If you want a 5-layer System Design walkthrough, 4-round Power Day mock, or a real person doing VO proxy / VO assist live shadowing on Power Day with Java concurrency support, we can talk through a complete OA proxy / VO assist / VO proxy plan.
Contact
Need real interview questions and a custom prep plan? Add WeChat Coding0201 now to get questions.
Email: [email protected] Telegram: @OAVOProxy