Backend y servicios

    1. Backend y servicios
      1. Frameworks web y diseño de APIs
        1. Tipos y arquitecturas web
          1. REST / RESTful
          2. HATEOAS
          3. GraphQL
          4. RPC binario (gRPC / Thrift / Avro)
          5. WebSockets
          6. Long Polling
          7. Server-Sent Events (SSE)
          8. WebTransport
          9. WebRTC orientado a data channels
          10. SOA (Service-Oriented Architecture)
          11. SOAP / WSDL
          12. API Gateway y BFF (Backend for Frontend)
        2. Comunicación bidireccional y tiempo real
          1. Canales WebSocket persistentes
          2. Server-Sent Events para notificaciones unidireccionales
          3. Long polling compatible con entornos legacy
          4. Streaming gRPC bidireccional
          5. Difusión en tiempo real mediante pub/sub
          6. Canales / rooms compartidos entre clientes
          7. Estado de presencia y “usuario en línea”
          8. Sincronización colaborativa en vivo (co-edición)
          9. Entrega parcial y progresiva de resultados largos
          10. Priorización de mensajes críticos vs mensajes secundarios
        3. Middleware, interceptores y filtros
          1. Cadena de middlewares componibles
          2. Interceptores de request / response
          3. Validación previa al handler
          4. Transformación y normalización de payload
          5. Logging estructurado y trazas
          6. Métricas de latencia y tiempos de respuesta
          7. Autenticación centralizada
          8. Control de acceso a nivel de ruta
          9. Rate limiting y cuotas por endpoint
          10. Gestión de CORS y headers de seguridad
        4. Validación y serialización de datos de entrada y salida
          1. Esquemas de validación consistentes
          2. Sanitización y normalización de entrada
          3. Tipado fuerte en DTOs / contratos formales
          4. Serialización estructurada (JSON / XML / YAML)
          5. Serialización binaria eficiente
          6. Normalización de fechas, números y zonas horarias
          7. Validación de tamaños, límites y formatos
          8. Respuestas de error estandarizadas
          9. Versionado de esquemas con retrocompatibilidad
          10. Evolución del contrato sin romper clientes existentes
        5. Autenticación y autorización a nivel de servicio
          1. Autenticación básica y API Keys
          2. Tokens firmados (JWT)
          3. OAuth2 / OpenID Connect
          4. SSO corporativo y federación de identidad (SAML / IdP)
          5. Gestión de identidades delegadas y externas (proveedores de identidad)
          6. Passkeys / WebAuthn
          7. MFA (SMS, TOTP/HOTP, push, biométrico, hardware tokens)
          8. Sesiones seguras y cookies con protección
          9. Rotación, expiración y revocación de credenciales
          10. Identidad de servicio a servicio (workload identity / service accounts)
        6. Autorización basada en roles y atributos
          1. RBAC (Role-Based Access Control)
          2. ABAC (Attribute-Based Access Control)
          3. PBAC / autorización basada en políticas centralizadas
          4. Scopes y claims en tokens
          5. Lógicas de permisos jerárquicos y delegados
          6. Controles por acción, recurso y contexto
          7. Evaluación de políticas en runtime
          8. Auditoría de decisiones de autorización
          9. Separación de funciones (SoD)
          10. Acceso condicional basado en riesgo / postura del cliente
        7. Limitación de tasa, paginación y control de abuso
          1. Rate limiting global
          2. Rate limiting por IP / usuario / API key
          3. Cotas (quotas) diarias, horarias o por plan
          4. Throttling y backpressure
          5. Paginación offset/limit
          6. Paginación basada en cursor / “a partir de aquí”
          7. Detección de patrones abusivos (scraping / bursts anómalos)
          8. Bloqueo temporal selectivo / cooldown
          9. Detección de automatización/bots y mitigación
          10. Honeypots / endpoints señuelo para identificar abuso
        8. Versionado de APIs
          1. Versionado explícito en la ruta (v1, v2…)
          2. Versionado mediante headers de negociación
          3. Versionado semántico de contrato
          4. Compatibilidad retroactiva (backward compatibility)
          5. Compatibilidad hacia adelante (forward compatibility)
          6. Deprecación gradual y retirada planificada
          7. Coexistencia de versiones en paralelo
          8. Canales beta / vista previa controlada
          9. Pruebas automáticas de compatibilidad de esquema
          10. Gestión del ciclo de vida público / interno / legacy
        9. Especificaciones y documentación de APIs
          1. OpenAPI / Swagger
          2. IDL / protobuf para gRPC
          3. Esquemas GraphQL documentados
          4. Documentación generada automáticamente
          5. Ejemplos de requests / responses y códigos de error
          6. Definición formal de contratos de error
          7. SDKs y clientes generados desde el contrato
          8. Testing de contrato (consumer-driven)
          9. Mock servers a partir de la especificación
          10. Validación de contrato en CI/CD
      2. Bases de datos y persistencia
        1. Lenguajes de consulta estructurados
          1. SQL declarativo
          2. DDL / DML / DQL / DCL
          3. Joins y combinaciones complejas
          4. Subconsultas y CTEs
          5. Agregaciones y ventanas analíticas
          6. Planificación y optimización por el planner
          7. Index hints y tuning de consultas
          8. Planes de ejecución y análisis de costos
          9. Sentencias preparadas y binding de parámetros
          10. Prevención de inyección y consultas seguras
        2. Modelado relacional
          1. Definición de tablas y claves primarias
          2. Claves foráneas y restricciones referenciales
          3. Relaciones 1:1, 1:N, N:M
          4. Integridad referencial estricta
          5. Restricciones CHECK y dominios de valor
          6. Modelos altamente normalizados
          7. Desnormalización estratégica para lectura rápida
          8. Tablas pivote y tablas puente
          9. Trazabilidad de cambios (audit columns, timestamps)
          10. Versionado de registros (soft history / temporal tables)
        3. Normalización y desnormalización
          1. Formas normales (1NF, 2NF, 3NF, BCNF)
          2. Eliminación de redundancia no controlada
          3. Balance entre consistencia y performance
          4. Campos derivados precalculados
          5. Tablas resumen / agregadas materializadas
          6. Tablas anchas optimizadas para lectura
          7. Tablas altamente factorizadas optimizadas para escritura
          8. Estrategias de duplicación de datos por servicio
          9. Mantenimiento de sincronización entre copias duplicadas
          10. Impacto en caché y latencia de lectura
        4. Transacciones, atomicidad y aislamiento
          1. Propiedades ACID
          2. Commit y rollback
          3. Niveles de aislamiento configurables
          4. Lecturas sucias, no repetibles y phantom reads
          5. Bloqueos pesimistas y bloqueos por fila
          6. MVCC (control multiversión)
          7. Detección y resolución de deadlocks
          8. Timeouts de transacción y reintentos
          9. Transacciones distribuidas / 2PC
          10. Idempotencia de operaciones críticas
        5. Índices, vistas y disparadores
          1. Índices B-Tree
          2. Índices hash y GIN/GiST
          3. Índices compuestos y parciales
          4. Índices funcionales / expresiones indexadas
          5. Vistas lógicas
          6. Vistas materializadas y refresco incremental
          7. Disparadores BEFORE / AFTER
          8. Auditoría, logging y enforcement en disparadores
          9. Índices específicos para búsquedas de texto
          10. Mantenimiento y health check de índices
        6. Procedimientos almacenados y lógica en base de datos
          1. Funciones definidas por usuario (UDF)
          2. Procedimientos con estado transaccional
          3. Validación de reglas de negocio en capa SQL
          4. Enriquecimiento de datos al insertar / actualizar
          5. Implementación de colas simples dentro de la DB
          6. Control de acceso granular en funciones
          7. Encapsulación de lógica crítica centralizada
          8. Versionado y despliegue de cambios en SP/UDF
          9. Optimización y caching de resultados de funciones
          10. Gobernanza y revisión de seguridad de lógica en DB
        7. Mapeo objeto-relacional y capas de acceso a datos
          1. ORMs
          2. Repositorios / DAOs
          3. Query builders tipados
          4. Problema N+1 y técnicas de batching
          5. Caché de primer nivel (por sesión)
          6. Caché de segundo nivel (compartida)
          7. Unidad de trabajo (Unit of Work)
          8. Mapeo de herencia y políformas complejas
          9. Migración gradual fuera del ORM cuando es cuello de botella
          10. Pruebas de acceso a datos con fixtures realistas
        8. Migraciones estructuradas y controladas de esquema
          1. Migraciones versionadas incrementales
          2. Migraciones forward / backward seguras
          3. Aplicación transaccional de migraciones
          4. Migraciones online sin downtime
          5. Renombrar, dividir y fusionar tablas grandes
          6. Auditoría y registro de cambios de esquema
          7. Semillas / datos iniciales consistentes
          8. Feature flags ligados a cambios de esquema
          9. Validación de migraciones en staging
          10. Rollback automatizado ante fallo en producción
        9. Pools de conexiones y eficiencia de acceso concurrente
          1. Pooling y reutilización de conexiones
          2. Límite máximo de conexiones simultáneas
          3. Reuso vs reconexión agresiva
          4. Timeouts y keepalive
          5. Balanceo hacia réplicas de solo lectura
          6. Encolamiento de consultas en saturación
          7. Priorización de consultas críticas
          8. Circuit breakers hacia la base de datos
          9. Pooling por servicio / tenant
          10. Telemetría de uso del pool y tuning dinámico
        10. Almacenamiento no relacional
          1. Clave-valor
          2. Documentos
          3. Columnar ancho / wide-column
          4. Grafos
          5. Series de tiempo (time-series)
          6. TTL por registro y expiración automática
          7. Consistencia eventual configurable
          8. Sharding horizontal nativo
          9. Índices secundarios y consultas ad-hoc
          10. Políticas de replicación específicas por colección / bucket
        11. Motores de búsqueda y consulta de texto libre
          1. Indexación full-text
          2. Ranking de relevancia configurable
          3. Tokenización, stemming y normalización lingüística
          4. Búsqueda difusa y tolerancia a errores tipográficos
          5. Facetas, filtros y agregaciones por campo
          6. Índices invertidos distribuidos
          7. Búsqueda distribuida a escala horizontal
          8. Enriquecimiento / anotación de documentos indexados
          9. Destacado de coincidencias (highlighting)
          10. Control de sinónimos y relevancia semántica
        12. Almacenamiento analítico y sistemas orientados a consultas de negocio
          1. Data warehouses columnares
          2. Diferencia OLTP vs OLAP
          3. Cubos analíticos y agregados precomputados
          4. Tablas particionadas por rango temporal
          5. Data lakes y lakehouses
          6. ETL / ELT y pipelines de ingesta
          7. Tablas de hechos y tablas de dimensiones
          8. Catálogo de datos y linaje
          9. Materialización incremental de métricas de negocio
          10. Governance de acceso a datos analíticos
        13. Replicación, particionamiento y alta disponibilidad
          1. Réplicas de solo lectura y escalamiento de lectura
          2. Sharding horizontal (por rango / hash / geografía)
          3. Failover automático de primario
          4. Geo-replicación multi-región
          5. Balanceo de carga entre nodos
          6. Consistencia configurable por operación (quórum)
          7. Recuperación ante caída de nodo / rack / AZ
          8. Promoción controlada de réplicas a primario
          9. Sincronización incremental basada en logs
          10. Monitoreo de salud y latencia entre réplicas
        14. Integridad referencial y consistencia eventual
          1. Integridad fuerte en bases relacionales
          2. Soft deletes y consistencia lógica
          3. Reconciliación asíncrona entre servicios
          4. Reintentos idempotentes en escritura
          5. Eventos de compensación para revertir cambios
          6. Garantías de lectura propia (read-your-writes)
          7. Proyecciones materializadas
          8. Consistencia eventual tolerante a particiones
          9. Conflictos de escritura y resolución semántica
          10. Auditoría y trazabilidad de mutaciones de datos
      3. Integraciones y comunicación entre servicios
        1. Mensajería asíncrona y colas de mensajes
          1. Colas persistentes y durables
          2. Topics y subscripciones múltiples
          3. Métricas de lag y throughput
          4. Garantías de entrega (at-most-once / at-least-once / exactly-once)
          5. Retries diferidos con backoff
          6. Dead-letter queues (DLQ)
          7. Backpressure y control de velocidad de consumo
          8. Ordenamiento por partición / clave
          9. Priorización de mensajes críticos
          10. Aislamiento de colas por servicio / tenant
        2. RPC eficiente y contratos binarios
          1. gRPC y streaming bidireccional
          2. IDL y contratos fuertemente tipados
          3. Serialización binaria compacta (protobuf/avro)
          4. Timeouts y cancelación propagada extremo a extremo
          5. Retries con backoff exponencial y jitter
          6. Propagación de contexto (traza, auth)
          7. mTLS entre servicios
          8. Control de versión del contrato RPC
          9. Compatibilidad backward/forward en campos opcionales
          10. Validación automática del contrato en CI
        3. Webhooks, notificaciones y callbacks externos
          1. Entrega HTTP saliente firmada
          2. Reintentos con política exponencial
          3. Detección y supresión de duplicados
          4. Auditoría y tracking de entregas
          5. Suspensión temporal frente a receptor caído
          6. Replay manual / reenvío seguro
          7. Seguridad de endpoints receptores (secret, IP allowlist)
          8. Idempotencia en callbacks
          9. Versionado del payload externo
          10. Contratos legales / SLA con terceros
        4. Integración con servicios de terceros
          1. Consumo de APIs externas
          2. OAuth2 / tokens delegados
          3. Limitación de tasa impuesta por el proveedor
          4. Uso de entornos sandbox / staging del tercero
          5. Versionado y migración de API del proveedor
          6. Caching defensivo de respuestas externas
          7. Circuit breakers ante degradación externa
          8. Observabilidad específica por integración externa
          9. Cumplimiento de términos de uso / auditorías
          10. Estrategias de fallback si el tercero falla
        5. Estrategias de reintento y colas de mensajes muertos
          1. Retries con backoff progresivo
          2. Retries con jitter aleatorio
          3. Límite máximo de reintentos por mensaje
          4. DLQ (Dead-letter queue) para mensajes problemáticos
          5. Reprocesamiento manual y herramientas operativas
          6. Correlación de mensajes e identificadores únicos
          7. Idempotencia y deduplicación en reintentos
          8. Aislamiento de tráfico tóxico
          9. Alertas automáticas al acumularse mensajes fallidos
          10. Priorización de reprocesamiento según criticidad
        6. Serialización binaria y formatos compactos
          1. Protocol Buffers
          2. Avro
          3. FlatBuffers / Cap’n Proto
          4. Campos opcionales y repetidos
          5. Evolución de esquema sin romper compatibilidad
          6. Compresión y fragmentación de mensajes
          7. Versionado explícito del mensaje
          8. Validación de esquema en runtime
          9. Validación de esquema en pipeline CI/CD
          10. Compatibilidad multiplataforma / multilenguaje
        7. Arquitecturas basadas en eventos y event sourcing
          1. Eventos inmutables como fuente de verdad
          2. Log append-only distribuido
          3. Proyecciones materializadas derivadas del log
          4. Reconstrucción de estado a partir de eventos
          5. Reproducción de eventos históricos (replay)
          6. Versionamiento de tipos de evento
          7. Consistencia eventual mediante propagación de eventos
          8. Integración con CQRS
          9. Orden total vs orden por partición
          10. Garantías de entrega y deduplicación de eventos
        8. Modelos de publicación/suscripción
          1. Pub/Sub desacoplado productor-consumidor
          2. Filtros por tópico / etiqueta / patrón
          3. Broadcast selectivo
          4. Subscripciones durables con retención histórica
          5. Fan-out masivo a múltiples consumidores
          6. Balanceo de carga entre consumidores de un mismo tópico
          7. Multiplexación de eventos en canales lógicos
          8. Reintentos y confirmación explícita de consumo
          9. Aislamiento por prioridad o criticidad
          10. Versionado de payloads en tópicos compartidos
        9. Streaming de datos en tiempo real y captura de cambios
          1. Streaming continuo de registros
          2. Procesamiento de flujo (stream processing)
          3. Ventanas temporales y agregaciones en vivo
          4. CDC (Change Data Capture) desde la base de datos
          5. Replicación basada en logs de transacciones
          6. Suscripciones reactivas a cambios de estado
          7. Alertas en near real-time
          8. Priorización de eventos críticos
          9. Backpressure en pipelines de streaming
          10. Persistencia y replay de streams históricos
      4. Arquitecturas distribuidas y microservicios
        1. Patrones de microservicios
          1. BFF (Backend For Frontend)
          2. API Gateway centralizado
          3. Servicios alineados a dominios de negocio
          4. Base de datos independiente por servicio
          5. Servicios dirigidos por eventos
          6. CQRS (separación lectura / escritura)
          7. Sagas distribuidas para consistencia eventual
          8. Capa anti-corrupción entre dominios
          9. Funciones serverless como piezas de dominio
          10. Servicios stateless vs servicios stateful especializados
        2. Descubrimiento de servicios y enrutamiento
          1. Registro dinámico de instancias activas
          2. Health checks y heartbeats
          3. Descubrimiento basado en DNS
          4. Descubrimiento basado en sidecar / service mesh
          5. Balanceo interno L4/L7 según políticas
          6. Enrutamiento basado en versión / etiqueta
          7. Rutas canario / blue-green controladas
          8. Circuit breaking y failover automático
          9. Traffic shadowing / mirroring
          10. Segmentación de tráfico por tenant / cliente
        3. Versionamiento y despliegue incremental
          1. Versiones paralelas del mismo servicio
          2. Despliegues canario
          3. Blue-green deployment
          4. Feature flags y toggles de capacidad
          5. Rollback rápido y seguro
          6. Compatibilidad backward en contratos
          7. Shadow traffic para validar nuevas versiones
          8. Deploy gradual por región / AZ
          9. Deploy continuo (CI/CD) con puertas de calidad
          10. Métricas de salud antes de promover a “estable”
        4. Fault tolerance y resiliencia operativa
          1. Circuit breakers por dependencia
          2. Retries con límites y backoff
          3. Bulkhead isolation (aislar recursos críticos)
          4. Timeouts agresivos y cancelación temprana
          5. Degradación parcial de funcionalidades (graceful degradation)
          6. Réplicas activas y failover interno
          7. Reinicio / reschedule automático de servicios caídos
          8. Tolerancia a particiones de red
          9. Limitación de propagación de fallos en cascada
          10. Chaos testing / fault injection en producción controlada
        5. Observabilidad distribuida y trazabilidad
          1. Métricas por servicio y por endpoint
          2. Logs estructurados con IDs de correlación
          3. Trazas distribuidas end-to-end
          4. Mapas de dependencias entre servicios
          5. Alertas orientadas a SLO / SLA
          6. Auditoría de llamadas entre servicios
          7. Análisis de cuellos de botella de latencia
          8. Detección de outliers de error rate
          9. Dashboards operativos unificados
          10. Retención histórica para postmortems
        6. Gobernanza de contratos y compatibilidad
          1. Contratos de API versionados
          2. Pruebas de contrato consumidor/proveedor
          3. Validación automática de cambios de esquema
          4. Deprecación gradual de endpoints
          5. Control centralizado de políticas de acceso
          6. Catálogo de servicios y documentación interna
          7. Reglas de seguridad y autorización homogéneas
          8. Auditoría de cambios en interfaces públicas
          9. Gestión de breaking changes y avisos tempranos
          10. Revisión técnica cruzada antes de exponer nuevas APIs
        7. Multi-tenancy y aislamiento de tráfico
          1. Separación lógica por tenant / cuenta / cliente
          2. Namespaces de datos por cliente
          3. Rate limiting y cuotas por organización
          4. Cifrado y llaves dedicadas por tenant
          5. Aislamiento de “noisy neighbors” y fair-use
          6. Aislamiento de fallos por tenant / dominio funcional
          7. Control de acceso por tenant integrado en la capa de negocio
          8. Auditoría y trazabilidad por cliente
          9. Políticas de retención y borrado por cliente
          10. Personalización de configuración / features por tenant