Entrevistas de Next.js se concentram em estratégias de rendering, no App Router, server components, e caching — as partes que separam o Next do React puro. 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
✓SSR, SSG, ISR e CSR
✓App Router vs Pages Router
✓Server components
✓Route handlers e API
✓Caching e revalidation
✓Otimização de imagens e fontes
6 perguntas de nível Middle com respostas
1
Como funciona o caching no App Router, e o que surpreende as pessoas?
Resposta
Existem várias camadas: o memo de request dentro de um render, o cache de dados entre requests, e o cache de rota completa para rotas estáticas. O que surpreende as pessoas é quanto é cacheado por padrão — um fetch é cacheado a menos que você diga o contrário, então uma página mostra dados obsoletos e ninguém mudou nada. revalidate e cache: 'no-store' são como você sai disso.
2
O que é uma Server Action e quando você usaria uma?
Resposta
Uma função marcada 'use server' que um client component pode chamar diretamente, com o Next cuidando do request. Serve bem para mutações a partir de um formulário sem escrever uma rota de API, e pode revalidar o cache afetado na mesma chamada. O que ela não é é um RPC geral — é um POST por baixo, então não serve para nada que deveria ser um GET.
3
Qual é a diferença entre `revalidatePath` e `revalidateTag`?
Resposta
revalidatePath invalida o cache de uma rota; revalidateTag invalida cada fetch que foi marcado com aquela tag, onde quer que seja usado. Tags são a melhor ferramenta assim que os mesmos dados aparecem em várias páginas, porque você para de ter que lembrar quais rotas invalidar quando algo muda.
4
O que é streaming e o que o `Suspense` faz aqui?
Resposta
O servidor envia HTML à medida que fica pronto em vez de esperar a consulta mais lenta. Envolver uma parte lenta em Suspense com um fallback deixa o resto da página chegar imediatamente e a parte lenta chegar em stream depois. O ganho é real para uma página com um widget lento, e desaparece se tudo estiver dentro de uma única fronteira.
5
Como você lida com uma variável de ambiente com segurança?
Resposta
Qualquer coisa com prefixo NEXT_PUBLIC_ é embutida no bundle do navegador e portanto é pública — uma chave ali é uma chave publicada. Tudo mais é somente-servidor e acessível em Server Components, route handlers e actions. O erro é recorrer ao prefixo para consertar uma variável undefined em um client component, o que silenciosamente envia o segredo.
6
O que `generateStaticParams` faz?
Resposta
Diz ao Next quais valores de rota dinâmica prerenderizar em tempo de build, transformando [slug] em um conjunto de páginas estáticas. Qualquer coisa fora da lista é renderizada sob demanda e depois pode ser cacheada. É isso que torna um site de conteúdo estático sem abrir mão do roteamento dinâmico.
🦎
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.