Preguntas de entrevista de Diseño de sistemas
46 preguntas de entrevista de Diseño de sistemas con respuestas, de nivel junior a intermedio.
Fundamentos
- ¿Qué es el 'diseño de sistemas'?
- ¿Qué significa que un sistema 'escala'?
- ¿Qué es un cuello de botella (bottleneck)?
- ¿Diseño de alto nivel frente a diseño de bajo nivel?
- ¿Por qué en las entrevistas quieren que hables de trade-offs en un diseño?
- En un sistema web típico, ¿qué camino sigue normalmente la petición de un usuario?
Base
- ¿Escalado horizontal frente a vertical?
- ¿Qué ofrece principalmente una CDN?
- ¿Qué hace un load balancer?
- ¿Por qué una caché acelera las lecturas?
- En el modelo cliente-servidor, ¿qué es cierto?
- ¿Latencia frente a throughput?
- ¿Monolito frente a microservicios?
- ¿Por qué poner una cola de mensajes entre un servicio de pedidos y uno de correo?
- ¿Qué hace DNS?
- ¿Qué es un punto único de fallo (SPOF)?
- ¿Cuál es el propósito principal de ejecutar varias copias (réplicas) de un servicio o base de datos?
- ¿Qué es un reverse proxy (por ejemplo Nginx delante de tu app)?
Intermedio
- Las peticiones tienen duraciones muy distintas (algunas tardan segundos). ¿Qué estrategia de balanceo se adapta mejor?
- En el patrón cache-aside (lazy loading), ¿quién llena la caché?
- Write-through caching significa…
- Según el teorema CAP, durante una partición de red un sistema distribuido debe elegir entre…
- Una startup de 6 personas con un producto debate sobre microservicios. ¿Cuál es el argumento más fuerte contra empezar con ellos?
- ¿Cuál es una responsabilidad típica de un API gateway?
- En la replicación leader-follower (primario-réplica), ¿a dónde van las escrituras?
- 1 millón de usuarios activos diarios hacen 10 peticiones al día cada uno. ¿Cuál es el QPS medio?
- ¿Por qué mantener stateless los servidores de aplicación?
- Los tres pilares de la observabilidad son…
- Un SLO de disponibilidad mensual del 99,9% permite, ¿aproximadamente cuánta inactividad en un mes de 30 días?
- Una app de chat necesita que el servidor envíe mensajes al instante a los clientes. ¿Qué transporte es el más adecuado?
- Blue-green deployment significa…
- ¿Qué marco sigues en una entrevista de diseño de sistemas de 45 minutos?
- Diseña un acortador de URLs (como bit.ly).
- Diseña un sistema de aparcamiento (diseño orientado a objetos).
Avanzado
- Una clave popular de caché caduca y miles de peticiones golpean la base de datos a la vez. Esto es…
- ¿Por qué usar consistent hashing para repartir claves entre nodos de caché?
- ¿Cuál es la diferencia clave entre Kafka y una cola tradicional como RabbitMQ?
- Un message broker garantiza entrega at-least-once. ¿Qué deben hacer los consumidores?
- Un servicio del que dependes falla y da timeouts. ¿Qué patrón evita que tu servicio lo siga machacando y falle lentamente?
- CQRS significa…
- Diseña un rate limiter para una API.
- Diseña una aplicación de chat (como WhatsApp).
- Diseña un feed de noticias (como el timeline de Twitter/X).
- Diseña un servicio de almacenamiento y sincronización de archivos (como Dropbox).
- Diseña un sistema de notificaciones (email, SMS, push).
- Diseña un planificador de trabajos distribuido (ejecutar tareas a una hora dada o con un cron).