System Design for CV Engineers
These documents are the highest-leverage study material for senior CV interviews. "Design a real-time video analytics system" is one of the most common system design questions at FAANG-level companies.
Documents
| File | Topic |
|---|---|
| 01-cv-pipeline-design.md | End-to-end scalable CV system architecture |
| 02-real-time-video-analytics.md | Streaming, Kafka, async inference at scale |
| 03-distributed-training.md | DDP, FSDP, gradient accumulation, mixed precision |
| 04-gpu-tpu-acceleration.md | CUDA memory model, TensorRT, TPU/XLA, hardware selection |
| 05-model-serving-at-scale.md | Triton, batching, SLA tradeoffs, horizontal scaling |
How to Use These
- Read one document per day — don't rush
- Draw architecture diagrams on paper
- Identify tradeoffs — there are no right answers in system design, only tradeoffs
- Practice the interview format: "First let me clarify requirements... The key constraints are... Let me walk through the architecture..."
System Design Interview Framework
-
Clarify requirements (5 min)
- Functional: what does it do?
- Non-functional: latency, throughput, accuracy, cost?
- Scale: images/sec, cameras, users?
-
Estimate scale (3 min)
- "100 cameras × 30 FPS = 3,000 frames/sec"
- "Each inference ~20ms → need 60 parallel workers"
-
High-level design (10 min)
- Draw boxes: ingestion → processing → storage → serving
- Identify the most critical component
-
Deep dive (15 min)
- Pick the hard problem (usually: GPU inference at scale, or real-time latency)
- Discuss alternatives, their tradeoffs
-
Handle scale, failures, monitoring (5 min)
- What breaks at 10× load?
- How do you detect model degradation in production?