Interviewfrage für React-Entwickler

Wie wählst du zwischen lokalem State, Context und einer State-Library wie Redux oder Zustand?

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

Kurzantwort

Pass das Werkzeug zur Art des States an. Lokales useState für alles, was eine Komponente besitzt, die URL für alles Teilbare oder Bookmarkbare, ein Query-Cache für Serverdaten und Context für stabile Werte wie Theme oder den aktuellen User. Zu einem Store greifst du erst, wenn du wirklich globalen Client-State hast, den viele unzusammenhängende Komponenten lesen und schreiben, und wo du Selektoren brauchst, um nicht alles neu zu rendern.

Warum Interviewer das fragen

Das ist eine Architekturfrage im Werkzeugkostüm. Der Interviewer will hören, dass du State klassifizierst, bevor du Werkzeuge wählst, denn die meisten Redux-Stores da draußen bestehen zu neunzig Prozent aus gecachten Serverantworten, die eine Query-Library besser handhaben würde. Er prüft auch, ob du eine Entscheidung über Team und Codebasis begründen kannst statt über persönliche Vorliebe oder das, was gerade angesagt ist.

So baust du deine Antwort auf

  • Klassifizier den State zuerst: Server, URL, lokal oder global auf dem Client.
  • Ordne jeder Kategorie das Standardwerkzeug zu.
  • Nenn deinen Auslöser, überhaupt einen Store einzuführen.
  • Erwähn Teamfaktoren: Konsistenz, Devtools, Einarbeitungskosten.

Beispielantwort

Gesprochenes Beispiel, erste Person

Ich versuche herauszufinden, um welche Art State es geht, bevor ich irgendetwas auswähle, denn die größten Gewinne kommen daher, ihn gar nicht erst in einen Store zu legen. Serverdaten gehen in einen Query-Cache, weil sie Deduplizierung, Revalidierung und Invalidierung brauchen, und nichts davon ist State-Management, das ist Caching. Alles, worauf ein User verlinken oder wohin er neu laden können soll, wie Filter oder der offene Tab, geht in die URL. Alles, was eine einzelne Komponente besitzt, bleibt in useState. Context nehme ich für stabile Dinge, Theme, den eingeloggten User, eine Client-Instanz, denn er hat keine Selektoren und häufige Updates sind entsprechend teuer. Was übrig bleibt, ist wirklich globaler Client-State, etwa ein Editor mit mehreren Panels und geteiltem Undo, und dann hole ich einen Store dazu. Für ein neues Projekt tendiere ich zu einem kleinen Store mit Hook-basierten Selektoren statt Redux, aber wenn ein Team Redux Toolkit schon kann und die Devtools-Gewohnheiten hat, schlägt Konsistenz meine Vorliebe jedes Mal.

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 würde dich Redux Toolkit einem leichteren Store vorziehen lassen?
  • Wie behandelst du abgeleiteten State in dem Store, für den du dich entscheidest?
  • Wie würdest du einen Store migrieren, der überwiegend aus gecachten API-Antworten besteht?

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