Questão de Arquitetura de Software — Software — FCC 2023
Arquitetura de Software›Software
Código
fc069684
Banca
FCC
Órgão
TRT - 15ª Região (SP)
Ano
2023
Nível
Superior
Cargo
Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação
Considere o código abaixo.self.addEventListener('install', function(event) {event.waitUntil(caches.open ('my-cache').then(function(cache) {return cache.addA11(['/','/index.html','/styles.css','/script.js']);}));});self.addEventListener ('fetch', function(event) {event.respondWith(caches.match (event.request) .then (function(response) {return response || fetch(event.request);}));});Trata-se de um exemplo de implementação de
AService Worker JavaScript em um Progressive Web App.
BScript de autenticação de usuário.
CAplicativo JavaScript autônomo e executável.
DNode.js web server completo.
ESingle Page Application (SPA) em uma aplicação web estática com JavaScript.
Revelar gabarito e comentário▾
GabaritoA — Service Worker JavaScript em um Progressive Web App.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Service Worker em Progressive Web Apps (PWA)
Gabarito: letra A. O código apresentado é um Service Worker JavaScript: os eventos install e fetch são usados para cachear recursos estáticos (como páginas e estilos) e interceptar requisições, devolvendo respostas do cache ou da rede. Esse é um componente central de uma Progressive Web App (PWA).
O Service Worker registrado neste script:
No evento install, abre um cache (my-cache) e adiciona uma lista de recursos (raiz, index.html, styles.css, script.js).
No evento fetch, intercepta as requisições, tenta responder com o conteúdo do cache (caches.match) e, se não encontrar, busca na rede (fetch(event.request)).
Característica
Service Worker (PWA)
Autenticação
App Autônomo
Node.js Server
SPA
Eventos install e fetch
✅ Sim
❌ Não
❌ Não
❌ Não
❌ Não
Cache de recursos estáticos
✅ Sim
❌ Não
❌ Não
❌ Não
❌ Não
Interceptação de requisições
✅ Sim
❌ Não
❌ Não
❌ Não
❌ Não
Roda em segundo plano no navegador
✅ Sim
❌ Não
❌ Não
❌ Não
❌ Não
Lógica de autenticação
❌ Não
✅ Sim
❌ Não
❌ Não
❌ Não
Executável autônomo
❌ Não
❌ Não
✅ Sim
❌ Não
❌ Não
Servidor HTTP (http.createServer)
❌ Não
❌ Não
❌ Não
✅ Sim
❌ Não
Roteamento cliente/SPA
❌ Não
❌ Não
❌ Não
❌ Não
✅ Sim
Alternativa A — ✅ Correta ⟵ GABARITO
Descreve exatamente o que o código faz: um Service Worker JavaScript em uma PWA. É a implementação padrão para cache offline de assets.
Alternativa B — ❌ Incorreta
Script de autenticação de usuário. O código não contém nenhuma lógica de login, tokens, sessões ou autenticação; ele trata apenas de cache e interceptação de requisições.
Alternativa C — ❌ Incorreta
Aplicativo JavaScript autônomo e executável. Um Service Worker não é um aplicativo autônomo executável – ele é um script que roda em segundo plano no navegador, sem interface direta, e depende de uma página web que o registre.
Alternativa D — ❌ Incorreta
Node.js web server completo. O código não cria um servidor HTTP, não usa http.createServer, não escuta portas, não trata rotas. Service Worker roda no navegador, não no lado servidor.
Alternativa E — ❌ Incorreta
Single Page Application (SPA) em uma aplicação web estática com JavaScript. O código não implementa uma SPA – ele é um Service Worker que pode servir uma SPA, mas por si só não constitui uma SPA. Faltam roteamento no cliente, gerenciamento de estado, componentes, etc.
PEGA ESSA DICA!
Service Worker é um script que o navegador executa em segundo plano, separado da página web. Ele permite funcionalidades como cache offline, push notifications e sincronização em segundo plano. É um requisito para uma PWA, mas não é a mesma coisa que a aplicação em si. Para identificá-lo na prova, procure pelos eventos install, activate e fetch, e pelo uso da API Cache.