Interviewfrage für Frontend-Entwickler

Wie lädst du Webfonts, ohne Layout Shift zu verursachen oder Text zu verstecken?

Worauf der Interviewer abzielt, wie du deine Antwort aufbaust und ein gesprochenes Beispiel zum Anpassen.

Kurzantwort

Hoste die Font selbst, preload die eine Datei, die für den ersten Paint gebraucht wird, und nutz font-display swap, damit Text sofort sichtbar ist. Danach nimmst du den Sprung raus, indem du die Metriken des Fallbacks mit size-adjust, ascent-override und descent-override angleichst oder eine generierte Fallback-Face verwendest. Subsette die Font auf die Zeichen, die du tatsächlich nutzt, liefere nur woff2 aus und lade keine mehreren Schnitte, wenn eine Variable Font den Bereich abdeckt.

Warum Interviewer das fragen

Fonts sind die häufigste Ursache für Layout Shift und einer der einfachsten Gewinne in einem Performance-Review. Der Interviewer prüft, ob du weißt, warum der Sprung passiert, nämlich weil die Metriken von Fallback und echter Face nicht zusammenpassen, statt nur font-display swap herunterzubeten. Von Self-Hosting und Preloading zu wissen zeigt außerdem, dass dir klar ist, dass Fremd-Origins eine zusätzliche Verbindung kosten, bevor die Font überhaupt entdeckt wird.

So baust du deine Antwort auf

  • Erklär, warum der Sprung passiert: die Fallback-Metriken unterscheiden sich von der echten Face.
  • Nenn die Ladestrategie: selbst hosten, preloaden, woff2, subsetten.
  • Deck die Abwägung beim display-Wert zwischen ausgeblendetem Text und einem Swap ab.
  • Schließ mit Metrik-Overrides, die den Swap unauffällig machen.

Beispielantwort

Gesprochenes Beispiel, erste Person

Der Sprung passiert, weil die Fallback-Font andere Metriken hat, wenn also die echte Font ankommt, fließt jede Zeile neu um und alles darunter verschiebt sich. Es sind also zwei Probleme: wann der Text erscheint und wie stark er sich bewegt, wenn er wechselt. Für das Erste hoste ich die Font selbst, preloade nur die Datei, die für die erste Ansicht nötig ist, und nutze font-display swap, damit niemand auf einer langsamen Verbindung auf einen leeren Textblock starrt. Für das Zweite überschreibe ich die Fallback-Metriken, size-adjust plus ascent- und descent-override auf einer lokalen Fallback-Face, damit der Fallback fast exakt denselben Platz einnimmt und der Wechsel kaum sichtbar ist. Der Rest ist Hygiene: nur woff2, auf den tatsächlich genutzten Zeichensatz subsetten und eine Variable Font statt vier statischer Schnitte. Auf einer Seite, die drei Schnitte von einem Fremd-Origin gezogen hat, hat der Wechsel auf eine selbst gehostete, subsettete Variable Font rund 180 Kilobyte gespart und CLS von etwa 0,18 auf unter 0,02 gebracht.

Steht dieses Vorstellungsgespräch bald an? GhostPilot hört bei deinem Live-Call mit, erkennt die Frage in dem Moment, in dem sie gestellt wird, und bringt dir eine strukturierte Antwort in Echtzeit auf den Bildschirm. Probier es im nächsten Mock aus, oder hol dir einen $29 Session Pass, kein Abo, für den Ernstfall.

So funktioniert es

Nachfragen, mit denen du rechnen solltest

  • Was ist der Unterschied zwischen font-display swap, optional und fallback?
  • Wie würdest du den Layout Shift messen, den eine Font verursacht?
  • Wann ist ein System-Font-Stack die bessere Antwort?

Weitere Fragen für Frontend-Entwickler

Dein Interviewer stellt seine eigene Version davon. Kopier deine echte Stellenbeschreibung in den kostenlosen Question Predictor und bekomm die 20 Fragen, die diese Rolle am wahrscheinlichsten stellt, samt dem, worauf jede wirklich abzielt.

Meine Fragen vorhersagen

Üb die harten Fragen, bevor sie gestellt werden

Trainier mit einem Live-Copiloten und geh dann vorbereitet rein. Ein $29 Session Pass bringt dich durch das Vorstellungsgespräch, ohne Abo und ohne Bindung.

GhostPilot holen