Pergunta de entrevista para Desenvolvedor React

Como o Suspense funciona para busca de dados, e como você está usando ele no React 19?

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

Resposta rápida

Um componente suspende quando lê uma promise que ainda não resolveu. O React sobe até o Suspense boundary mais próximo, mostra o fallback dele até a promise resolver, e então renderiza o conteúdo real. No React 19 você lê uma promise com o hook use, normalmente criada em um Server Component ou num cache e passada para baixo. O Suspense coordena estados de carregamento; ele não busca nada sozinho.

Por que os entrevistadores perguntam isso

Muita gente consegue descrever Suspense como um wrapper de spinner. O entrevistador quer saber se você entende o mecanismo, que suspender é um modelo de throw e retry, e o detalhe importante de que quem busca é o framework ou a biblioteca. Ele também está checando se você sabe onde posicionar os boundaries para que um painel lento não apague a página inteira.

Como estruturar sua resposta

  • Diga o que significa suspender e o que o boundary faz.
  • Aponte de onde a promise deve vir, e de onde ela não pode vir.
  • Explique o posicionamento dos boundaries e o streaming.
  • Mencione o risco de waterfall e como você evita.

Exemplo de resposta

Exemplo falado, em primeira pessoa

Suspense é uma primitiva de coordenação, não uma camada de dados. Quando um componente lê uma promise que não resolveu, ele suspende, o React acha o boundary mais próximo acima dele, renderiza aquele fallback, e tenta a subárvore de novo quando a promise resolve. No React 19 o jeito de ler uma é o hook use, e a regra importante é que a promise não pode ser criada durante o render do componente que chama use, senão você fabrica uma promise nova a cada tentativa e ela nunca resolve. Então na prática a promise começa em um Server Component ou sai de um cache e é passada para baixo. Do lado do servidor isso combina com streaming: a casca vai embora na hora, e as seções mais lentas chegam em stream conforme os dados delas ficam prontos. Para posicionar boundaries eu tento embrulhar a menor coisa pela qual um usuário aceitaria ver um skeleton, para que um painel lento de recomendações não segure os detalhes do produto. A armadilha são awaits sequenciais criando um waterfall, então eu disparo as buscas independentes juntas antes de dar await nelas.

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

  • Por que você não deve criar a promise dentro do componente que chama use?
  • Como os Suspense boundaries interagem com renderização em stream no servidor?
  • Como você evita um waterfall de requisições em componentes aninhados?

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