
System Design Interview, 2nd Edition
Alex Xu
- Editorial
- ByteByteGo
- Año
- 2020
- Páginas
- ~309
- Nivel
- Intermedio
De qué trata
Guía de referencia y preparación exhaustiva orientada a resolver entrevistas técnicas de diseño de sistemas a gran escala en empresas tecnológicas líderes. Esta segunda edición (publicada en 2020 de forma independiente por Alex Xu y origen del ecosistema de formación ByteByteGo) actualiza y amplía los casos de estudio sobre arquitecturas distribuidas contemporáneas. Está dirigida a desarrolladores de software e ingenieros backend de nivel intermedio y sénior que ya poseen fundamentos sólidos en programación, bases de datos y redes, y buscan un método riguroso para responder con claridad y solidez ante preguntas abiertas de arquitectura.
El libro enseña a estructurar cualquier problema mediante un marco sistemático de cuatro pasos: comprender el problema y delimitar el alcance, proponer un diseño de alto nivel, profundizar en los componentes críticos y concluir evaluando cuellos de botella y posibles mejoras. Explica cálculos rápidos de orden de magnitud (back-of-the-envelope estimations) para estimar latencia, almacenamiento y consultas por segundo (QPS). A través de detallados diagramas de arquitectura y flujo de datos, desglosa el diseño de componentes esenciales como limitadores de tráfico (rate limiters con algoritmos como token bucket y sliding window log), dispersión consistente (consistent hashing), almacenes clave-valor distribuidos (analizando el teorema CAP y consistencia eventual con Cassandra o DynamoDB), generadores de identificadores únicos en clúster (estilo Snowflake), acortadores de URL, rastreadores web (web crawlers), sistemas de notificaciones push y correo electrónico, muros de noticias (news feeds con técnicas fan-out), mensajería en tiempo real con WebSockets, autocompletado de búsquedas con árboles trie, y plataformas de alta demanda como YouTube y Google Drive (utilizando Amazon S3, CDN, colas de mensajes y sharding de bases de datos relacionales y NoSQL).
Cada capítulo plantea un problema de diseño de sistemas como un caso práctico completo que se resuelve paso a paso, examinando disyuntivas arquitectónicas, puntos únicos de fallo y mecanismos de tolerancia a fallos. Su gran valor pedagógico reside en sus más de un centenar de esquemas visuales y en proporcionar una plantilla mental replicable para afrontar entrevistas de alto nivel sin perderse en divagaciones. No contiene código fuente ejecutable ni guías para configurar infraestructura real en producción, por lo que conviene entender previamente conceptos de protocolos de red y diseño de APIs RESTful para sacarle el máximo partido.
- Diseño de sistemas
- Sistemas distribuidos
- Entrevistas técnicas
- Escalabilidad
- Consistent Hashing
- Rate Limiter
- Teorema CAP
- WebSockets
- Árboles Trie
- Estimación de capacidad
¿Cómo enseña?
Con ejercicios
- ✓ Incluye ejercicios
- ✗ Sin proyectos

