Saltar a contenido

Ejercicios

Todos los ejercicios de la web (224) agrupados por nivel. Pulsa uno para ir a él; la solución está plegada debajo del enunciado. Esta página se genera automáticamente en cada build.

Sección Página Ejercicio
Fundamentos Algoritmos y estructuras de datos Calcular complejidades
Fundamentos Algoritmos y estructuras de datos Elegir la estructura
Fundamentos Bases de datos Elegir el índice
Fundamentos Bases de datos Informe incoherente
Fundamentos Concurrencia y sistemas operativos Encontrar la carrera
Fundamentos Concurrencia y sistemas operativos Ley de Little
Fundamentos Compilación, ejecución y servidores ¿Qué necesita el contenedor?
Fundamentos Redes Calcular rangos CIDR
Fundamentos Redes Leer los tiempos de curl
Diseño y código Patrones de diseño Identificar el patrón
Diseño y código Patrones de diseño Builder para un objeto de prueba
Diseño y código Principios SOLID Identificar el principio incumplido
Diseño y código Principios SOLID Separar responsabilidades
Diseño y código Testing Mejorar un test
Diseño y código Testing Elegir el doble de prueba
Java y Spring Java moderno (8 → 25) De bucle a stream
Java y Spring Java moderno (8 → 25) Record con validación
Java y Spring La JVM por dentro Dimensionar la memoria de un Pod
Java y Spring La JVM por dentro Interpretar un error
Java y Spring Spring y Spring Boot Encontrar el fallo
Java y Spring Spring y Spring Boot Propiedades tipadas
Arquitectura ADRs y trade-offs ¿Merece un ADR?
Arquitectura Diseño de APIs Corregir el diseño REST
Arquitectura Diseño de APIs Clasificar cambios de API
Arquitectura Domain-Driven Design Clasificar subdominios
Arquitectura Domain-Driven Design Entidad o Value Object
Arquitectura Estilos de arquitectura Elegir estilo
Arquitectura El rol del arquitecto Reversible o irreversible
System Design Caso: Autocompletado de búsqueda Implementar el trie
System Design Caso: Sistema de chat Dimensionar servidores de chat
System Design Fundamentos de System Design Hacer un servicio stateless
System Design Fundamentos de System Design Elegir estrategia de caché
System Design Caso: Almacén clave-valor distribuido Configurar el quórum
System Design Caso: News feed Memoria de la caché de feeds
System Design Caso: Sistema de notificaciones Reintentos con jitter
System Design Caso: Sistema de pagos ¿Por qué no double?
System Design Caso: Servicio de proximidad Elegir la precisión
System Design Caso resuelto: Rate limiter Calcular el comportamiento
System Design Caso resuelto: Rate limiter Test sin esperas
System Design Caso: Acortador de URLs Longitud del código
System Design Caso: Plataforma de vídeo (tipo YouTube) ¿Por qué no subir a través del API?
System Design Caso: Web crawler Normalizar URLs
Datos Apache Kafka Elegir la clave
Datos Apache Kafka Calcular el lag
Datos Plataformas de datos Hechos y dimensiones
Datos Procesamiento en streaming Elegir la ventana
Plataforma CI/CD Calcular las métricas DORA
Plataforma CI/CD Acelerar un pipeline
Plataforma Edge computing Calcular el tráfico de una actualización
Plataforma GitOps Ordenar la instalación
Plataforma GitOps Rollback
Plataforma IaC y Config as Code Leer un plan
Plataforma IaC y Config as Code Organizar el estado
Plataforma Kubernetes Diagnosticar un Pod
Plataforma Kubernetes Calcular el rolling update
Plataforma Observabilidad ¿Métrica, log o traza?
Plataforma Observabilidad Presupuesto de errores
Plataforma Seguridad Validar un JWT
Plataforma Seguridad Encontrar la vulnerabilidad
Inteligencia Artificial Agentes, MCP y Skills ¿Workflow o agente?
Inteligencia Artificial Construir aplicaciones con LLMs Mejorar un prompt
Inteligencia Artificial Ecosistema de IA Abierto o cerrado
Inteligencia Artificial IA en el edge ¿Edge o nube?
Inteligencia Artificial Harnesses y agentes de código ¿Dónde va cada cosa?
Inteligencia Artificial Jev y los modelos "System One" Elegir el tipo de pregunta
Inteligencia Artificial Cómo funcionan los LLMs Calcular el coste de una funcionalidad
Inteligencia Artificial MLOps, ajuste fino y servir modelos Memoria para servir un modelo
Inteligencia Artificial Seguridad, riesgos y regulación de la IA Identificar la trifecta
Inteligencia Artificial Tipos de IA y aprendizaje automático ¿Reglas, ML o LLM?
Cloud Amazon Web Services (AWS) Política IAM de mínimo privilegio
Cloud Microsoft Azure Asignar permisos
Cloud Certificaciones Prerrequisitos y validez
Cloud Certificaciones ¿Sigue vigente?
Cloud Costes y FinOps Reserva o bajo demanda
Cloud Equivalencias entre nubes Traducir una arquitectura
Cloud Google Cloud (GCP) Jerarquía de recursos
Cloud Cloud Responsabilidad compartida
Biblioteca Arquitectura Limpia (Clean Architecture) Encontrar la violación
Biblioteca Código Limpio (Clean Code) Renombrar
Biblioteca Código Limpio (Clean Code) Separar comando y consulta
Biblioteca Cracking the Coding Interview Aplicar BUD
Biblioteca System Design Interview Estimación de telemetría
Sección Página Ejercicio
Fundamentos Algoritmos y estructuras de datos Paréntesis equilibrados
Fundamentos Algoritmos y estructuras de datos Dependencias cíclicas en Kustomizations
Fundamentos Algoritmos y estructuras de datos Top 3 sitios con más errores
Fundamentos Bases de datos Write skew
Fundamentos Bases de datos Renombrar una columna sin parada
Fundamentos Concurrencia y sistemas operativos Deadlock en transferencias
Fundamentos Concurrencia y sistemas operativos Timeout sobre varias llamadas
Fundamentos Compilación, ejecución y servidores Arranques lentos en Kubernetes
Fundamentos Compilación, ejecución y servidores WSGI frente a ASGI
Fundamentos Redes Diagnosticar un certificado
Fundamentos Redes DNS lento en Kubernetes
Diseño y código Patrones de diseño Decorator de reintentos con backoff
Diseño y código Patrones de diseño Observer asíncrono
Diseño y código Principios SOLID Eliminar switches con OCP
Diseño y código Principios SOLID Segregar una interfaz
Diseño y código Testing TDD de una función
Diseño y código Testing Test de integración con Testcontainers
Java y Spring Java moderno (8 → 25) Modelar con tipos sellados
Java y Spring La JVM por dentro Microbenchmark correcto
Java y Spring La JVM por dentro Fuga de memoria
Java y Spring Spring y Spring Boot Eliminar un N+1
Java y Spring Spring y Spring Boot Probes de Kubernetes
Arquitectura ADRs y trade-offs Escribir un ADR
Arquitectura Diseño de APIs Implementar idempotencia
Arquitectura Diseño de APIs Paginación por cursor
Arquitectura Domain-Driven Design Límites de un agregado
Arquitectura Estilos de arquitectura Diseñar una saga
Arquitectura Estilos de arquitectura Evento o comando
Arquitectura El rol del arquitecto Escribir fitness functions
Arquitectura El rol del arquitecto Comunicar una decisión
System Design Caso: Autocompletado de búsqueda Memoria del trie
System Design Caso: Sistema de chat Sincronizar un dispositivo
System Design Fundamentos de System Design Circuit breaker
System Design Fundamentos de System Design Replication lag
System Design Caso: Almacén clave-valor distribuido Relojes vectoriales
System Design Caso: News feed Umbral de celebridad
System Design Caso: Sistema de notificaciones Deduplicar alertas
System Design Caso: Sistema de pagos Timeout al cobrar
System Design Caso: Sistema de pagos Asiento de un reembolso
System Design Caso: Servicio de proximidad Distancia de haversine
System Design Caso resuelto: Rate limiter Elegir algoritmo
System Design Caso: Acortador de URLs Codificar y decodificar
System Design Caso: Acortador de URLs Generador por rangos
System Design Caso: Plataforma de vídeo (tipo YouTube) Segmentos y cambio de calidad
System Design Caso: Web crawler Dimensionar el Bloom filter
Datos Apache Kafka Consumidor idempotente
Datos Apache Kafka Configuración durable
Datos Plataformas de datos Diseñar el pipeline de telemetría
Datos Plataformas de datos Dimensión que cambia
Datos Procesamiento en streaming Sitios que se reconectan tarde
Datos Procesamiento en streaming Outbox con Debezium
Plataforma CI/CD Elegir estrategia de despliegue
Plataforma Edge computing Diseñar los anillos
Plataforma GitOps Overlay para la flota edge
Plataforma GitOps Multi-tenancy
Plataforma IaC y Config as Code Política en CI
Plataforma Kubernetes Alta disponibilidad real
Plataforma Kubernetes Probes correctas
Plataforma Observabilidad Escribir PromQL
Plataforma Observabilidad Alerta mal diseñada
Plataforma Seguridad Endurecer un Deployment
Inteligencia Artificial Agentes, MCP y Skills Límites de un agente
Inteligencia Artificial Agentes, MCP y Skills Escribir una skill
Inteligencia Artificial Construir aplicaciones con LLMs Diseñar las herramientas de un asistente
Inteligencia Artificial Construir aplicaciones con LLMs Construir una evaluación
Inteligencia Artificial Ecosistema de IA Elegir la pila de un proyecto Java
Inteligencia Artificial IA en el edge Distribuir un modelo con GitOps
Inteligencia Artificial Harnesses y agentes de código Hook de protección
Inteligencia Artificial Jev y los modelos "System One" Diseñar la cascada
Inteligencia Artificial Cómo funcionan los LLMs Diseñar para las limitaciones
Inteligencia Artificial Cómo funcionan los LLMs Elegir modelo y esfuerzo
Inteligencia Artificial MLOps, ajuste fino y servir modelos ¿Ajuste fino?
Inteligencia Artificial Seguridad, riesgos y regulación de la IA Clasificar según el AI Act
Inteligencia Artificial Tipos de IA y aprendizaje automático Interpretar métricas
Cloud Amazon Web Services (AWS) Reducir el coste del NAT Gateway
Cloud Microsoft Azure Elegir mensajería
Cloud Certificaciones Elegir qué certificar
Cloud Costes y FinOps Comparar la misma plataforma en tres nubes
Cloud Costes y FinOps Etiquetado y asignación
Cloud Equivalencias entre nubes Diferencias que importan
Cloud Google Cloud (GCP) Coste de BigQuery
Cloud Cloud Elegir proveedor
Biblioteca Arquitectura Limpia (Clean Architecture) Diseñar un caso de uso con puertos
Biblioteca Arquitectura Limpia (Clean Architecture) Romper un ciclo
Biblioteca Código Limpio (Clean Code) Refactorizar una función
Biblioteca Cracking the Coding Interview Proceso completo en un problema
Biblioteca System Design Interview Estimar QPS y almacenamiento
Biblioteca System Design Interview Aplicar el marco de 4 pasos
Sección Página Ejercicio
Fundamentos Algoritmos y estructuras de datos LRU cache en O(1)
Fundamentos Bases de datos Cola de trabajos en PostgreSQL
Fundamentos Concurrencia y sistemas operativos Throttling de CPU
Fundamentos Compilación, ejecución y servidores Elegir el modelo de ejecución
Fundamentos Redes Plan de direcciones de una flota edge
Diseño y código Patrones de diseño Máquina de estados de un rollout
Diseño y código Principios SOLID Aplicar DIP en un proyecto real
Diseño y código Testing Estrategia de tests de una plataforma GitOps
Java y Spring Java moderno (8 → 25) Llamadas en paralelo con hilos virtuales
Java y Spring La JVM por dentro Arranque lento en Kubernetes
Java y Spring Spring y Spring Boot Llamada externa dentro de una transacción
Arquitectura ADRs y trade-offs Matriz de decisión
Arquitectura Diseño de APIs REST o gRPC para el enlace edge-hub
Arquitectura Domain-Driven Design Diseñar un context map
Arquitectura Estilos de arquitectura Estrangular un monolito
Arquitectura El rol del arquitecto Gestionar un desacuerdo técnico
System Design Caso: Autocompletado de búsqueda Autocompletado para la consola de la flota
System Design Caso: Sistema de chat Chat de operadores de la flota
System Design Fundamentos de System Design Consistent hashing en código
System Design Caso: Almacén clave-valor distribuido Merkle tree
System Design Caso: News feed Feed de actividad de la flota
System Design Caso: Sistema de notificaciones Garantía de envío
System Design Caso: Sistema de pagos Webhooks desordenados
System Design Caso: Servicio de proximidad Técnico más cercano a un sitio caído
System Design Caso resuelto: Rate limiter Contador deslizante en Redis
System Design Caso: Acortador de URLs Evitar códigos enumerables
System Design Caso: Plataforma de vídeo (tipo YouTube) Distribuir vídeos de formación a la flota edge
System Design Caso: Web crawler Educación con 10 000 workers
Datos Apache Kafka Topic compactado como estado de la flota
Datos Plataformas de datos Contrato de datos
Datos Procesamiento en streaming Kafka Streams o Flink
Plataforma CI/CD Cadena de suministro verificable
Plataforma Edge computing Sitio comprometido
Plataforma GitOps Promoción por anillos en la flota
Plataforma IaC y Config as Code IaC para una flota edge
Plataforma Kubernetes Pods pendientes
Plataforma Observabilidad Instrumentar un flujo
Plataforma Seguridad Rotación de secretos sin parada
Inteligencia Artificial Agentes, MCP y Skills Servidor MCP seguro
Inteligencia Artificial Construir aplicaciones con LLMs RAG sobre la documentación de la plataforma
Inteligencia Artificial Harnesses y agentes de código Adoptar agentes en un equipo
Inteligencia Artificial Jev y los modelos "System One" Evaluar la calibración
Inteligencia Artificial MLOps, ajuste fino y servir modelos Detectar deriva en producción
Inteligencia Artificial Seguridad, riesgos y regulación de la IA Red teaming de un asistente con RAG
Inteligencia Artificial Tipos de IA y aprendizaje automático Detectar data leakage
Cloud Amazon Web Services (AWS) Organización multi-cuenta
Cloud Microsoft Azure Flota con Azure Arc
Cloud Costes y FinOps Coste unitario de la flota
Cloud Google Cloud (GCP) CI sin claves hacia GCP
Cloud Cloud Estrategia multicloud
Biblioteca Arquitectura Limpia (Clean Architecture) Hacer cumplir la arquitectura
Biblioteca Código Limpio (Clean Code) Limpiar una clase real
Biblioteca Cracking the Coding Interview Explicar una solución
Biblioteca System Design Interview Cierre de una sesión de diseño