Pergunta de entrevista para Desenvolvedor React

Como você lida com erros em tempo de execução numa árvore React?

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

Resposta rápida

Error boundaries capturam erros lançados durante a renderização, em métodos de ciclo de vida e em construtores abaixo delas, e então renderizam um fallback em vez de desmontar a aplicação inteira. Elas ainda são componentes de classe usando getDerivedStateFromError e componentDidCatch, ou uma biblioteca wrapper. Elas não capturam erros em event handlers, callbacks assíncronos ou na própria boundary, então esses precisam de try e catch normais mais reporte.

Por que os entrevistadores perguntam isso

O entrevistador quer saber se suas aplicações degradam com elegância ou ficam em branco. Ele está atento ao escopo exato do que as boundaries capturam, já que as lacunas (event handlers e promises) são exatamente onde os erros de produção acontecem. O posicionamento também importa: uma única boundary na raiz é quase igual a nada, e uma boa resposta fala de isolar regiões arriscadas e dar ao usuário um caminho de recuperação.

Como estruturar sua resposta

  • Diga o que as boundaries capturam e o que elas renderizam no lugar.
  • Nomeie as lacunas com clareza: handlers, assíncrono, renderização no servidor.
  • Descreva onde você posiciona boundaries num layout real.
  • Cubra o reporte e dar ao usuário um caminho de recuperação.

Exemplo de resposta

Exemplo falado, em primeira pessoa

Error boundaries capturam qualquer coisa lançada enquanto a subárvore abaixo delas renderiza, e trocam por um fallback para que um widget quebrado não derrube a página. Eu normalmente uso o wrapper react-error-boundary em vez de escrever a classe eu mesmo, já que ele me dá um handler de reset de graça. As lacunas são a parte que as pessoas esquecem: nada lançado num onClick, num setTimeout ou numa rejeição de promise não tratada chega numa boundary, então isso ainda precisa de try e catch com um estado de erro explícito. Sobre posicionamento, uma boundary só na raiz é basicamente uma tela de crash mais bonita. O que eu de fato faço é embrulhar cada região que é útil de forma independente, então a sidebar, o painel principal e qualquer embed de terceiro têm cada um a sua, com um fallback que diz o que falhou e oferece um retry que reseta a boundary e busca os dados de novo. Toda boundary reporta para o nosso rastreador de erros com o stack de componentes e o contexto do usuário no componentDidCatch, e no React 19 eu também configuro o onUncaughtError na raiz para que nada escape sem log.

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

  • Onde exatamente você posicionaria boundaries num layout de dashboard?
  • O que captura um erro lançado dentro de uma promise num event handler?
  • Como as error boundaries se comportam durante renderização no servidor e hidratação?

Mais perguntas para Desenvolvedor React

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