Hospede a fonte você mesmo, faça preload do único arquivo necessário para o primeiro paint e use font display swap para o texto ficar visível de imediato. Depois elimine o deslocamento casando as métricas da fonte de fallback com size adjust, ascent override e descent override, ou usando uma face de fallback gerada. Faça subset da fonte para os caracteres que você realmente usa, entregue só woff2 e evite carregar vários pesos quando fontes variáveis cobrem a faixa.
Por que os entrevistadores perguntam isso
Fontes são a causa mais comum de layout shift e uma das vitórias mais fáceis numa revisão de performance. O entrevistador checa se você sabe por que o deslocamento acontece, que é um descasamento de métricas entre o fallback e a face real, em vez de só recitar font display swap. Saber de auto hospedagem e preload também mostra que você entende que origens de terceiros custam uma conexão extra antes mesmo de a fonte ser descoberta.
Como estruturar sua resposta
- Explique por que o deslocamento acontece: as métricas do fallback diferem da face real.
- Dê a estratégia de carregamento: auto hospedar, preload, woff2, subset.
- Cubra o trade-off do valor de display entre texto em branco e uma troca.
- Termine com overrides de métricas para tornar a troca imperceptível.
Exemplo de resposta
O deslocamento acontece porque a fonte de fallback tem métricas diferentes, então quando a fonte real chega toda linha refluia e tudo abaixo dela se move. Então há dois problemas a resolver: quando o texto aparece e quanto ele se move ao mudar. Para o primeiro, hospedo a fonte, faço preload só do arquivo necessário para a visão inicial e uso font display swap para ninguém ficar encarando um bloco de texto em branco numa conexão lenta. Para o segundo, sobrescrevo as métricas do fallback, size adjust mais overrides de ascent e descent numa face de fallback local, então o fallback ocupa quase exatamente o mesmo espaço e a troca mal se percebe. Além disso é higiene: só woff2, subset para o conjunto de caracteres realmente usado e uma fonte variável em vez de quatro pesos estáticos. Num site que puxava três pesos de uma origem de terceiro, migrar para uma fonte variável auto hospedada com subset cortou uns 180 kilobytes e levou o CLS de cerca de 0.18 para menos de 0.02.
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
- Qual é a diferença entre font display swap, optional e fallback?
- Como você mediria o layout shift que uma fonte está causando?
- Quando uma pilha de fontes de sistema é a resposta melhor?
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