Um service worker é um proxy entre a página e a rede, então ele pode servir respostas em cache, funcionar offline, fazer precache de uma casca e tratar background sync ou push. O cuidado é com o ciclo de vida: ele só controla páginas depois da ativação, um worker antigo continua servindo assets antigos até ser substituído, e uma regra de cache ruim pode prender usuários num build quebrado. Sempre versione seus caches e entregue um caminho de atualização claro.
Por que os entrevistadores perguntam isso
Service workers são poderosos e genuinamente perigosos, então a pergunta é na verdade sobre consciência de risco. O entrevistador quer ouvir sobre install, waiting e activate, versionamento de cache e o incidente clássico de entregar uma correção que os usuários nunca recebem. Citar que cache HTTP mais CDN cobre a maioria das necessidades mostra julgamento sobre quando a complexidade extra se justifica de fato.
Como estruturar sua resposta
- Descreva como proxy de rede com um ciclo de vida.
- Nomeie os casos de uso que genuinamente precisam de um.
- Explique o modelo de atualização e o versionamento de cache.
- Diga quando você não se daria ao trabalho.
Exemplo de resposta
Ele fica entre a página e a rede como um worker separado, então consegue interceptar fetches e decidir se responde de um cache. Isso me dá suporte offline, uma casca instantânea em visitas repetidas, background sync para ações enfileiradas e notificações push. O que eu vigio é o ciclo de vida, porque é de onde vêm os incidentes. Um worker novo instala e então espera até toda aba controlada sumir para ativar, então usuários podem ficar em código antigo muito mais tempo do que você espera. E se eu colocar o HTML em cache com uma regra cache first e depois entregar um worker quebrado, eu efetivamente inutilizei os usuários que voltam, já que eles nunca buscam a correção. Então versiono os nomes de cache e apago os antigos no activate, mantenho o HTML como network first e cache first só para assets com hash, e sempre mantenho um caminho de emergência que desregistra e limpa os caches. Se o requisito é só velocidade em visitas repetidas e não uso offline genuíno, prefiro tirar isso de cabeçalhos de cache e uma CDN e pular essa classe inteira de problema.
Vai encarar essa entrevista em breve? O GhostPilot escuta a sua chamada ao vivo, identifica a pergunta no instante em que ela é feita e coloca uma resposta estruturada na sua tela em tempo real. Teste na sua próxima entrevista simulada ou pegue um Session Pass de $29, sem assinatura, para a hora da verdade.
Veja como funcionaPerguntas de acompanhamento que você pode esperar
- Como você empurraria uma correção urgente para usuários presos num service worker antigo?
- Que estratégia de cache você usa para HTML versus assets com hash?
- O que o skipWaiting faz, e quando ele é perigoso?
Mais perguntas para Desenvolvedor Frontend
Seu entrevistador vai fazer a própria versão desta. Cole a descrição real da vaga no Question Predictor gratuito e receba as 20 perguntas que essa vaga tem mais chance de fazer, com o que cada uma está de fato sondando.
Prever minhas perguntas