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

FileTopic
01-cv-pipeline-design.mdEnd-to-end scalable CV system architecture
02-real-time-video-analytics.mdStreaming, Kafka, async inference at scale
03-distributed-training.mdDDP, FSDP, gradient accumulation, mixed precision
04-gpu-tpu-acceleration.mdCUDA memory model, TensorRT, TPU/XLA, hardware selection
05-model-serving-at-scale.mdTriton, batching, SLA tradeoffs, horizontal scaling

How to Use These

  1. Read one document per day — don't rush
  2. Draw architecture diagrams on paper
  3. Identify tradeoffs — there are no right answers in system design, only tradeoffs
  4. Practice the interview format: "First let me clarify requirements... The key constraints are... Let me walk through the architecture..."

System Design Interview Framework

  1. Clarify requirements (5 min)

    • Functional: what does it do?
    • Non-functional: latency, throughput, accuracy, cost?
    • Scale: images/sec, cameras, users?
  2. Estimate scale (3 min)

    • "100 cameras × 30 FPS = 3,000 frames/sec"
    • "Each inference ~20ms → need 60 parallel workers"
  3. High-level design (10 min)

    • Draw boxes: ingestion → processing → storage → serving
    • Identify the most critical component
  4. Deep dive (15 min)

    • Pick the hard problem (usually: GPU inference at scale, or real-time latency)
    • Discuss alternatives, their tradeoffs
  5. Handle scale, failures, monitoring (5 min)

    • What breaks at 10× load?
    • How do you detect model degradation in production?