Escolha pelo quão pessoal e quão fresco é o conteúdo. Geração estática para conteúdo igual para todo mundo, já que serve direto de uma CDN. Renderização no servidor quando a página depende da requisição, como um dashboard logado, e você ainda precisa de primeiro paint rápido ou de ser rastreável. Renderização no cliente para partes interativas atrás de autenticação em que o primeiro paint não é métrica de negócio. A maioria das apps reais mistura as três por rota.
Por que os entrevistadores perguntam isso
Essa é uma pergunta de julgamento de arquitetura vestida de técnica. O entrevistador quer um framework de decisão em vez de lealdade ao framework que você usou por último, além de consciência dos custos: invalidação de cache para páginas estáticas, capacidade de servidor e time to first byte para renderização no servidor, e custo de hidratação para páginas pesadas no cliente. Normalmente leva a streaming, cache e como manter páginas renderizadas no servidor rápidas sob carga.
Como estruturar sua resposta
- Dê os dois eixos: personalização e frescor.
- Case cada estratégia com um tipo concreto de página.
- Nomeie o custo de cada uma, não só o benefício.
- Diga que a decisão é por rota, não por aplicação.
Exemplo de resposta
Decido por rota, usando duas perguntas: isso é igual para todo usuário, e quão desatualizado pode ficar. Páginas de marketing, documentação, qualquer coisa rastreável e compartilhada, isso é estático, revalidado por agendamento ou na publicação, então é servido da borda e não há nada para ser lento. Um dashboard logado é renderizado no servidor, porque depende da requisição e quero que o primeiro paint contenha dado real em vez de um esqueleto em formato de spinner. Superfícies interativas profundas atrás de autenticação, como um editor de arrastar e soltar, eu renderizo no cliente sem problema já que ninguém mede o LCP delas. A parte que as pessoas subestimam é o custo. Estático significa ser dono da invalidação, e eu já entreguei um preço desatualizado. Renderizar no servidor significa que meu time to first byte agora é problema do meu banco de dados, então precisa de cache e de um orçamento de timeout. Então normalmente acabo com cascas estáticas, seções de dados renderizadas no servidor chegando por streaming, e interatividade no cliente só onde ela justifica o bundle.
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 funcionaPerguntas de acompanhamento que você pode esperar
- Como o streaming muda o trade-off para páginas renderizadas no servidor?
- Como você trataria a invalidação de uma página de produto gerada estaticamente?
- Qual é o custo da hidratação, e como você o reduz?
Mais perguntas para Desenvolvedor Frontend
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