P
prepair.app
Começar entrevista →
EnglishУкраїнськаРусскийDeutsch
⚛️

Middle React FrontendPerguntas de entrevista React

Middle · 2–4 anos de experiência

Entrevistas de React misturam especificidades do framework — hooks, rendering, estado — com fundamentos de JavaScript que decidem se você realmente entende o que o React está fazendo. Aqui estão as perguntas mais comuns com respostas modelo. Middle: compreensão mais profunda, otimização e situações reais de trabalho.

Experimente — sem necessidade de conta
Preparando sua pergunta…

Temas para se preparar

Hooks: useState, useEffect, useMemo
Virtual DOM e reconciliação
Gerenciamento de estado
Otimização de render
JavaScript: closures, event loop
TypeScript em React

7 perguntas de nível Middle com respostas

1

Quando o useMemo realmente ajuda, e quando é ruído?

Resposta

Ajuda quando o cálculo é genuinamente caro, ou quando o valor é dependência de outro hook ou de um filho memoizado, onde uma referência nova a cada render derrota a memoização. É ruído em operações baratas, porque a comparação e o valor retido também custam algo. Envolver todo valor em useMemo torna o código mais difícil de ler sem ganho mensurável.

2

Um componente re-renderiza muito mais do que o esperado. Como você descobre por quê?

Resposta

Abra o Profiler, grave uma interação, e use "why did this render" para ver se foi props, state ou o pai. As causas usuais são um objeto ou arrow function criado inline no pai, um context cujo valor é um objeto novo a cada render, ou state que vive mais acima na árvore do que precisa. Corrija a causa em vez de recorrer ao React.memo, que só a esconde.

3

Que problema o Context resolve, e onde ele se torna a ferramenta errada?

Resposta

Context evita ter que passar um valor por componentes que não se importam com ele — tema, idioma, o usuário atual. Ele se torna errado para estado que muda com frequência, porque cada consumidor re-renderiza quando o valor muda e não há seletor para assinar apenas uma parte dele. Nesse ponto você quer uma lib de estado com assinaturas em vez de um context que carrega tudo.

4

Por que você precisa de uma lib de dados como TanStack Query em vez de useEffect com fetch?

Resposta

Porque a versão ingênua deixa de fora tudo que torna dados de servidor difíceis: cache, deduplicar requests idênticos, refetch quando a janela recupera o foco, retries, e não escrever em um componente desmontado. Reescrever isso em cada tela é onde vivem os bugs. A mudança de mentalidade é que dados de servidor são um cache que você sincroniza, não state que você possui.

5

Qual é a diferença entre useEffect e useLayoutEffect?

Resposta

useEffect roda depois que o navegador pintou, então o usuário pode ver brevemente o estado anterior. useLayoutEffect roda sincronamente depois das mutações do DOM mas antes de pintar, o que previne esse flash ao custo de bloquear. Use useLayoutEffect só quando você mede o DOM e muda algo imediatamente com base na medição — uma posição de tooltip, um ajuste de scroll.

6

Como você lida com um erro lançado durante o render?

Resposta

Um error boundary o captura e mostra um fallback em vez de uma página em branco, já que um erro de render não capturado desmonta toda a árvore. Boundaries não capturam erros em event handlers ou código async, que é a parte que as pessoas esquecem — isso precisa de try/catch comum. Coloque boundaries ao redor de seções significativas para que um widget quebrado não derrube a tela inteira.

7

Onde você colocaria code splitting em uma app React?

Resposta

No nível de rota primeiro, porque um usuário que chega a uma tela não deveria baixar o resto da app. Depois ao redor de componentes genuinamente pesados e raramente usados — uma lib de gráficos, um editor de texto rico, um modal que a maioria dos usuários nunca abre. Dividir mais miúdo que isso adiciona overhead de requests e estados de carregamento em troca de kilobytes.

🦎

Só ler as respostas não basta

Numa entrevista de verdade você fala sob pressão. O Cam faz essas mesmas perguntas, avalia cada resposta e mostra exatamente o que melhorar.

Praticar entrevista de Middle React Frontend →
Grátis · 3 entrevistas por mês

Outros níveis — React Frontend

Junior React FrontendSenior React FrontendTodas as perguntas de React Frontend

Outras especializações

🔍Middle QA Manual🤖Middle QA AutomationMiddle Java Backend🐍Middle Python Backend🐘Middle PHP Backend🦫Middle Go Backend🟢Middle Node.js Backend💎Middle Ruby on Rails🔷Middle C++🟨Middle JavaScript