System Design · 12 min
Cómo pasar System Design en FAANG (framework completo)
60 minutos, 5 etapas, vocabulario senior. El método que candidatos L5/L6/L7 usan para cerrar ofertas.
System Design es la ronda que más miedo da. La razón: no hay respuesta única correcta. Pero hay una estructura comprobada que los entrevistadores esperan. Si la sigues con vocabulario senior, pasas. Aquí está.
Las 5 etapas del system design
1. Clarify (5 min): preguntas funcionales y no funcionales. 2. Estimate (5 min): storage, QPS, bandwidth. 3. High-level design (15 min): bloques principales. 4. Deep-dive (20 min): DB schema, caching, queues. 5. Bottlenecks & wrap-up (10 min): cuellos de botella y mejoras.
Etapa 1: Clarify (no te saltes)
Funcionales: ¿qué hace el sistema? Usuarios pueden A, B, C. No funcionales: scale (1M DAU vs 1B), consistency (strong vs eventual), availability (99.9% vs 99.99%), latency (50ms vs 500ms). Sin estas preguntas, diseñas a ciegas.
Etapa 2: Estimate (números rápidos)
Storage: si 1M users × 1MB profile = 1TB. QPS: 1M DAU × 10 actions / 86400s = ~115 QPS avg, ~1k peak. Bandwidth: 1k QPS × 5KB response = 5MB/s. Estos números anclan todo el diseño siguiente.
Etapa 3: High-level design
Dibuja: cliente → load balancer → API gateway → microservicios → cache (Redis) → DB (Postgres/Cassandra) → message queue (Kafka) → workers. Nombra cada componente y di por qué. Vocab senior: 'API gateway para rate limiting', 'Redis para caché L1', 'Kafka para fanout async'.
Etapa 4: Deep-dive (donde se decide)
El entrevistador eligirá 1-2 componentes para deep-dive. DB schema: tables, índices, particionamiento (hash vs range vs geo). Caching: cache-aside, write-through, write-behind, TTL strategy. Queue: at-least-once vs exactly-once, ordering, idempotency.
Etapa 5: Bottlenecks & mejoras
Identifica el bottleneck: 'el cache se queda corto en celebrities con 10M followers'. Propone fix: 'fanout-on-read para celebrities, fanout-on-write para regular users'. Discute trade-offs: 'esto agrega complejidad pero reduce 80% del write amplification'.
Vocabulario senior obligatorio
Idempotency, write-ahead log, leader election, quorum, partition tolerance, eventual consistency, read replicas, sharding strategies (consistent hashing, range, geo), CDN edge caching, gossip protocol, two-phase commit, saga pattern, CQRS.
Aprendizaje clave
System design es estructura + vocabulario. Con Darknote.ai el copiloto sugiere trade-offs y vocab senior en vivo durante cada etapa del framework.