Colección gratuita y seleccionada de recursos para aprender diseño de bajo nivel y prepararse para entrevistas de diseño orientado a objetos, con temas de OOP, patrones de diseño, UML y concurrencia.
donnemartin/system-design-primer
Guía de estudio gratuita y de código abierto para aprender diseño de sistemas a gran escala y prepararse para entrevistas, con soluciones de ejemplo y tarjetas Anki.
- Estrellas
- 374,932
- Forks
- 58,922
- Issues abiertos
- 628
- Último commit
- el mes pasado
¿Qué es?
System Design Primer es una colección estructurada de material para aprender a diseñar sistemas a gran escala. Aborda compromisos fundamentales, como rendimiento frente a escalabilidad, latencia frente a throughput y disponibilidad frente a consistencia, y luego explica componentes básicos como DNS, CDN, balanceadores de carga, proxies inversos, bases de datos (SQL y NoSQL), estrategias de caché, mensajería asíncrona y protocolos de comunicación como TCP, UDP, RPC y REST.
El proyecto también está orientado a preparar entrevistas. Presenta un método paso a paso para responder preguntas de diseño abiertas y ofrece soluciones desarrolladas para casos habituales, como diseñar un acortador de URL, una cronología al estilo de Twitter, un web crawler y un grafo social. Una sección aparte aborda preguntas de diseño orientado a objetos con soluciones en notebooks.
Entre los recursos de estudio se incluyen mazos de tarjetas Anki para la repetición espaciada, y el repositorio está disponible en muchos idiomas. La comunidad de código abierto contribuye a su contenido y lo mantiene actualizado.
Funciones clave
- 01Aborda compromisos fundamentales, como CAP, patrones de consistencia y disponibilidad cuantificada
- 02Explica componentes básicos, como balanceadores de carga, caché, sharding y colas de mensajes
- 03Ofrece soluciones desarrolladas para preguntas habituales de entrevistas de diseño de sistemas
- 04Incluye ejercicios de diseño orientado a objetos con soluciones en notebooks
- 05Incluye mazos de tarjetas Anki para repasar mediante repetición espaciada
Casos de uso
- Prepararse para las rondas de diseño de sistemas en entrevistas de backend o infraestructura
- Adquirir conocimientos fundamentales sobre la arquitectura de sistemas distribuidos
- Repasar los compromisos antes de diseñar un servicio escalable
- Repasar conceptos clave con tarjetas durante sesiones de estudio breves
Antes de usarlo
- No se pudo determinar la licencia a partir de los metadatos del proyecto, por lo que las condiciones de reutilización no están claras.
Temas
Preguntas frecuentes
- ¿Qué es system-design-primer?
- Guía de estudio gratuita y de código abierto para aprender diseño de sistemas a gran escala y prepararse para entrevistas, con soluciones de ejemplo y tarjetas Anki. System Design Primer es una colección estructurada de material para aprender a diseñar sistemas a gran escala. Aborda compromisos fundamentales, como rendimiento frente a escalabilidad, latencia frente a throughput y disponibilidad frente a consistencia, y luego explica componentes básicos como DNS, CDN, balanceadores de carga, proxies inversos, bases de datos (SQL y NoSQL), estrategias de caché, mensajería asíncrona y protocolos de comunicación como TCP, UDP, RPC y REST.
- ¿system-design-primer es gratuito? ¿Qué licencia tiene?
- system-design-primer es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿system-design-primer sigue mantenido?
- Actualizado en los últimos 6 meses. El último commit de system-design-primer fue el 15 sept 2026.
- ¿Para qué puedo usar system-design-primer?
- Prepararse para las rondas de diseño de sistemas en entrevistas de backend o infraestructura Adquirir conocimientos fundamentales sobre la arquitectura de sistemas distribuidos Repasar los compromisos antes de diseñar un servicio escalable Repasar conceptos clave con tarjetas durante sesiones de estudio breves
- ¿Dónde consigo system-design-primer?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/donnemartin/system-design-primer
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Lista seleccionada de más de 300 artículos de blogs de ingeniería de empresas como Airbnb, Netflix, Uber y Stripe, agrupados por empresa.
Colección de algoritmos implementados en Python y mantenida por la comunidad, pensada para el aprendizaje y la educación.
Guía en chino para entrevistas de backend Java que abarca fundamentos de informática, bases de datos, sistemas distribuidos, diseño de sistemas y desarrollo de aplicaciones de IA.
Plataforma educativa de IA de código abierto que convierte materiales de estudio en cuestionarios, tarjetas didácticas, apuntes al estilo Cornell y podcasts, inspirada en NotebookLM.
Curso de ML basado en la práctica: crea desde cero un framework de deep learning con NumPy y resuelve más de 350 ejercicios de código en el navegador, evaluados con Pyodide.