Índice completo del banco de preguntas
This content is not available in your language yet.
Fichero generado por
scripts/generar-indice.mjs. No lo edites a mano: ejecutanpm run indice.
389 preguntas en 10 áreas · 160 marcadas como [CASO] (análisis de problemas).
¿No sabes por dónde empezar? Los cursos enseñan lo necesario para responderlas.
| Área | Preguntas | [CASO] |
|---|---|---|
| ☕ Java Senior + Microservicios | 46 | 15 |
| 🟦 TypeScript Senior + Microservicios | 48 | 26 |
| 🐹 Golang Senior + Microservicios | 55 | 18 |
| ☁️ AWS | 47 | 16 |
| ☁️ Azure | 30 | 12 |
| ☁️ GCP | 31 | 12 |
| 🧩 Microfrontends | 30 | 12 |
| 🔐 Seguridad y Vulnerabilidades | 42 | 13 |
| 🔄 Versionamiento de APIs | 40 | 16 |
| 🧠 Casos de Estudio Transversales | 20 | 20 |
| Total | 389 | 160 |
☕ Java Senior + Microservicios
Sección titulada «☕ Java Senior + Microservicios»Carpeta: java-microservicios/ · 46 preguntas
Java Core Avanzado — Preguntas de Entrevista Senior
Sección titulada «Java Core Avanzado — Preguntas de Entrevista Senior»01-java-core-avanzado.md · 15 preguntas
- ¿Cómo funciona G1 GC internamente y qué parámetros clave usarías para hacer tuning? — JVM / Garbage Collection
- ¿Cuándo elegirías ZGC o Shenandoah en lugar de G1? ¿Qué sacrificas? — JVM / Garbage Collection
- Explica el Java Memory Model: ¿qué es happens-before y por qué importa? — Concurrencia / JMM
volatilevssynchronizedvsAtomicLong/VarHandle: ¿cuándo usar cada uno? — Concurrencia / JMM- ¿Qué garantías especiales dan los campos
finaly qué es la publicación segura (safe publication)? — Concurrencia / JMM CompletableFuture: composición, manejo de errores y sus pitfalls principales — Concurrencia- ForkJoinPool y work-stealing: ¿cómo funciona y qué problemas causa el commonPool? — Concurrencia
- Virtual threads (Project Loom): ¿cómo funcionan, cuándo usarlos y qué es el pinning? — Concurrencia / Loom
- Structured concurrency: ¿qué problema resuelve frente a ExecutorService y CompletableFuture? — Concurrencia / Loom
- HashMap por dentro: hashing, resize, treeification y por qué es peligroso en concurrencia — Colecciones
- ConcurrentHashMap: ¿cómo logra thread-safety sin un lock global y qué garantías da? — Colecciones / Concurrencia
- Records: ¿qué aportan realmente, qué limitaciones tienen y cuándo NO usarlos? — Lenguaje moderno
- Sealed classes + pattern matching: ¿cómo cambian el diseño de dominio en Java moderno? — Lenguaje moderno
- Streams paralelos: ¿cuándo ayudan, cuándo perjudican y cuáles son sus pitfalls? — Streams / Concurrencia
- Streams secuenciales: pitfalls avanzados que delatan a un desarrollador junior — Streams
Spring y Microservicios — Preguntas de Entrevista Senior
Sección titulada «Spring y Microservicios — Preguntas de Entrevista Senior»02-spring-y-microservicios.md · 16 preguntas
- ¿Cómo funciona la auto-configuración de Spring Boot por dentro? — Spring Boot internals
- @Transactional: propagación, rollback y los pitfalls del proxy — Spring / Transacciones
- ¿Cómo implementarías circuit breakers con Resilience4j y qué configuración importa de verdad? — Resiliencia
- Comunicación síncrona vs asíncrona entre microservicios: ¿cómo decides? — Arquitectura
- Kafka: consumer groups y rebalancing — ¿qué pasa exactamente y cómo lo controlas? — Kafka
- Kafka: ¿qué significa exactly-once realmente y cómo se consigue con Java? — Kafka
- Patrón Saga: orquestación vs coreografía para transacciones distribuidas — Patrones
- Patrón Outbox: ¿cómo publicas eventos de forma atómica con tu transacción de BD? — Patrones / Kafka
- Proxies en Spring (JDK vs CGLIB) y ciclo de vida de beans: ¿qué errores reales causan? — Spring internals
- Spring Cloud Config y configuración dinámica: ¿cómo refrescas configuración sin redeploy y qué riesgos tiene? — Spring Cloud
- Spring Cloud Gateway: ¿qué papel juega y cómo implementarías rate limiting y resiliencia en el borde? — Spring Cloud
- CQRS y Event Sourcing: ¿qué resuelven, cómo se implementan y cuándo son una mala idea? — Patrones
- Service discovery: ¿Eureka, DNS de Kubernetes o service mesh? ¿Client-side o server-side? — Infraestructura de microservicios
- Observabilidad en microservicios Java: Micrometer, OpenTelemetry y qué instrumentar — Observabilidad
- Testcontainers: ¿cómo testeas integración real (BD, Kafka) sin mocks y sin flakiness? — Testing
- Contract testing con Pact: ¿cómo evitas romper consumidores sin tests E2E? — Testing
Casos y Problemas de Producción — Preguntas de Entrevista Senior
Sección titulada «Casos y Problemas de Producción — Preguntas de Entrevista Senior»03-casos-y-problemas.md · 15 preguntas
- Memory leak en producción: el heap crece hasta OOM cada 3 días
[CASO]— JVM / Troubleshooting - Latencia p99 alta en un servicio Spring Boot con p50 normal: ¿cómo lo investigas?
[CASO]— Performance - Thread pool exhaustion: Tomcat deja de responder pero la CPU está al 10%
[CASO]— Concurrencia / Spring - Deadlock en producción: dos funcionalidades se congelan a la vez de forma intermitente
[CASO]— Concurrencia - Consumer lag creciente en Kafka: el consumidor procesa pero cada vez va más atrás
[CASO]— Kafka - Mensajes duplicados: facturación cobró dos veces el mismo pedido
[CASO]— Kafka / Patrones - Transacción distribuida que deja datos inconsistentes: pedido pagado sin stock reservado
[CASO]— Patrones / Datos distribuidos - N+1 queries con JPA/Hibernate: un listado que hace 400 queries
[CASO]— JPA / Performance - OutOfMemoryError: Metaspace tras varios redeploys o en un servicio con mucha reflection
[CASO]— JVM / Troubleshooting - Un servicio degradado tumba en cascada a toda la plataforma: anatomía y defensa
[CASO]— Resiliencia / Arquitectura - Migrar un monolito a microservicios: ¿por dónde empiezas y cómo evitas el desastre?
[CASO]— Arquitectura / Migración - Full GC pauses de varios segundos: los health checks fallan y los pods se reinician
[CASO]— JVM / GC - HikariCP agotado: “Connection is not available, request timed out after 30000ms”
[CASO]— Base de datos / Spring - Pérdida de mensajes: un evento de pedido nunca llegó a facturación
[CASO]— Kafka - Hot partition en Kafka: una partición concentra el tráfico y un consumer va ahogado
[CASO]— Kafka
🟦 TypeScript Senior + Microservicios
Sección titulada «🟦 TypeScript Senior + Microservicios»Carpeta: typescript-microservicios/ · 48 preguntas
TypeScript Avanzado — Preguntas de Entrevista Senior
Sección titulada «TypeScript Avanzado — Preguntas de Entrevista Senior»01-typescript-avanzado.md · 16 preguntas
- ¿Qué son los conditional types y cómo funciona
infer? — Type System - Distributividad de conditional types: ¿por qué
Excludefunciona y cuándo hay que desactivarla?[CASO]— Type System - Mapped types: key remapping con
asy modificadores+/-— Type System - Template literal types: rutas y eventos tipados
[CASO]— Type System - Varianza: covarianza, contravarianza,
strictFunctionTypesy bivarianza de métodos — Type System - Type narrowing: type guards con
is, discriminated unions,assertsy exhaustividad connever[CASO]— Type System - Branded types: tipado nominal sobre un sistema estructural — Type System / Diseño de dominio
satisfiesvs anotación de tipo vsas: ¿cuándo usar cada uno? — Type System- Generics avanzados: constraints, defaults, inferencia parcial y sobre-genericidad — Type System / Diseño de API
- Structural typing: excess property checks y compatibilidad accidental
[CASO]— Type System unknownvsanyvsnever: fronteras de API y manejo de errores — Type System / Robustez- Declaration merging y module augmentation: extender Express Request y tipos globales
[CASO]— Módulos / Interop - tsconfig estricto para servicios Node modernos: qué flags activar y por qué — Tooling / Configuración
- Monorepos TypeScript: project references, builds incrementales y Turborepo/Nx
[CASO]— Tooling / Arquitectura - Decoradores: legacy (
experimentalDecorators) vs estándar TC39 — y por qué NestJS sigue en legacy — Lenguaje / Frameworks - Validación runtime con Zod: los tipos se borran, las fronteras no se defienden solas
[CASO]— Robustez / Fronteras del sistema
Node.js y Microservicios — Preguntas de Entrevista Senior
Sección titulada «Node.js y Microservicios — Preguntas de Entrevista Senior»02-node-y-microservicios.md · 16 preguntas
- Explica las fases del event loop de Node.js y qué se ejecuta en cada una — Runtime de Node.js
- [CASO] Un servicio deja de responder a health checks aunque el proceso sigue vivo: sospechas de starvation de microtasks. ¿Qué está pasando y cómo lo diagnosticas?
[CASO]— Runtime de Node.js - Worker threads vs cluster vs child_process: ¿cuándo usarías cada uno? — Runtime de Node.js
- Streams y backpressure: ¿cómo procesarías un archivo de 10 GB de pedidos sin tumbar el servicio? — Runtime de Node.js
- Inyección de dependencias en NestJS: providers, scopes y su coste — NestJS
- Guards, interceptors, pipes y exception filters en NestJS: orden de ejecución y casos de uso — NestJS
- REST vs gRPC entre microservicios con TypeScript: ¿cuándo eliges cada uno? — Comunicación entre servicios
- Kafka vs RabbitMQ vs BullMQ: ¿cómo eliges la tecnología de mensajería? — Mensajería
- Patrón Saga: coreografía vs orquestación en un flujo de pedidos y pagos — Patrones de microservicios
- Patrón Outbox e idempotencia: ¿cómo consigues “exactly-once efectivo” entre base de datos y broker? — Patrones de microservicios
- [CASO] Al desplegar en Kubernetes se pierden peticiones y quedan jobs a medias: diseña el graceful shutdown
[CASO]— Operación / Kubernetes - Manejo de errores async en Node: unhandled rejections, captureRejections y por qué no “tragar” errores — Runtime de Node.js
- Observabilidad con OpenTelemetry en Node: trazas distribuidas, propagación de contexto y correlación — Observabilidad
- Estrategia de testing en microservicios: unit, integración con Testcontainers y contract testing — Testing
- [CASO] La latencia p99 de tu API se dispara con ciertos payloads: ¿cómo detectas y evitas el bloqueo del event loop?
[CASO]— Performance - Manejo de JSON grande en Node: streaming parsers, NDJSON y alternativas binarias — Performance / Datos
Casos y Problemas Reales — Entrevista Senior
Sección titulada «Casos y Problemas Reales — Entrevista Senior»03-casos-y-problemas.md · 16 preguntas
- Memory leak: el heap crece hasta OOM
[CASO]— Node.js internals / Observabilidad - Event loop bloqueado: p99 disparado por código CPU-bound
[CASO]— Performance / Event loop - OOM procesando archivos grandes: readFile vs streams
[CASO]— Streams / Backpressure - Unhandled promise rejection tumbando pods en cascada
[CASO]— Async / Resiliencia - Fuga de conexiones a Postgres: pool agotado
[CASO]— Bases de datos / Recursos - Cola con lag creciente: consumidores que no dan abasto
[CASO]— Mensajería / Kafka / BullMQ - Race condition: doble descuento de stock en operaciones concurrentes
[CASO]— Concurrencia / Consistencia de datos - Hot reload de configuración sin reiniciar el servicio
[CASO]— Configuración / Operabilidad - Migración JS→TS incremental en un servicio grande
[CASO]— TypeScript / Deuda técnica - Timeout en cascada entre servicios: A→B→C
[CASO]— Sistemas distribuidos / Resiliencia - DNS y keep-alive con axios/undici en alta concurrencia
[CASO]— Redes / HTTP clients - Degradación por GC: pausas largas y sawtooth agresivo
[CASO]— Node.js internals / Memoria - Pérdida de eventos: mensajes que “desaparecen”
[CASO]— Mensajería / Consistencia - Duplicación de jobs/mensajes: el mismo evento procesado dos veces
[CASO]— Mensajería / Idempotencia - Hot path degradado: CPU throttling en Kubernetes distorsionando latencias
[CASO]— Kubernetes / Runtime - Graceful shutdown roto: 502s en cada deploy
[CASO]— Kubernetes / Ciclo de vida
🐹 Golang Senior + Microservicios
Sección titulada «🐹 Golang Senior + Microservicios»Carpeta: golang-microservicios/ · 55 preguntas
Go Core Avanzado — Preguntas de Entrevista Senior
Sección titulada «Go Core Avanzado — Preguntas de Entrevista Senior»01-go-core-avanzado.md · 21 preguntas
- Explica el modelo GMP del scheduler de Go — Runtime / Scheduler
- ¿Por qué las goroutines son más baratas que los threads del OS? — Runtime / Concurrencia
- Channels buffered vs unbuffered: semántica y cuándo usar cada uno — Concurrencia / Channels
select: semántica, patrones y trampas — Concurrencia / Channels- Patrones de concurrencia: pipeline, fan-out y fan-in — Concurrencia / Patrones
- El paquete
sync: Mutex, RWMutex, WaitGroup, Once — usos y trampas — Concurrencia / Sincronización errgroup: qué aporta sobre WaitGroup y cómo usarlo bien — Concurrencia / Sincronizaciónsync/atomicvs Mutex: cuándo y por qué — Concurrencia / Sincronizacióncontext.Context: cancelación, deadlines y valores — reglas de uso — Context / Diseño de APIs- Escape analysis, stack vs heap, y cómo reducir allocaciones — Memoria / Performance
- El GC de Go: cómo funciona, GOGC y GOMEMLIMIT — Memoria / GC
- Slices internals: capacidad, aliasing, append y sus gotchas — Estructuras de datos
- Maps internals: buckets, iteración aleatoria y concurrencia — Estructuras de datos
- Interfaces internals: iface/eface y el gotcha del “typed nil” — Tipos / Interfaces
- Generics en Go: type parameters, constraints y cuándo usarlos — Tipos / Generics
- Error handling idiomático: wrapping, errors.Is/As, sentinel vs typed errors — Errores / Diseño de APIs
defer: semántica precisa y sus gotchas — Lenguaje / Control de flujofor range, closures y goroutines: el bug clásico de captura de variables — Lenguaje / Concurrencia- Stack growth,
sync.Pooly presión de GC en hot paths — Memoria / Performance - [CASO] Un servicio funciona en tests pero
-raceen CI reporta una data race en un map de caché. Analiza[CASO]— Concurrencia / Debugging - [CASO] Necesitas procesar 10M de registros llamando a una API externa con límite de 100 concurrentes. Diseña la solución
[CASO]— Concurrencia / Diseño
Microservicios en Go — Preguntas de Entrevista Senior
Sección titulada «Microservicios en Go — Preguntas de Entrevista Senior»02-microservicios-en-go.md · 18 preguntas
- Diseño de un servidor HTTP de producción con
net/http: timeouts y configuración — HTTP / Servicios - Middleware en Go: patrón, orden y ejemplos reales — HTTP / Servicios
- gRPC en Go: unary vs streaming, deadlines y manejo de errores — gRPC
- Interceptors de gRPC: para qué y cómo implementarlos — gRPC
- Graceful shutdown completo de un microservicio en Go — Ciclo de vida / Operación
- Worker pools y control de concurrencia en servicios — Concurrencia aplicada
- Rate limiting en Go: algoritmos e implementación — Resiliencia
- Circuit breakers: por qué, cómo funcionan y su implementación en Go — Resiliencia
- Kafka en Go: consumer groups, rebalancing y elección de librería — Mensajería / Kafka
- Patrón Outbox e idempotencia: publicar eventos sin perder ni duplicar — Mensajería / Consistencia
- Patrón Saga: transacciones distribuidas sin 2PC — Patrones distribuidos
- Estructura de proyecto en Go:
internal/, hexagonal y organización de paquetes — Arquitectura / Proyecto - Inyección de dependencias en Go: manual, wire, fx — criterio — Arquitectura / Proyecto
- Observabilidad en Go: OpenTelemetry, métricas y pprof en producción — Observabilidad
- Testing en microservicios Go: table-driven, testcontainers, mocks y race detector — Testing
- Timeouts, retries y hedging entre servicios: presupuesto de latencia end-to-end — Resiliencia / Comunicación
- Versionado y evolución de APIs y eventos en microservicios Go — Contratos / Evolución
- Configuración y secretos en microservicios Go — Operación / Configuración
Casos y Problemas de Producción — Go y Microservicios
Sección titulada «Casos y Problemas de Producción — Go y Microservicios»03-casos-y-problemas.md · 16 preguntas
- [CASO] Goroutine leak en producción: la memoria y el número de goroutines crecen sin parar
[CASO]— Concurrencia / Debugging - [CASO] La memoria RSS crece y el pod es OOM-killed, pero el heap de pprof se ve pequeño
[CASO]— Memoria / GC - [CASO] Deadlock: el servicio se congela por completo bajo carga y no responde ni el health check
[CASO]— Concurrencia / Debugging - [CASO] El race detector señala una race en producción… que “nunca ha dado problemas”. Convence al equipo y arréglala
[CASO]— Concurrencia / Debugging - [CASO] p99 degradado con p50 normal: ¿GC o contención? Diagnostica y arregla
[CASO]— Performance / Latencia - [CASO] El servidor HTTP agota file descriptors: “too many open files”
[CASO]— HTTP / Recursos - [CASO] Contexto cancelado que no se propaga: el caller recibe timeout pero el trabajo sigue ejecutándose (trabajo huérfano)
[CASO]— Context / Consistencia - [CASO] Datos corruptos intermitentes: dos features pisan los mismos bytes por aliasing de slices
[CASO]— Slices / Memoria - [CASO] Un panic en una goroutine tumba todo el proceso cada pocas horas
[CASO]— Errores / Runtime - [CASO] Consumer de Kafka con lag creciente: los mensajes se acumulan más rápido de lo que se procesan
[CASO]— Kafka / Throughput - [CASO] Timeouts en cascada entre servicios gRPC: un incidente pequeño se convierte en outage general
[CASO]— gRPC / Resiliencia - [CASO] Connection pool de
database/sqlagotado: requests esperando conexión y timeouts en la capa de datos[CASO]— Base de datos / Recursos - [CASO] Procesar un archivo de 20GB tumba el servicio por memoria: diseño de streaming
[CASO]— I/O / Memoria - [CASO] Migración de un servicio Java/Node a Go: qué evaluar, cómo ejecutarla y qué trampas esperan
[CASO]— Arquitectura / Migración - [CASO] El servicio consume 100% CPU con tráfico normal: busy loop, serialización o algo peor
[CASO]— Performance / CPU - [CASO] Tras un deploy, errores 502/connection reset intermitentes solo durante los rollouts
[CASO]— Ciclo de vida / Kubernetes
Carpeta: cloud/aws/ · 47 preguntas
Fundamentos y Arquitectura en AWS — Entrevistas Senior
Sección titulada «Fundamentos y Arquitectura en AWS — Entrevistas Senior»01-fundamentos-y-arquitectura.md · 18 preguntas
- Diseño de una VPC: subnets públicas/privadas, NAT e Internet Gateway — Networking
- VPC Endpoints: Gateway vs Interface, y cuándo usarlos — Networking
- VPC Peering vs Transit Gateway: conectividad entre VPCs — Networking
- IAM avanzado: evaluación de policies, roles y STS — Seguridad
- Permission boundaries, SCPs y acceso cross-account — Seguridad
- ECS vs EKS vs Lambda vs Fargate: criterios de elección de cómputo — Cómputo
- ALB vs NLB vs API Gateway: exposición de servicios — Networking / Integración
- RDS vs Aurora: cuándo pagar la prima de Aurora — Bases de datos
- DynamoDB: modelado single-table y particiones calientes — Bases de datos
- SQS vs SNS vs EventBridge: mensajería y eventos — Integración
- Kinesis Data Streams vs MSK (Kafka): streaming de datos — Integración / Streaming
- Step Functions: orquestación de workflows — Integración / Orquestación
- ElastiCache: Redis vs Memcached y patrones de caching — Bases de datos / Performance
- S3: consistencia, clases de almacenamiento y performance — Almacenamiento
- Multi-AZ vs multi-región: alta disponibilidad real — Arquitectura / Resiliencia
- Disaster Recovery: RTO/RPO y las cuatro estrategias — Arquitectura / Resiliencia
- Well-Architected Framework: los seis pilares aplicados — Arquitectura / Gobernanza
- Control de costos en AWS: de la visibilidad a la optimización — FinOps
Microservicios en AWS — Entrevistas Senior
Sección titulada «Microservicios en AWS — Entrevistas Senior»02-microservicios-en-aws.md · 13 preguntas
- Arquitectura de referencia de microservicios en AWS — Arquitectura
- Service discovery con Cloud Map y alternativas — Networking / Integración
- Service mesh en AWS: App Mesh vs VPC Lattice — Networking / Arquitectura
- API Gateway + Lambda vs contenedores para APIs — Cómputo / Arquitectura
- Colas y DLQs: retries, backoff y poison messages — Integración / Resiliencia
- Exactly-once vs at-least-once en SQS y Kinesis — Integración / Consistencia
- El patrón Saga con Step Functions — Arquitectura / Consistencia
- El patrón Outbox con DynamoDB Streams (y CDC en general) — Arquitectura / Consistencia
- Secrets Manager vs Parameter Store: gestión de secretos y configuración — Seguridad / Configuración
- CI/CD en AWS: blue/green y canary con CodeDeploy — DevOps / Despliegue
- Observabilidad: CloudWatch, X-Ray y ADOT — Observabilidad
- Lambda internals: cold starts, concurrencia y provisioned concurrency — Cómputo / Performance
- Versionado de APIs y contratos entre microservicios — Arquitectura / Integración
Casos y Problemas en AWS — Entrevistas Senior
Sección titulada «Casos y Problemas en AWS — Entrevistas Senior»03-casos-y-problemas.md · 16 preguntas
- Lambda con cold starts inaceptables en una API de pagos
[CASO]— Cómputo / Performance - DynamoDB con throttling por hot partition en un multi-tenant
[CASO]— Bases de datos - La factura de AWS se triplicó este mes: análisis
[CASO]— FinOps - Pods de EKS en CrashLoopBackOff tras un deploy
[CASO]— Contenedores / EKS - Latencia intermitente entre servicios en distintas AZ
[CASO]— Networking / Performance - Mensajes de SQS que “reaparecen” y se procesan varias veces
[CASO]— Integración - La DLQ se está llenando: triage y reproceso
[CASO]— Integración / Operación - RDS PostgreSQL con CPU al 100%: análisis con Performance Insights
[CASO]— Bases de datos - API Gateway devolviendo 429 y 504: throttling y timeouts
[CASO]— Integración / Performance - Caída de una AZ: comportamiento del sistema y diseño de resiliencia
[CASO]— Arquitectura / Resiliencia - Fuga de credenciales IAM: respuesta al incidente
[CASO]— Seguridad - S3 lento en listados masivos y cargas con millones de objetos
[CASO]— Almacenamiento / Performance - Kinesis con shards saturados y consumidores con lag creciente
[CASO]— Streaming / Performance - Migración a AWS: lift-and-shift vs re-architect
[CASO]— Arquitectura / Estrategia - ECS tasks que mueren por memoria (OOM) de forma intermitente
[CASO]— Contenedores / ECS - NAT Gateway con costos disparados: análisis y rediseño
[CASO]— Networking / FinOps
☁️ Azure
Sección titulada «☁️ Azure»Carpeta: cloud/azure/ · 30 preguntas
Azure — Fundamentos y Arquitectura (Perfil Senior Backend/Microservicios)
Sección titulada «Azure — Fundamentos y Arquitectura (Perfil Senior Backend/Microservicios)»01-fundamentos-y-arquitectura.md · 12 preguntas
- ¿Cómo organizas suscripciones, Management Groups y Resource Groups en una organización grande? — Gobernanza y organización
- Diseño de redes: VNets, subnets, NSGs, Private Endpoints y peering — Redes
- Identidad: Entra ID, Service Principals, Managed Identities y RBAC — Identidad y seguridad
- Cómputo: ¿cuándo elegir AKS, Container Apps, App Service o Functions? — Cómputo y arquitectura
- Azure SQL vs Cosmos DB: consistencia, particionado y RUs — Datos
- Mensajería: Service Bus vs Event Grid vs Event Hubs — Mensajería e integración
- API Management: rol en una arquitectura de microservicios — Integración y APIs
- Front Door vs Application Gateway vs Load Balancer vs Traffic Manager — Redes y entrega
- Key Vault: gestión de secretos, claves y certificados — Seguridad
- Almacenamiento: Blob Storage, tiers y ciclo de vida — Datos y almacenamiento
- Multi-región y Disaster Recovery: cómo se diseña — Resiliencia y DR
- Well-Architected Framework aplicado a un diseño en Azure — Arquitectura y buenas prácticas
Azure — Microservicios y Casos Prácticos (Perfil Senior Backend/Microservicios)
Sección titulada «Azure — Microservicios y Casos Prácticos (Perfil Senior Backend/Microservicios)»02-microservicios-y-casos.md · 18 preguntas
- Arquitectura de referencia de microservicios en Azure (AKS + Service Bus + APIM) — Arquitectura de microservicios
- Durable Functions para implementar Sagas — Patrones distribuidos
- Dapr sobre Container Apps: qué aporta a microservicios — Plataformas y runtime
- Observabilidad con Application Insights: distributed tracing y sampling — Observabilidad
- Despliegues blue/green y canary en AKS — Entrega continua
- Idempotencia, outbox y exactly-once práctico en mensajería Azure — Patrones distribuidos
- [CASO] Cosmos DB devuelve 429: RU exhaustion y hot partition
[CASO]— Datos - [CASO] La DLQ de Service Bus crece sin parar
[CASO]— Mensajería - [CASO] App Service con memory leak y reinicios continuos
[CASO]— Cómputo / rendimiento - [CASO] AKS: pods evicted y nodos bajo presión
[CASO]— Kubernetes / operación - [CASO] Latencia alta entre servicios en AKS: DNS, conntrack y kube-proxy
[CASO]— Kubernetes / redes - [CASO] Azure Functions con cold starts y timeouts
[CASO]— Serverless - [CASO] El costo de Cosmos DB y Log Analytics se disparó
[CASO]— FinOps / costos - [CASO] Throttling de Entra ID en la autenticación entre servicios
[CASO]— Identidad - [CASO] Pérdida de mensajes en Event Hubs por mal checkpointing
[CASO]— Streaming - [CASO] Incidente por expiración de secretos/certificados en Key Vault
[CASO]— Seguridad / operación - [CASO] Migración de on-premise a Azure: evaluación y estrategia
[CASO]— Migración / arquitectura - [CASO] Degradación tras un failover de región
[CASO]— Resiliencia / DR
Carpeta: cloud/gcp/ · 31 preguntas
Fundamentos y Arquitectura en GCP — Entrevistas Senior
Sección titulada «Fundamentos y Arquitectura en GCP — Entrevistas Senior»01-fundamentos-y-arquitectura.md · 13 preguntas
- Explica la jerarquía de recursos de GCP (Organización, Folders, Projects) y por qué importa en una empresa grande — Fundamentos / Gobernanza
- IAM en GCP: roles, service accounts y mejores prácticas de mínimo privilegio — Seguridad / IAM
- ¿Qué es Workload Identity Federation y por qué elimina las claves de service account? — Seguridad / IAM
- VPC en GCP: Shared VPC vs VPC Peering vs Private Service Connect — Redes
- GKE vs Cloud Run vs Cloud Functions vs App Engine: ¿cuándo eliges cada uno? — Cómputo / Arquitectura
- GKE Autopilot vs Standard: trade-offs reales en producción — Cómputo / Kubernetes
- Cloud SQL vs Spanner vs Firestore vs Bigtable: criterios de elección, consistencia y particionado — Datos / Bases de datos
- Pub/Sub en profundidad: at-least-once, ordering keys, exactly-once y dead letter queues — Mensajería / Integración
- BigQuery: arquitectura, particionado/clustering y control de costos — Datos / Analítica
- Cloud Load Balancing global: anatomía del External Application Load Balancer — Redes / Tráfico
- Memorystore (Redis) en arquitecturas de microservicios: patrones, límites y alta disponibilidad — Datos / Caching
- Diseño multi-región y Disaster Recovery en GCP: RTO/RPO y qué servicio da qué — Arquitectura / Resiliencia
- Anthos / GKE Enterprise y service mesh: ¿cuándo justifica su complejidad? — Plataforma / Service Mesh
Microservicios en GCP y Casos de Producción — Entrevistas Senior
Sección titulada «Microservicios en GCP y Casos de Producción — Entrevistas Senior»02-microservicios-y-casos.md · 18 preguntas
- Arquitectura de referencia de microservicios en GCP: GKE/Cloud Run + Pub/Sub — Arquitectura de microservicios
- Cloud Run internals: concurrencia por instancia, cold starts y CPU throttling fuera de request — Cómputo / Serverless
- Sagas y patrón Outbox con Pub/Sub: consistencia entre microservicios sin 2PC — Patrones distribuidos
- Observabilidad de microservicios con OpenTelemetry en GCP — Observabilidad
- Despliegues canary con Cloud Deploy: pipeline de entrega progresiva en GCP — CI/CD / Entrega
- Resiliencia entre microservicios: timeouts, retries, circuit breakers y load shedding en GCP — Arquitectura / Resiliencia
- [CASO] El backlog de una suscripción de Pub/Sub crece sin parar y los mensajes se reentregan varias veces
[CASO]— Mensajería / Operación - [CASO] Cloud Run con latencia p99 alta: diagnóstico de cold starts y contención
[CASO]— Serverless / Rendimiento - [CASO] GKE: pods OOMKilled intermitentes y el autoscaler de nodos tarda en absorber picos
[CASO]— Kubernetes / Operación - [CASO] Cloud SQL (Postgres) agota las conexiones:
FATAL: remaining connection slots are reserved[CASO]— Bases de datos / Operación - [CASO] La factura de BigQuery se triplica en un mes: queries sin particionar y dashboards descontrolados
[CASO]— Datos / FinOps - [CASO] Spanner con latencias de escritura degradadas: hotspotting por claves secuenciales
[CASO]— Bases de datos distribuidas - [CASO] Firestore con errores ABORTED y latencia: contención en documentos calientes
[CASO]— Bases de datos NoSQL - [CASO] Se ha filtrado una clave JSON de service account en un repositorio público: respuesta al incidente
[CASO]— Seguridad / Respuesta a incidentes - [CASO] Latencia elevada entre servicios desplegados en regiones distintas
[CASO]— Redes / Rendimiento - [CASO] Errores 429
RESOURCE_EXHAUSTEDen producción: cuotas de GCP alcanzadas[CASO]— Operación / Cuotas - [CASO] Migración de AWS a GCP de una plataforma de microservicios: estrategia y mapeo de servicios
[CASO]— Arquitectura / Migración - [CASO] Incidente: Cloud Run devuelve errores porque alcanzó su límite de instancias
[CASO]— Serverless / Operación
🧩 Microfrontends
Sección titulada «🧩 Microfrontends»Carpeta: microfrontends/ · 30 preguntas
Microfrontends — Fundamentos y Arquitectura
Sección titulada «Microfrontends — Fundamentos y Arquitectura»01-fundamentos-y-arquitectura.md · 18 preguntas
- ¿Qué son los microfrontends y cuándo NO deberías usarlos? — Fundamentos
- Patrones de composición: build-time, server-side, edge-side y client-side — Fundamentos
- Module Federation en webpack 5: ¿cómo funciona y cómo se configura? — Module Federation
shared,singletony la negociación de versiones: ¿cómo evitas dos Reacts en la página? — Module Federation- Remotes dinámicos: cargar microfrontends cuya URL no se conoce en build — Module Federation
- Module Federation 2.0 y Rspack: ¿qué cambia respecto a MF clásico? — Module Federation
- single-spa: arquitectura, ciclo de vida y cuándo elegirlo sobre Module Federation — Frameworks de orquestación
- Import maps nativos y web components como base de microfrontends sin lock-in de bundler — Estándares web
- iframes para microfrontends: ¿cuándo son la respuesta correcta? — Composición
- Routing en una arquitectura shell/container: ¿quién es dueño de la URL? — Arquitectura
- Comunicación entre microfrontends: custom events, pub/sub y por qué minimizarla — Arquitectura
- Diseño de contratos entre equipos: ¿qué es exactamente “el contrato” de un MFE? — Organización y arquitectura
- Design system compartido: versionado de la librería UI entre equipos autónomos — Design system
- Autenticación y sesión compartida entre microfrontends — Seguridad
- Aislamiento de CSS entre microfrontends: shadow DOM, CSS modules, prefijos — Estilos
- Deployment independiente: versionado de remotes, manifests y estrategias de release — Delivery
- Estrategias de testing en microfrontends: E2E cross-MFE y contract testing — Testing
- Performance en microfrontends: duplicación, waterfall de carga y prefetch — Performance
Microfrontends — Casos y Problemas
Sección titulada «Microfrontends — Casos y Problemas»02-casos-y-problemas.md · 12 preguntas
- Dos MFEs cargan versiones incompatibles de React y la app crashea
[CASO]— Module Federation - Un deploy de un remote rompió producción para todos los equipos
[CASO]— Delivery / Gobernanza - El bundle total de la aplicación es gigante por dependencias duplicadas
[CASO]— Performance - Migración incremental de un monolito Angular a microfrontends con React (strangler fig)
[CASO]— Migración / Arquitectura - Los estilos de un MFE pisan a otro en producción
[CASO]— Estilos - Memory leak al montar y desmontar MFEs repetidamente
[CASO]— Runtime / Ciclo de vida - Estado de autenticación desincronizado entre MFEs
[CASO]— Seguridad / Estado - Latencia de carga inicial alta por waterfall de remotes
[CASO]— Performance - Un equipo necesita releases independientes pero el design system introduce breaking changes
[CASO]— Design system / Gobernanza - SSR con microfrontends: Next.js multi-zone y sus límites
[CASO]— SSR / Arquitectura - ¿Monorepo con módulos o microfrontends reales? Análisis organizacional y ley de Conway
[CASO]— Arquitectura / Organización - Observabilidad y error tracking por equipo: ¿de quién es este error en producción?
[CASO]— Observabilidad
🔐 Seguridad y Vulnerabilidades
Sección titulada «🔐 Seguridad y Vulnerabilidades»Carpeta: seguridad-vulnerabilidades/ · 42 preguntas
OWASP Top 10 y Vulnerabilidades Comunes
Sección titulada «OWASP Top 10 y Vulnerabilidades Comunes»01-owasp-y-vulnerabilidades.md · 18 preguntas
- ¿Qué es Broken Access Control (A01) y por qué encabeza el OWASP Top 10? — OWASP Top 10
- ¿Qué son los fallos criptográficos (A02) y cómo se evitan en un backend? — OWASP Top 10
- Explica las inyecciones (SQL, NoSQL, command) y cómo prevenirlas de forma sistemática — OWASP Top 10
- ¿Qué es Insecure Design (A04) y en qué se diferencia de un bug de implementación? — OWASP Top 10
- ¿Qué es Security Misconfiguration (A05) y cómo se gestiona a escala? — OWASP Top 10
- Componentes vulnerables y ataques de supply chain (A06): ¿cómo gestionas el riesgo de terceros? — OWASP Top 10 / Supply chain
- Fallos de identificación y autenticación (A07): errores comunes y diseño robusto de login — OWASP Top 10 / Autenticación
- Fallos de integridad de software y datos (A08): CI/CD, actualizaciones y deserialización — OWASP Top 10 / Integridad
- Logging y monitoring insuficiente (A09): ¿qué registrar, qué no, y cómo detectar ataques? — OWASP Top 10 / Detección
- Server-Side Request Forgery (SSRF, A10): riesgo en la nube y defensas — OWASP Top 10 / SSRF
- XSS y Content Security Policy: modelo de amenaza y defensa en capas — Web / XSS
- CSRF y SameSite: ¿sigue siendo relevante y cómo se defiende hoy? — Web / CSRF
- Deserialización insegura en Java y Node: ¿por qué es tan peligrosa y cómo se evita? — Deserialización
- JWT: errores comunes (alg none, secretos débiles, audience/issuer, revocación) y uso correcto — Autenticación / JWT
- OAuth2 y OIDC: flujos correctos, PKCE y errores comunes de implementación — Autenticación / OAuth2-OIDC
- Secrets management: ciclo de vida, rotación y detección de secretos en repositorios — Gestión de secretos
- Dependencias vulnerables: SCA, priorización con CVSS/EPSS y respuesta a un CVE crítico
[CASO]— Supply chain / Gestión de vulnerabilidades - Seguridad en contenedores y Kubernetes: imágenes, least privilege, network policies y pod security — Contenedores / Kubernetes
Seguridad en Microservicios
Sección titulada «Seguridad en Microservicios»02-seguridad-en-microservicios.md · 12 preguntas
- ¿Qué significa Zero Trust aplicado a la comunicación entre microservicios? — Arquitectura / Zero Trust
- mTLS y service mesh: ¿qué aportan y qué problemas no resuelven? — Comunicación segura / Service mesh
- Autenticación servicio-a-servicio: client credentials, workload identity y sus trade-offs — Autenticación M2M
- Propagación de la identidad del usuario entre servicios: JWT passthrough vs token exchange — Identidad distribuida
- API Gateway como punto de enforcement: qué centralizar y qué no — Arquitectura / Gateway
- Rate limiting y protección contra abuso en APIs distribuidas — Anti-abuso
- Validación de entrada en cada servicio: ¿por qué no basta validar en el borde? — Defensa en profundidad
- Cifrado en tránsito y en reposo en una plataforma de microservicios — Protección de datos
- Multi-tenancy: estrategias de aislamiento de datos y prevención de fugas entre tenants — Multi-tenancy / Aislamiento
- Auditoría y trazabilidad en sistemas distribuidos: diseño de un audit trail confiable — Auditoría / Observabilidad
- Seguridad en pipelines CI/CD: firmado de artefactos, SLSA y protección de la cadena de despliegue — CI/CD / Supply chain
- Gestión continua de vulnerabilidades en una plataforma de microservicios: escaneo y SLAs de remediación — Gestión de vulnerabilidades
Casos e Incidentes de Seguridad
Sección titulada «Casos e Incidentes de Seguridad»03-casos-e-incidentes.md · 12 preguntas
- Encuentran una API key commiteada en el repositorio
[CASO]— Respuesta a incidentes / Secretos - Anuncian un CVE crítico en una librería usada en 40 servicios
[CASO]— Respuesta a incidentes / Supply chain - Detectas tráfico anómalo que sugiere una cuenta de servicio comprometida
[CASO]— Respuesta a incidentes / Identidad M2M - Un pentest reporta un IDOR en tu API
[CASO]— Respuesta a incidentes / Broken Access Control - Encuentran datos sensibles en los logs
[CASO]— Respuesta a incidentes / Fuga de datos - Un tercero reporta que tu endpoint permite SSRF hacia la metadata del cloud
[CASO]— Respuesta a incidentes / SSRF - Un token JWT robado está siendo usado en producción
[CASO]— Respuesta a incidentes / JWT - Ataque de credential stuffing en el login
[CASO]— Respuesta a incidentes / Autenticación - Una dependencia de npm resulta comprometida (supply chain)
[CASO]— Respuesta a incidentes / Supply chain - Datos de clientes expuestos por un bucket S3 mal configurado
[CASO]— Respuesta a incidentes / Misconfiguration - Certificado TLS expirado en producción
[CASO]— Respuesta a incidentes / Disponibilidad - Diseñar un programa de seguridad para un equipo que no tiene ninguno
[CASO]— Estrategia / Programa de seguridad
🔄 Versionamiento de APIs
Sección titulada «🔄 Versionamiento de APIs»Carpeta: versionamiento-apis/ · 40 preguntas
Versionamiento de APIs
Sección titulada «Versionamiento de APIs»01-versionamiento-de-apis.md · 16 preguntas
- ¿Qué estrategias existen para versionar una API REST y cuáles son los trade-offs reales de cada una? — REST / Diseño de APIs
- ¿Qué es exactamente un breaking change en una API? Da una lista exhaustiva, incluyendo casos no obvios — Compatibilidad / Contratos
- Define backward compatibility y forward compatibility con precisión, desde la perspectiva productor/consumidor — Compatibilidad / Fundamentos
- Explica el patrón tolerant reader y la ley de Postel aplicada a APIs. ¿Cuáles son los riesgos de ser demasiado tolerante? — Compatibilidad / Patrones de integración
- ¿Cómo se versionan mensajes y servicios en gRPC/protobuf? Reglas de field numbers,
reserved, y por qué proto3 hizo todo opcional — gRPC / Protobuf - Versionado de schemas de eventos: modos de compatibilidad del Schema Registry (BACKWARD, FORWARD, FULL, TRANSITIVE) y quién migra primero — Eventos / Kafka / Schema Registry
- [CASO] Un equipo añade un campo a un evento Avro y los consumidores de otro equipo empiezan a fallar en producción. Diagnostica y propone la solución
[CASO]— Eventos / Kafka / Schema Registry - ¿Por qué GraphQL “no se versiona”? ¿Cómo se evoluciona un schema GraphQL y qué riesgos tiene ese modelo? — GraphQL
- ¿Cómo se aplica SemVer a APIs HTTP y a librerías internas? ¿Qué significa cada número y por qué 0.x es peligroso? — SemVer / Gestión de dependencias
- Contract-first con OpenAPI: ¿cómo se usa el contrato para generar código y detectar breaking changes automáticamente en CI? — API-first / OpenAPI / CI-CD
- ¿Cómo se depreca formalmente una versión de API? Headers
DeprecationySunset, comunicación, métricas y brownouts — Ciclo de vida / Deprecación - ¿Qué papel juega un API Gateway en el versionado? Routing por versión y transformaciones para mantener versiones viejas sin duplicar backend — API Gateway / Infraestructura
- Hypermedia/HATEOAS: ¿qué aporta realmente a la evolución de una API y por qué casi nadie lo usa? — REST / Hypermedia
- Idempotencia y versionado de comportamiento: ¿por qué cambiar la semántica de una operación es un breaking change aunque el esquema no cambie? — Semántica de operaciones / Diseño
- Versionado de SDKs cliente: relación entre versión del SDK y versión de la API, generación automática y el modelo de pinning de Stripe — SDKs / Developer Experience
- [CASO] Tras un release, un endpoint empieza a devolver 400 a un subconjunto de clientes que “no cambiaron nada”. El equipo solo endureció la validación de un campo. Analiza el incidente y define cómo prevenirlo
[CASO]— Compatibilidad / Operación
Versionamiento de Servicios y Datos
Sección titulada «Versionamiento de Servicios y Datos»02-versionamiento-de-servicios-y-datos.md · 14 preguntas
- Explica el patrón expand/contract (parallel change) para evolucionar una base de datos sin downtime — Bases de datos
- ¿Cómo estructuras migraciones de esquema con Flyway o Liquibase para despliegues sin downtime? — Bases de datos
- [CASO] Debes hacer backfill de 200M de filas y migrar la lectura a una tabla nueva sin ventana de mantenimiento. ¿Cómo secuencias dual write, backfill y dual read?
[CASO]— Bases de datos - ¿Cómo versionas mensajes en Kafka/RabbitMQ/SQS cuando conviven consumidores con distintas versiones? — Mensajería
- [CASO] Publicas eventos en un topic Kafka consumido por 8 equipos, algunos externos a tu organización, y necesitas un breaking change. ¿Qué haces?
[CASO]— Mensajería - ¿Por qué un rolling deployment exige compatibilidad N/N-1 y qué superficies de contrato afecta? — Despliegue
- [CASO] Vas a hacer un despliegue blue/green (y luego canary) de un servicio que incluye un cambio de esquema. ¿Cómo lo secuencias y qué NO se duplica?
[CASO]— Despliegue - ¿Cuándo usarías feature flags en lugar de (o además de) versionar, y qué deuda generan? — Estrategia de release
- ¿Cómo funcionan los consumer-driven contracts con Pact en CI y qué detectan que los tests E2E no? — Testing de contratos
- ¿Cómo versionas imágenes de contenedor y artefactos para que los despliegues sean reproducibles? — Artefactos y build
- Monorepo vs multirepo: ¿cómo cambia el versionado de servicios y librerías internas en cada modelo? — Organización de código
- [CASO] Tu plataforma interna debe retirar una API usada por 15 equipos. “Que todos migren el mismo sprint” ha fracasado dos veces. Diseña el proceso de coordinación del breaking change
[CASO]— Organización y procesos - ¿Cómo versionas configuración e infraestructura (Terraform, config de aplicación) y por qué el pinning importa? — Infraestructura y configuración
- En event sourcing los eventos almacenados son inmutables y viven para siempre. ¿Cómo evolucionas sus esquemas? — Event sourcing
Casos y Problemas de Versionamiento
Sección titulada «Casos y Problemas de Versionamiento»03-casos-y-problemas.md · 10 preguntas
- Renombrar un campo usado por 15 consumidores (expand/contract end-to-end)
[CASO]— Evolución de contratos - Un equipo rompió a 3 servicios en producción con un breaking change sin avisar
[CASO]— Gestión de incidentes y prevención - Migrar una columna VARCHAR a JSONB en una tabla de 500M filas sin downtime
[CASO]— Migraciones de esquema de BD - Deprecar /v1 con clientes móviles antiguos que no actualizan
[CASO]— Deprecación y ciclo de vida - Evolucionar un evento de Kafka con 8 consumidores en distintos equipos
[CASO]— Evolución de eventos y esquemas - Rollback de un deploy cuyo nuevo esquema ya escribió datos
[CASO]— Despliegue y compatibilidad de datos - Unificar dos APIs duplicadas que divergieron entre equipos
[CASO]— Consolidación y arquitectura - Un cliente externo se integró a un campo interno no documentado (ley de Hyrum)
[CASO]— Contratos implícitos - Versionar una librería interna compartida por 30 servicios
[CASO]— Dependencias y librerías compartidas - Diseñar el proceso de governance de APIs para 50 equipos
[CASO]— Governance y plataforma
🧠 Casos de Estudio Transversales
Sección titulada «🧠 Casos de Estudio Transversales»Carpeta: casos-de-estudio/ · 20 preguntas
Casos de estudio: System Design (nivel senior)
Sección titulada «Casos de estudio: System Design (nivel senior)»01-system-design.md · 10 preguntas
- Sistema de pagos idempotente multi-proveedor
[CASO]— Pagos / Consistencia - Rate limiter distribuido
[CASO]— Infraestructura / Tráfico - Sistema de notificaciones (push/email/SMS) a 50M usuarios
[CASO]— Mensajería / Fan-out - Carrito de compras con inventario en tiempo real (overselling)
[CASO]— E-commerce / Concurrencia - Plataforma de pedidos tipo delivery con tracking en tiempo real
[CASO]— Marketplace / Tiempo real - Autenticación y autorización para 100 microservicios
[CASO]— Seguridad / Plataforma - Feed de actividad
[CASO]— Social / Lectura intensiva - Sistema de reservas con alta concurrencia (asientos/citas)
[CASO]— Reservas / Concurrencia - API pública con tiers de rate limiting y facturación por uso
[CASO]— Plataforma / Monetización - Migración de un monolito de e-commerce a microservicios (strangler fig)
[CASO]— Arquitectura evolutiva / Migración
Casos de estudio: Incidentes en producción (nivel senior)
Sección titulada «Casos de estudio: Incidentes en producción (nivel senior)»02-incidentes-en-produccion.md · 10 preguntas
- El checkout cae cada día a las 12:00 exactas
[CASO]— Diagnóstico sistemático - La latencia p99 se degrada tras cada deploy, pero p50 está bien
[CASO]— Performance / Deploys - Un retry storm tumbó la plataforma completa
[CASO]— Resiliencia / Fallos en cascada - Datos inconsistentes entre el servicio de pedidos y el de inventario (saga rota)
[CASO]— Consistencia distribuida - La caché se cayó y la base de datos no aguantó
[CASO]— Resiliencia / Caching - El canary pasó todas las métricas pero rompió a un cliente enterprise
[CASO]— Deploys / Observabilidad segmentada - Duplicación de cobros a clientes
[CASO]— Pagos / Idempotencia - Funciona en staging pero degrada en producción
[CASO]— Entornos / Metodología - Una dependencia externa (pasarela de pagos) está lenta y arrastra todo el sistema
[CASO]— Resiliencia / Aislamiento de fallos - Pérdida de mensajes entre dos servicios detectada por conciliación
[CASO]— Mensajería / Auditoría de datos