Como proteger um sistema contra ataques de repetição ao projetar uma API REST pública?
Python
Qual é a diferença entre as estratégias de bloqueio SELECT ... FOR UPDATE e SELECT ... FOR SHARE? Descreva um caso prático para cada uma.
Qual é a diferença entre asyncio.gather e asyncio.as_completed? Em que situações é que um método é preferível ao outro?
O que é o problema de 'index bloat' no PostgreSQL, por que ocorre devido à mecânica MVCC e como lidar com ele?
Como é que o padrão CQRS (Segregação de Responsabilidade de Comandos e Consultas) difere da arquitetura CRUD tradicional? Quando é que a sua implementação está justificada?
Como é organizado o mecanismo de Variáveis de Contexto (contextvars) e por que o threading.local habitual não funciona dentro de corrotinas asyncio?
O que é uma anomalia de leitura não-repetível e em que nível mínimo de isolamento de transações ela desaparece completamente no PostgreSQL?
Descreva um cenário em que o coletor de lixo do Python não consegue remover automaticamente objetos da memória, mesmo que não haja mais referências a eles no código.
O que é uma vulnerabilidade de Server-Side Request Forgery (SSRF) e como um desenvolvedor de backend deve validar os dados de entrada para evitá-la?
Como projetar um bloqueio distribuído usando Redis? Quais casos extremos devem ser considerados para evitar condições de corrida?
O que é a lei de Amda e como ela é aplicada na avaliação da eficiência da escalabilidade do backend?
Descreva a diferença entre as estratégias de entrega de mensagens at-least-once e exactly-once nos brokers, por exemplo Kafka. Que requisitos isso impõe ao backend Python?
Qual é o mecanismo interno das palavras-chave async e await em Python? O que acontece ao nível dos geradores?
Como o padrão Outbox ajuda a garantir que uma mensagem num broker de mensagens como RabbitMQ seja enviada apenas se a transação na base de dados relacional tiver sido concluída com sucesso?
Qual é a diferença entre autorização baseada em JWT com listas negras de tokens e JWT sem estado? Quais são as compensações em segurança e desempenho?
Como pode alguém escrever uma metaclasse personalizada que adiciona automaticamente um prefixo a todos os métodos da classe criada?
Como resolver arquitetonicamente o problema de amplificação de escrita (escritas excessivas no disco) ao usar bancos de dados NoSQL sob alta intensidade de atualizações?
Imagine uma situação: uma consulta analítica pesada SELECT COUNT(*) FROM large_table é executada no PostgreSQL. Um índice na chave primária ajudaria a acelerar essa consulta? Por quê?