Interviewfragen zum State Management (Senior) mit Antworten

75 Fragen fürs Vorstellungsgespräch zum State Management (Senior) mit richtigen Antworten, Erklärungen und Links zur Dokumentation.

Diesen Test machen
  1. 1.Warum abonnieren Redux, Zustand und ähnliche Bibliotheken über useSyncExternalStore?
  2. 2.Was ist an diesem getSnapshot falsch?
  3. 3.Was ist der Unterschied zwischen dem Modell „Selektor abonnieren“ (Redux, Zustand) und Context?
  4. 4.Wo sollte der Zustand eines Listenfilters (Suchtext, Sortierung, Seite) in einer App mit Routing idealerweise liegen?
  5. 5.Welche Einteilung von State hilft in einer großen App bei der Werkzeugwahl?
  6. 6.Wie verhindert man, dass Konsumenten eines CartContext neu rendern, wenn sie nur Actions im Stil von dispatch nutzen?
  7. 7.Warum werden Context-Provider im Next.js App Router in eine eigene Client-Komponente gelegt?
  8. 8.Warum gilt „ein großer AppContext mit allem State“ als Anti-Pattern?
  9. 9.Was bringt use(Context) in React 19 gegenüber useContext?
  10. 10.Wofür ist createListenerMiddleware da?
  11. 11.Was bringt combineSlices in Redux Toolkit?
  12. 12.Warum sollte man keine Promises, Klasseninstanzen oder Funktionen in den Redux Store legen?
  13. 13.Was braucht ein memoisierter Selektor aus createSelector, um mit Argumenten effektiv zu sein?
  14. 14.Warum empfiehlt Redux mit createSlice die Struktur „Ducks“/Feature-Ordner?
  15. 15.Ein Reducer für orders/placed muss auch den Warenkorb-Slice leeren. Wie macht man das idiomatisch?
  16. 16.Warum ist ein Zustand-Store auf Modulebene beim SSR (Next.js) gefährlich?
  17. 17.Wie speichert man nur einige Felder eines Zustand-Stores und behandelt Schemaänderungen?
  18. 18.Wie reagiert man außerhalb von React auf Zustand-Änderungen (z. B. Sync zu einem Analytics-SDK)?
  19. 19.Was bringt die Middleware devtools einem Zustand-Store?
  20. 20.Zustand vs. Redux Toolkit: wann ist RTK die stärkere Wahl?
  21. 21.Wie implementiert man in TanStack Query ein optimistisches Update mit dem Cache?
  22. 22.Was ist Structural Sharing in TanStack Query?
  23. 23.Warum werden Query-Key-Factories empfohlen?
  24. 24.Wie gibt man im Next.js App Router auf dem Server vorgeladene TanStack-Query-Daten an Client-Komponenten weiter?
  25. 25.Warum darf man auf dem Server keinen globalen QueryClient für alle Anfragen erzeugen?
  26. 26.Was ändert useSuspenseQuery?
  27. 27.Was muss man für useInfiniteQuery konfigurieren?
  28. 28.Wie bricht man in TanStack Query eine laufende Anfrage ab, wenn eine Query nicht mehr genutzt wird?
  29. 29.Was bringt die Option select von useQuery?
  30. 30.Wie macht man ein optimistisches Update in RTK Query?
  31. 31.Wie entscheidet RTK Query bei Tags auf ID-Ebene, welche getaggten Queries neu geladen werden?
  32. 32.Wofür nutzt man transformResponse in einem RTK-Query-Endpunkt?
  33. 33.Wie schreibt man das Ergebnis einer Mutation ohne Neuladen direkt in eine gecachte Query (pessimistisches Update)?
  34. 34.Können State aus RTK Query und createSlice in einem Store koexistieren?
  35. 35.Wie macht man ein optimistisches Update mit mutate von SWR?
  36. 36.Was bringt useSWRMutation gegenüber fetch gefolgt von mutate?
  37. 37.Wie vermeidet SWR das Neurendern einer Komponente, wenn sich unbeteiligte Felder der Antwort ändern?
  38. 38.Wie gibt man auf dem Server geladene Daten an SWR, damit das erste Client-Rendern sie hat?
  39. 39.SWR vs. TanStack Query: was ist eine faire Zusammenfassung?
  40. 40.Warum heißt es, Route-Loader beseitigen „Anfrage-Wasserfälle“ im Vergleich zum Laden in useEffect?
  41. 41.Wie verhindert man, dass ein Loader nach jeder Action auf der Seite erneut läuft?
  42. 42.Wie baut man optimistische UI mit einem React-Router-Fetcher?
  43. 43.Wie streamt man langsame, unkritische Daten aus einem React-Router-Loader?
  44. 44.Braucht man mit React-Router-Loadern noch eine Client-Cache-Bibliothek (TanStack Query)?
  45. 45.Wie sollten Validierungsfehler aus einer React-Router-action zum Formular gelangen?
  46. 46.Eine Alt-App hält API-Antworten in Redux-Slices mit handgeschriebenen Lade-Flags. Was ist eine pragmatische Migration?
  47. 47.Wie hält man den Client-State zweier Browser-Tabs synchron (z. B. Logout in einem Tab)?
  48. 48.Was ist das Hauptrisiko, Serverdaten aus useQuery in einen Zustand/Redux-Store zu kopieren?
  49. 49.Welcher Ansatz macht State-Logik unabhängig von der Bibliothek am leichtesten unit-testbar?
  50. 50.Wann ist ein endlicher Automat (z. B. XState) ein besseres Modell als ein Reducer mit Flags?
  51. 51.Wie schiebt man WebSocket-Updates in einen Cache-Eintrag von RTK Query?
  52. 52.Wie implementiert man Infinite Scrolling mit einem einzigen Cache-Eintrag in RTK Query?
  53. 53.Was bringt das Speichern des TanStack-Query-Caches (persistQueryClient), und worauf muss man achten?
  54. 54.Was passiert mit TanStack-Query-Anfragen, wenn der Browser offline geht (Standard networkMode: 'online')?
  55. 55.Was ist an diesem Cache-Update falsch?
  56. 56.Wie sollte man Komponenten mit TanStack Query in Tests aufsetzen?
  57. 57.Wie gibt man jeder Instanz eines komplexen Widgets einen eigenen Zustand-Store?
  58. 58.Wie reagiert man auf sehr häufige Zustand-Änderungen (z. B. Zeigerposition mit 60fps), ohne neu zu rendern?
  59. 59.Wie implementiert man Undo/Redo für einen großen Dokument-State effizient?
  60. 60.Warum validiert man aus der URL (Suchparameter) gelesenen State mit einem Schema?
  61. 61.Warum sendet man bei einer optimistischen Anfrage „Bestellung anlegen“, die wiederholt werden kann, einen Idempotency Key mit?
  62. 62.Wie zeigt man einen globalen Hinweis für alle laufenden React-Router-Fetcher (z. B. mehrere „Like“-Buttons)?
  63. 63.Was erlaubt die Option provider für einen eigenen SWR-Cache?
  64. 64.Was ändert sich typischerweise an Client-State-Bibliotheken, wenn React Server Components Daten auf dem Server laden?
  65. 65.Warum baut React Redux useSelector auf useSyncExternalStoreWithSelector auf?
  66. 66.Wie sollten unabhängig deployte Micro-Frontends State wie den aktuellen Nutzer teilen?
  67. 67.Wann hilft useSelector(selector, shallowEqual)?
  68. 68.Welcher Ansatz passt zu kollaborativer Bearbeitung, bei der mehrere Nutzer dasselbe Dokument offline und online ändern?
  69. 69.Wie aktualisiert man ein bearbeitetes Todo in allen gecachten Listen (gefilterte Ansichten) auf einmal?
  70. 70.Warum können abhängige Queries einen Wasserfall erzeugen, und wie verringert man ihn?
  71. 71.Wie unterscheidet sich staleTime: Infinity von refetchOnMount: false?
  72. 72.Wann ist ein Event-Bus für Kommunikation zwischen Features besser als geteilter State?
  73. 73.Warum modelliert man asynchronen State als Discriminated Union statt als getrennte Felder?
  74. 74.Was ist an providesTags: (result) => result.map(({ id }) => ({ type: "Post", id })) falsch?
  75. 75.Wo sollte der ungespeicherte Entwurf eines langen Formulars liegen, damit er Neuladen oder Absturz übersteht?