Pergunta de entrevista para Desenvolvedor Frontend

O que um service worker permite fazer, e com o que você teria cuidado antes de adicionar um?

O que o entrevistador está avaliando, como estruturar sua resposta e um exemplo falado que você pode adaptar.

Resposta rápida

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

Exemplo falado, em primeira pessoa

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 funciona

Perguntas 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

Ensaie as perguntas difíceis antes que elas apareçam

Pratique com um copiloto ao vivo e depois entre pronto. Um Session Pass de $29 te leva até o fim da entrevista, sem assinatura e sem amarras.

Instalar o GhostPilot