Compare os bundles em vez de adivinhar. Rode um analisador de bundle no commit antes e depois, e procure por uma dependência nova, uma versão duplicada de uma existente, ou um import de barrel puxando uma biblioteca inteira. Conserte com uma dependência mais leve, imports profundos, ou um import dinâmico se o código não é necessário no primeiro paint. Depois adicione um orçamento de tamanho no CI para não acontecer de novo em silêncio.
Por que os entrevistadores perguntam isso
O entrevistador quer um processo de depuração, não uma lista de dicas de otimização. Ele está checando se você sabe atribuir tamanho a um módulo específico, se você consegue nomear as causas comuns como versões transitivas duplicadas e arquivos de barrel com efeitos colaterais, e crucialmente se você fecha o ciclo com automação. Terminar num orçamento no CI é o que separa um conserto de um hábito.
Como estruturar sua resposta
- Meça e compare as duas builds antes de propor qualquer coisa.
- Nomeie as causas prováveis em ordem e como você confirma cada uma.
- Dê o conserto que combina com a causa, não um genérico.
- Adicione um orçamento de tamanho no CI para regressões serem pegas na revisão.
Exemplo de resposta
Primeiro eu pego os fatos. Eu faço o build do commit anterior e do atual e rodo um analisador nos dois, para eu poder apontar o módulo exato que cresceu em vez de discutir sobre isso. Normalmente é uma de três coisas. Alguém adicionou uma dependência pesada por causa de uma função, uma biblioteca de datas ou de utilitários sendo o clássico. Ou agora a gente entrega duas versões do mesmo pacote porque uma dependência transitiva fixou outra, o que o analisador mostra como chunks duplicados. Ou um arquivo de index re-exporta tudo e o tree shaking desistiu porque o pacote não está marcado como livre de efeitos colaterais. O conserto segue a causa: trocar por uma dependência mais leve ou pelo equivalente da plataforma, deduplicar a versão, ou importar o caminho específico do módulo. Se o código é realmente necessário mas não no primeiro paint, tipo um editor de texto rico ou uma biblioteca de gráficos, ele vira um import dinâmico atrás da interação que precisa dele. Aí eu adiciono um orçamento de tamanho no CI que reprova o pull request num salto como esse, porque senão isso simplesmente acontece de novo no próximo trimestre.
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 você descobriria qual dependência puxou a versão duplicada?
- Onde você colocaria o limite do orçamento de tamanho e para quais entry points?
- Como o code splitting interage com a sua estratégia de cache?
Mais perguntas para Desenvolvedor React
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