¿Cómo proteger un sistema contra ataques de repetición al diseñar una API REST pública?
Python
¿Cuál es la diferencia entre las estrategias de bloqueo SELECT ... FOR UPDATE y SELECT ... FOR SHARE? Describe un caso práctico para cada una.
¿Cuál es la diferencia entre asyncio.gather y asyncio.as_completed? ¿En qué situaciones es preferible un método sobre el otro?
¿Qué es el problema de 'index bloat' en PostgreSQL, por qué ocurre debido a la mecánica MVCC y cómo abordarlo?
¿En qué se diferencia el patrón CQRS (Segregación de Responsabilidad de Comandos y Consultas) de la arquitectura CRUD clásica? ¿Cuándo está justificada su implementación?
¿Cómo está organizado el mecanismo de Variables de Contexto (contextvars) y por qué threading.local habitual no funciona dentro de las corutinas de asyncio?
¿Qué es una anomalía de lectura no repetible y en qué nivel mínimo de aislamiento de transacciones desaparece por completo en PostgreSQL?
Describe un escenario en el que el recolector de basura de Python no pueda eliminar automáticamente objetos de la memoria, incluso si ya no hay referencias a ellos en el código.
¿Qué es una vulnerabilidad de Server-Side Request Forgery (SSRF) y cómo debe validar un desarrollador de backend los datos entrantes para prevenirla?
¿Cómo diseñar un bloqueo distribuido usando Redis? ¿Qué casos extremos se deben considerar para evitar condiciones de carrera?
¿Qué es la ley de Amda y cómo se aplica en la evaluación de la eficiencia del escalado del backend?
Describe la diferencia entre las estrategias de entrega de mensajes at-least-once y exactly-once en los brokers, por ejemplo Kafka. ¿Qué requisitos impone esto al backend de Python?
¿Cuál es el mecanismo interno de las palabras clave async y await en Python? ¿Qué sucede a nivel de generadores?
¿Cómo ayuda el patrón Outbox a garantizar que un mensaje en un broker de mensajes como RabbitMQ se envíe solo si la transacción en la base de datos relacional se ha completado con éxito?
¿Cuál es la diferencia entre la autorización basada en JWT con estado y listas negras de tokens y JWT sin estado? ¿Cuáles son las compensaciones en seguridad y rendimiento?
¿Cómo se puede escribir una metaclase personalizada que añada automáticamente un prefijo a todos los métodos de la clase creada?
¿Cómo resolver arquitectónicamente el problema de la amplificación de escritura (escrituras excesivas en disco) al usar bases de datos NoSQL bajo alta intensidad de actualizaciones?
Imagina una situación: se ejecuta en PostgreSQL una consulta analítica pesada SELECT COUNT(*) FROM large_table. ¿Ayudará un índice en la clave primaria a acelerar esta consulta? ¿Por qué?