Módulos nativos funcionam, mas entregar centenas de arquivos sem bundle significa centenas de requisições e uma cascata profunda de dependências, o que é lento até em HTTP/2. Empacotar te dá tree shaking, minificação, code splitting por rota, nomes de arquivo com hash de conteúdo para caches longos e um lugar para transformar TypeScript e JSX. Servidores de desenvolvimento hoje servem módulos nativos para inicialização instantânea e depois empacotam para produção, o que junta o melhor dos dois.
Por que os entrevistadores perguntam isso
O entrevistador quer saber se você entende sua toolchain ou herdou uma configuração que tem medo de tocar. Explicar a divisão entre desenvolvimento e produção, os requisitos do tree shaking e as fronteiras de code splitting mostra que você consegue depurar um build e não só rodá lo. Também leva naturalmente à disciplina de tamanho de bundle, que é onde a performance de frontend costuma ser ganha ou perdida.
Como estruturar sua resposta
- Responda o porquê diretamente: cascatas de requisição e estratégia de cache.
- Liste o que empacotar entrega além de concatenar.
- Descreva a divisão entre desenvolvimento e produção nas ferramentas modernas.
- Diga como você decide onde dividir os chunks.
Exemplo de resposta
Módulos nativos são genuinamente usáveis hoje, mas no momento em que tenho uma árvore de dependências real estou pedindo ao navegador para descobrir e buscar centenas de arquivinhos em cascata, e cada nível do grafo custa mais uma ida e volta. Empacotar colapsa isso. Também me dá tree shaking, então exports não usados nunca são entregues, minificação, nomes de arquivo com hash de conteúdo para eu cachear assets por um ano, e um lugar único para compilar TypeScript. Em desenvolvimento uso um servidor que serve módulos ES nativos e transforma sob demanda, então a inicialização é instantânea independentemente do tamanho do projeto, e depois produzo um build empacotado para produção. Para divisão, separo por rota por padrão, mais fronteiras lazy em volta de qualquer coisa pesada não necessária na primeira renderização, como um editor de rich text ou uma biblioteca de gráficos. E mantenho um orçamento de tamanho no CI que reprova o build acima de um limite, porque tamanho de bundle só regride uma dependência pequena por vez, e quando fica óbvio já virou um projeto em vez de uma correção.
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
- O que impede o tree shaking de funcionar numa dependência?
- Como você decide o que pertence a um chunk compartilhado?
- O que você checa primeiro quando um build de produção se comporta diferente do de desenvolvimento?
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