Pular para o conteúdo principal

Questão de Programação — Frameworks em Programação — IF-SP 2026

ProgramaçãoFrameworks em Programação
Código
qg710304
Banca
IF-SP
Órgão
IF-SP
Ano
2026
Nível
Superior
Cargo
Analista de Tecnologia da Informação
Analise o seguinte trecho de uma aplicação Django, que implementa caching em uma view que lista produtos de uma loja on-line. A view requer autenticação e exibe descontos personalizados por usuário. O middleware de caching está configurado corretamente.Q.29.png 421×594Qual das alternativas abaixo descreve corretamente o comportamento de caching nesta implementação, considerando múltiplos usuários autenticados acessando a view simultaneamente e possíveis problemas relacionados ao caching do fragmento de template e da view?
  1. AO caching da view inteira será compartilha do entre todos os usuários autenticados, pois @vary_on_headers(‘Cookie’) não afeta o cache do fragmento de template, que é recalculado dinamicamente por requisição, garantindo que o desconto_personalizado seja único por usuário.
  2. BO decorator @cache_page será aplicado antes do @login_required, cacheando respos tas de redirecionamento (HTTP 302) para usuários não autenticados, o que pode levar a loops de redirecionamento, enquanto o fragmento de template será ignorado devido ao caching da view.
  3. CO fragmento de template {% cache %} será ignorado porque a view já está cacheada com @cache_page, resultando em um cache global da página renderizada, sem variação por usuário, e o desconto_personalizado será fixo para todos os acessos até a expiração do cache da view.
  4. DA combinação de @vary_on_ headers(‘Cookie’) e @login_required ga rante que o cache da view seja único por usuário, mas o fragmento de template, com a chave estática produtos_lista, é cacheado globalmente, incluindo o desconto_personalizado. Isso faz com que todos os usuários vejam o mesmo desconto personalizado do primeiro usuário que gerou o cache do fragmento, até sua expiração.
Revelar gabarito e comentário

GabaritoD — A combinação de @vary_on_ headers(‘Cookie’) e @login_required ga rante que o cache da view seja único por usuário, mas o fragmento de template, com a chave estática produtos_lista, é cacheado globalmente, incluindo o desconto_personalizado. Isso faz com que todos os usuários vejam o mesmo desconto personalizado do primeiro usuário que gerou o cache do fragmento, até sua expiração.

Link permanente: /questoes/qg710304