Pergunta de entrevista para Desenvolvedor Frontend

Como você decide o que testar num codebase de frontend, e com o quê?

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

Resposta rápida

Teste comportamento no nível em que o usuário experimenta. Testes de componente que renderizam um componente e interagem por texto visível e papéis pegam mais bugs por unidade de esforço; testes unitários puros servem para lógica como formatação e reducers; um conjunto pequeno de testes ponta a ponta cobre as jornadas críticas como cadastro e checkout. Evite testes que afirmam sobre detalhes de implementação, já que quebram a cada refactor sem pegar regressões reais.

Por que os entrevistadores perguntam isso

O entrevistador quer ver julgamento sobre custo e valor em vez da recitação da pirâmide de testes. Testes de frontend são notoriamente frágeis, então ele escuta como você evita acoplar à estrutura da marcação, como trata chamadas de rede e se tem opinião sobre testes de snapshot. Também diz se você deixaria uma suíte em que a próxima pessoa confia.

Como estruturar sua resposta

  • Enuncie o princípio: teste o que o usuário faz, não como aquilo foi construído.
  • Atribua um tipo de teste a cada tipo de código.
  • Explique como você lida com rede e tempo.
  • Nomeie uma prática que você evita e por quê.

Exemplo de resposta

Exemplo falado, em primeira pessoa

Minha regra é que um teste deve falhar quando o comportamento quebra e sobreviver a um refactor. Então a maioria dos meus testes renderiza um componente e o dirige como um usuário faria, achando elementos por papel e label em vez de test ids ou nomes de classe, o que significa que a acessibilidade do componente também é exercitada. Lógica pura como um formatador de datas ou um reducer ganha testes unitários simples, porque são baratos e rápidos. Depois uma suíte ponta a ponta pequena em Playwright sobre as jornadas que custam dinheiro se quebrarem: cadastro, login, checkout. Chamadas de rede são interceptadas na fronteira com um mock server em vez de mockar a função fetch, para o teste cobrir meu código de requisição real. O que evito são testes de snapshot grandes, porque ninguém revisa um diff de duzentas linhas e eles são aceitos às cegas, e qualquer coisa que afirme sobre estado interno. A outra coisa em que insisto é que testes ponta a ponta rodem contra um ambiente com dados semeados, já que dados compartilhados instáveis são o que faz times começarem a ignorar builds vermelhos.

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ê impede que testes ponta a ponta fiquem instáveis?
  • Qual é a sua abordagem para testar um componente que busca os próprios dados?
  • Onde entram testes de regressão visual para você?

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