BACKEND30 preguntas • ~12 min

Quiz de Arquitectura de Sistemas

Pon a prueba tus conocimientos sobre microservicios, caché, escalabilidad y resiliencia.

Quiz de Arquitectura de Sistemas

Pon a prueba tus conocimientos sobre microservicios, caché, escalabilidad y resiliencia.

  1. 1. ¿Cuál es la principal diferencia entre una arquitectura monolítica y una de microservicios?

    • Un monolito utiliza contenedores; los microservicios no
    • Un monolito se despliega como una sola unidad; los microservicios se despliegan como servicios independientes
    • Los microservicios deben compartir una única base de datos; un monolito no puede
    • Un monolito solo puede ejecutarse en un servidor; los microservicios se ejecutan en muchos
  2. 2. ¿Qué método HTTP se utiliza convencionalmente para ACTUALIZAR un recurso existente en una API REST?

    • POST
    • GET
    • PUT
    • DELETE
  3. 3. En una frase, ¿qué hace Docker?

    • Aprovisiona máquinas virtuales en proveedores de la nube
    • Empaqueta una aplicación y sus dependencias en un contenedor portátil que se ejecuta de manera consistente en cualquier lugar
    • Reemplaza el kernel del sistema operativo para mejorar el rendimiento
    • Orquesta clústeres de servidores en diferentes centros de datos
  4. 4. ¿Qué significan las siglas CI/CD?

    • Container Integration / Container Delivery
    • Continuous Inspection / Continuous Deployment
    • Continuous Integration / Continuous Delivery (o Deployment)
    • Code Integration / Code Distribution
  5. 5. ¿Por qué se prefieren las variables de entorno sobre valores fijos en el código para almacenar secretos en una aplicación?

    • Hacen que la aplicación se ejecute más rápido
    • Mantienen valores sensibles fuera del código fuente y permiten configurar la aplicación por entorno
    • Se cifran automáticamente a nivel del sistema operativo
    • Son un requisito obligatorio del entorno de Docker
  6. 6. ¿Cuál es la función principal de un balanceador de carga (load balancer)?

    • Comprimir respuestas HTTP antes de que lleguen al cliente
    • Distribuir el tráfico de red entrante entre múltiples servidores
    • Almacenar en caché los resultados de consultas a la base de datos
    • Monitorizar registros (logs) de la aplicación en tiempo real
  7. 7. ¿Cuál es la diferencia entre escalabilidad horizontal y vertical?

    • La escalabilidad horizontal añade más CPU/RAM a un solo servidor; la vertical añade más servidores
    • La escalabilidad horizontal añade más servidores; la vertical añade más CPU/RAM a un servidor existente
    • Son el mismo concepto pero con diferentes nombres según el proveedor de nube
    • La escalabilidad horizontal solo aplica a bases de datos; la vertical solo aplica a servidores web
  8. 8. Cuando se usa Nginx como proxy inverso, ¿qué dirección de tráfico gestiona principalmente?

    • Solicitudes de servicios internos hacia la base de datos
    • Solicitudes salientes del servidor hacia APIs externas
    • Solicitudes entrantes de clientes reenviadas a servidores de aplicaciones backend
    • Tráfico entre microservicios dentro de un clúster de Kubernetes
  9. 9. ¿Cuál es el propósito de un endpoint de health check (por ejemplo, GET /health) en un servicio web?

    • Devolver el uso actual de CPU y memoria al usuario final
    • Permitir que balanceadores de carga y orquestadores verifiquen que el servicio funciona correctamente
    • Desencadenar un reinicio manual del servicio
    • Exponer la documentación interna de la API
  10. 10. En un pipeline de despliegue, ¿qué logra un rollback?

    • Elimina todos los datos escritos desde la última versión
    • Revierte la aplicación en ejecución a una versión anterior que se sabe estable
    • Reduce el número de instancias a cero
    • Restablece las variables de entorno a sus valores predeterminados
  11. 11. El principio 'Configuración' de la metodología 12-Factor App establece que la configuración debe almacenarse en:

    • Un archivo de configuración incluido en el repositorio junto al código fuente
    • Variables de entorno
    • Un microservicio dedicado a la configuración
    • Una tabla de base de datos relacional
  12. 12. En un despliegue blue/green, ¿qué ocurre con el entorno 'blue' tras el cambio exitoso a 'green'?

    • Se elimina permanentemente para reducir costes
    • Sigue recibiendo el 50 % del tráfico de producción
    • Se mantiene inactivo y puede servir como destino de rollback
    • Se actualiza automáticamente para coincidir con el entorno green
  13. 13. ¿Qué diferencia a un despliegue canario (canary) de un despliegue blue/green?

    • Los despliegues canary requieren dos entornos idénticos; blue/green requiere solo uno
    • Los despliegues canary desvían gradualmente un pequeño porcentaje del tráfico a la nueva versión antes del lanzamiento completo
    • Los despliegues canary solo se utilizan para migraciones de bases de datos
    • Los despliegues blue/green son siempre más rápidos que los despliegues canary
  14. 14. En Kubernetes, ¿cuál es la función de un Pod?

    • Es el componente del plano de control que asigna contenedores a los nodos
    • Es la unidad mínima de despliegue, que agrupa uno o más contenedores coubicados que comparten red y almacenamiento
    • Es el equivalente en Kubernetes a una máquina virtual
    • Es el manifiesto de configuración para un clúster de Kubernetes
  15. 15. ¿Cuál es la principal diferencia entre el descubrimiento de servicios (service discovery) basado en DNS y basado en registro?

    • El descubrimiento por DNS solo funciona en un único host; el basado en registro funciona entre distintos hosts
    • El descubrimiento por DNS resuelve nombres de servicio a IPs mediante DNS estándar; el basado en registro consulta un registro dedicado (como Consul) para obtener instancias activas
    • El descubrimiento basado en registro es más lento porque requiere una consulta al registro en cada solicitud
    • No existe diferencia práctica: ambos logran exactamente el mismo resultado
  16. 16. ¿Qué problema resuelve el patrón API Gateway en una arquitectura de microservicios?

    • Reemplaza la necesidad de un intermediario de mensajes (broker) entre servicios
    • Proporciona un único punto de entrada para los clientes, gestionando aspectos transversales como autenticación, limitación de tasa y enrutamiento
    • Sincroniza bases de datos entre servicios de forma automática
    • Elimina la necesidad de verificaciones de estado en los servicios
  17. 17. ¿Por qué los microservicios deben diseñarse para ser sin estado (stateless)?

    • Los servicios stateless se ejecutan más rápido porque nunca escriben en disco
    • Los servicios stateless pueden escalarse horizontalmente y reemplazarse con libertad sin migrar datos de sesión
    • Los servicios stateless no necesitan balanceador de carga
    • Kubernetes solo admite cargas de trabajo stateless
  18. 18. En el patrón Circuit Breaker, ¿qué representa el estado 'Half-Open'?

    • El circuito está permanentemente deshabilitado y se rechaza todo el tráfico
    • El circuito permite el paso de una cantidad limitada de solicitudes de prueba para comprobar si el servicio downstream se ha recuperado
    • El circuito transmite todo el tráfico con normalidad tras una recuperación exitosa
    • El circuito está bloqueado pero sigue registrando solicitudes para fines de auditoría
  19. 19. ¿En qué se diferencia el algoritmo token bucket del algoritmo leaky bucket para la limitación de tasa (rate limiting)?

    • Token bucket impone una tasa de salida estrictamente constante; leaky bucket permite ráfagas hasta la capacidad del depósito
    • Token bucket permite ráfagas hasta la capacidad del depósito; leaky bucket impone una tasa de salida estrictamente constante
    • Son idénticos: únicamente nombres distintos empleados por diferentes proveedores
    • Leaky bucket solo se usa para tráfico UDP; token bucket es para HTTP
  20. 20. ¿Qué significa 'infraestructura inmutable'?

    • Los servidores reciben parches directamente in situ y nunca se reinician
    • Los servidores nunca se modifican tras su despliegue; los cambios se aplican reemplazando instancias por otras nuevas generadas a partir de imágenes actualizadas
    • Los archivos de configuración de infraestructura se almacenan en un bucket S3 de solo lectura
    • Todos los servidores de un clúster deben tener especificaciones de hardware idénticas
  21. 21. ¿Por qué una actualización gradual (rolling update) en Kubernetes utiliza readiness probes antes de enviar tráfico a los nuevos pods?

    • Para comprobar que la imagen del contenedor fue firmada por un registro de confianza
    • Para garantizar que el nuevo pod esté completamente inicializado y listo para recibir peticiones antes de retirar los pods antiguos
    • Para moderar la velocidad del despliegue y evitar sobrecargar el scheduler
    • Para ejecutar migraciones de base de datos dentro del nuevo pod antes de enviarle tráfico
  22. 22. ¿En qué consiste el patrón expand-contract (cambio paralelo) para migraciones de bases de datos?

    • Realizar una copia de seguridad completa de la base de datos antes y después de cada cambio de esquema
    • Primero expandir el esquema para admitir tanto el formato antiguo como el nuevo, desplegar código compatible con ambos y luego contraer el esquema eliminando el formato antiguo
    • Escalar horizontalmente el clúster de bases de datos antes de aplicar una migración y reducirlo después
    • Utilizar feature flags para ocultar nuevas columnas a los usuarios hasta completar la migración
  23. 23. En el contexto de los sistemas distribuidos, ¿qué garantiza la idempotencia de una API?

    • Que una solicitud siempre se procesará en menos de 100 ms
    • Que realizar la misma solicitud múltiples veces produce el mismo resultado que haberla ejecutado una sola vez
    • Que la API reintentará automáticamente solicitudes fallidas en nombre del cliente
    • Que cada solicitud es procesada exactamente por una sola instancia de servidor
  24. 24. En el patrón Saga, ¿cuál es la diferencia clave entre coreografía y orquestación?

    • La coreografía utiliza un coordinador central para invocar cada servicio en orden; la orquestación usa eventos emitidos por cada servicio
    • En la coreografía, cada servicio reacciona a eventos de dominio y publica nuevos eventos; en la orquestación, un orquestrador central de sagas comanda explícitamente cada paso
    • La coreografía se utiliza únicamente para operaciones de lectura; la orquestación solo para operaciones de escritura
    • Son implementaciones equivalentes con diferente convención de nombres
  25. 25. El patrón Strangler Fig se utiliza para:

    • Reemplazar gradualmente un monolito heredado redirigiendo funciones específicas hacia nuevos microservicios hasta que el monolito pueda retirarse
    • Limitar el tráfico hacia un sistema heredado para forzar a los usuarios a trasladarse más rápido a la nueva plataforma
    • Inyectar fallos en un sistema heredado para identificar dependencias ocultas antes de la migración
    • Envolver una base de datos heredada con un ORM para desacoplarla de la capa de aplicación
  26. 26. ¿Cuál es el objetivo principal de herramientas de ingeniería del caos como Chaos Monkey y Gremlin?

    • Hacer pruebas de estrés en bases de datos generando millones de operaciones de escritura aleatorias
    • Inyectar fallos de forma proactiva en sistemas de producción para descubrir debilidades antes de que provoquen caídas no planificadas
    • Simular alta latencia de red durante pruebas de carga exclusivamente en entornos de pruebas
    • Hacer fuzzing sobre entradas de API para detectar vulnerabilidades de seguridad en microservicios
  27. 27. ¿Qué proporciona una malla de servicios (service mesh) como Istio o Linkerd que no ofrezca un API Gateway tradicional?

    • Un único punto de entrada externo para todo el tráfico HTTP orientado a clientes
    • TLS mutuo (mTLS), observabilidad de tráfico y enrutamiento granular entre cada llamada de servicio a servicio dentro del clúster
    • Autoescalado horizontal automático de pods basado en el rendimiento de red
    • Resolución DNS para servicios distribuidos en múltiples namespaces de Kubernetes
  28. 28. En GitOps (usando ArgoCD o Flux), ¿cuál es la fuente única de verdad para el estado deseado del clúster?

    • Los contenedores en ejecución en el clúster de Kubernetes
    • Un repositorio Git que contiene manifiestos declarativos de infraestructura y aplicación
    • El artefacto publicado más recientemente por el pipeline de CI
    • Un manual de operaciones guardado en una wiki
  29. 29. En una arquitectura multirregión activo-activo, ¿qué desafío de consistencia debe resolverse de forma explícita?

    • Garantizar que todas las regiones empleen el mismo digest de imagen de contenedor
    • Gestionar conflictos de escritura y desfase de replicación cuando los mismos datos pueden modificarse concurrentemente en regiones distintas
    • Enrutar todas las escrituras a través de una única región primaria para evitar latencia
    • Sincronizar relojes de los nodos de Kubernetes entre regiones mediante NTP
  30. 30. ¿Cuáles son los tres pilares de la observabilidad completa en un sistema distribuido y por qué son importantes los IDs de correlación?

    • Disponibilidad (uptime), latencia y tasa de errores; los IDs de correlación vinculan alertas de SLO con guardias técnicas
    • Logs, métricas y trazas (traces); los IDs de correlación permiten rastrear una misma solicitud de extremo a extremo a través de todos los servicios y su telemetría
    • Paneles (dashboards), alertas y runbooks; los IDs de correlación eliminan la necesidad de trazabilidad distribuida
    • CPU, memoria y disco; los IDs de correlación asocian métricas de infraestructura con despliegues de aplicaciones

Sobre este quiz

Este quiz interactivo está diseñado para ofrecer una experiencia dinámica, rápida y entretenida. Las opciones se ordenan de manera aleatoria y tu resultado se calcula al instante al finalizar. ¡Puedes repetirlo cuantas veces quieras y compartirlo con tus amigos!

Puntos clave:
  • ✓100% gratis y sin registro
  • ✓Preguntas dinámicas con retroalimentación instantánea
  • ✓Descarga tu card personalizado y comparte en redes

Preguntas frecuentes

Al responder cada pregunta, el sistema procesa tus elecciones para determinar tu resultado de forma inmediata y precisa.