Pular para o conteúdo principal

Questão de Arquitetura de Software — Software — FCC 2023

Arquitetura de SoftwareSoftware
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
  1. AService Worker JavaScript em um Progressive Web App.
  2. BScript de autenticação de usuário.
  3. CAplicativo JavaScript autônomo e executável.
  4. DNode.js web server completo.
  5. 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.

Gabarito: letra A.

Link permanente: /questoes/fc069684