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. Junior: teoria básica, definições e casos práticos simples.
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 Junior com respostas
1
Qual é a diferença entre um Server Component e um Client Component?
Resposta
Server Components renderizam no servidor, nunca enviam seu código ao navegador e podem ler um banco de dados diretamente. Client Components rodam no navegador e são o que você precisa para state, effects e event handlers. Tudo é um Server Component até você escrever 'use client', e essa diretiva marca uma fronteira — tudo que é importado abaixo dela também vira código de cliente.
2
O que `'use client'` realmente faz?
Resposta
Marca a fronteira entre código de servidor e cliente, não um único arquivo. Colocá-la no topo de um componente significa que esse componente e tudo que ele importa é empacotado para o navegador. Por isso ela pertence o mais fundo possível na árvore — um 'use client' em um layout arrasta toda a subárvore para o bundle.
3
Qual é a diferença entre o App Router e o Pages Router?
Resposta
O Pages Router coloca uma rota em um arquivo e busca dados com getServerSideProps ou getStaticProps. O App Router usa pastas com page.tsx, suporta layouts aninhados que não re-renderizam na navegação, e busca dados com componentes async. Projetos novos usam App Router; Pages existe porque migrações levam tempo.
4
O que `layout.tsx` e `page.tsx` fazem cada um?
Resposta
page.tsx é o conteúdo próprio da rota. layout.tsx a envolve e tudo aninhado abaixo dela, e crucialmente não re-renderiza quando você navega entre seus filhos — por isso navegação e sidebars pertencem ali. O estado em um layout sobrevive à navegação; o estado em uma página não.
5
Como você faz uma página carregar seus dados antes de renderizar?
Resposta
Torne o Server Component async e dê await nos dados diretamente nele — sem hook, sem effect, sem estado de carregamento no próprio componente. O Next o renderiza assim que a promise resolve. Um loading.tsx ao lado da página fornece o fallback enquanto isso.
6
Qual é a diferença entre `Link` e um anchor simples?
Resposta
Link navega do lado do cliente, mantém o layout montado e faz prefetch da rota quando ela entra no viewport. Um <a> simples faz um carregamento completo de página, descartando a árvore do React e qualquer estado. Usar um anchor para navegação interna é a forma mais rápida de fazer uma app rápida parecer lenta.
🦎
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.