Interviewfrage für React-Entwickler

Wie entscheidest du, wo ein bestimmtes Stück State leben soll?

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

Kurzantwort

Fang so lokal wie möglich an, in der Komponente, die ihn nutzt, und zieh ihn erst zum nächsten gemeinsamen Vorfahren hoch, wenn Geschwister ihn wirklich teilen müssen. Sind es Serverdaten, gehören sie in eine cachende Datenschicht und nicht in Komponenten-State. Soll ein User darauf verlinken können, etwa Filter oder den aktuellen Tab, gehört es in die URL. Ein globaler Store ist die letzte Option.

Warum Interviewer das fragen

Diese Frage zeigt architektonische Instinkte deutlicher als jedes Framework-Trivia. Der Interviewer will sehen, dass du State nach Art klassifizierst, Serverdaten gegen UI-State gegen URL-State, statt alles reflexhaft in einen globalen Store zu kippen. Er achtet auch darauf, ob du die Kosten verfrühten Hochziehens kennst, denn zu hoch angesiedelter State erzeugt breite Re-Renders und Prop Drilling, die man später schmerzhaft zurückbaut.

So baust du deine Antwort auf

  • Klassifizier den State zuerst: Server, URL, lokale UI oder wirklich global.
  • Nenn den Standard, ihn so lokal wie möglich zu halten.
  • Gib deinen Auslöser fürs Hochziehen oder den Umzug in einen Store.
  • Benenn die Kosten, wenn du es in die eine oder andere Richtung falsch machst.

Beispielantwort

Gesprochenes Beispiel, erste Person

Mein erster Schritt ist herauszufinden, um welche Art State es geht, denn das meiste, was Leute State nennen, ist gar kein lokaler State. Kommt es vom Server, geht es in einen Query-Cache, damit ich Deduplizierung, Revalidierung und Staleness-Handling bekomme, statt das per useState und Effect nachzubauen. Soll es einen Reload überleben oder als Link teilbar sein, wie aktive Filter oder der offene Tab, geht es in die URL. Was übrig bleibt, ist echter UI-State, und der startet in der Komponente, die ihn nutzt. Ich ziehe erst hoch, wenn eine zweite Komponente ihn wirklich braucht, und dann nur bis zum nächsten gemeinsamen Parent. Globale Stores hebe ich mir für Dinge auf, die tatsächlich app-weit sind, etwa den aktuellen User oder eine WebSocket-Verbindung. Das Problem, das ich am häufigsten aufgeräumt habe, ist State, der in einen Top-Level-Provider gezogen wurde, weil zwei Komponenten ihn einmal brauchten, und zwei Jahre später rendert alles bei jedem Tastendruck neu, und keiner traut sich, ihn wieder runterzuziehen.

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

  • Wie entscheidest du, dass etwas in die URL gehört statt in den Speicher?
  • Was geht kaputt, wenn Serverdaten in Komponenten-State dupliziert werden?
  • Wie würdest du State refaktorieren, der zu hoch gezogen wurde?

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