Interviewfrage für React-Entwickler

Eine Seite wirft in Produktion einen Hydration Mismatch. Wie spürst du ihn auf?

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

Kurzantwort

Ein Mismatch heißt, das auf dem Server gerenderte HTML passt nicht zum ersten Client-Render. Übliche Ursachen sind Datums- und Locale-Formatierung, Zufallswerte, Zugriffe auf window oder localStorage während des Renders und ungültige HTML-Verschachtelung, die der Browser stillschweigend repariert. Lies den Diff, den React loggt, um die Node zu finden, und verschieb den Wert dann entweder in einen Effect, damit der erste Render passt, oder render den Teil nur auf dem Client.

Warum Interviewer das fragen

Hydration-Fehler sind ein Initiationsritus für jeden, der Server-Rendering macht, und die Antwort zeigt, ob du es ausgeliefert hast. Der Interviewer will ein systematisches Vorgehen statt Schulterzucken plus suppressHydrationWarning. Er prüft außerdem, ob du weißt, warum Mismatches zählen, denn React verwirft das Server-Markup für diesen Teilbaum und kann Event-Handler an den falschen Nodes hängen lassen.

So baust du deine Antwort auf

  • Definier den Mismatch als Server-HTML gegen ersten Client-Render.
  • Zähl die üblichen Verdächtigen nach Wahrscheinlichkeit auf.
  • Beschreib, wie du es über den geloggten Diff eingrenzt.
  • Gib die richtigen Fixes und wann Unterdrücken vertretbar ist.

Beispielantwort

Gesprochenes Beispiel, erste Person

Zuerst lese ich den Fehler richtig, denn React 19 gibt dir einen brauchbaren Diff, der zeigt, welche Node abweicht, und das reicht meist, um den Schuldigen zu benennen. Dann gehe ich die Verdächtigen durch. Alles Zeitbasierte ist Nummer eins, also ein formatiertes Datum oder ein relativer Zeitstempel, auf dem Server in der einen Sekunde gerendert und auf dem Client in der nächsten. Danach Locale- und Zeitzonen-Formatierung, denn der Server läuft fast immer in UTC. Dann zufällige IDs oder Math.random in einer Komponente. Dann alles, was während des Renders window, matchMedia oder localStorage liest, was bei Theme-Togglern häufig ist. Und zuletzt ungültige Verschachtelung, etwa ein div in einem p, wo der Browser das HTML repariert, bevor React es sieht. Der Fix hängt davon ab, welcher es ist. Bei wirklich clientseitigen Werten rendere ich auf dem Server einen stabilen Platzhalter und setze den echten Wert in einem Effect, oder ich lade das Stück lazy mit abgeschaltetem Server-Rendering. Zu suppressHydrationWarning greife ich nur bei einem einzelnen Blatt wie einem Zeitstempel, nie bei einem Wrapper.

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

  • Warum ist ein Hydration Mismatch schlimmer als nur eine Konsolenwarnung?
  • Wie würdest du einen Theme-Toggle behandeln, der localStorage liest?
  • Was macht React mit dem Server-HTML eines Teilbaums, der nicht gepasst hat?

Weitere Fragen für React-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