Interviewfrage für React-Entwickler

Wie funktioniert Suspense beim Datenholen, und wie nutzt du es in React 19?

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

Kurzantwort

Eine Komponente suspendiert, wenn sie ein Promise liest, das noch nicht aufgelöst ist. React geht hoch bis zur nächsten Suspense-Boundary, zeigt deren Fallback, bis das Promise durch ist, und rendert dann den echten Inhalt. In React 19 liest du ein Promise mit dem use-Hook, üblicherweise erzeugt in einer Server Component oder einem Cache und nach unten gereicht. Suspense koordiniert Ladezustände, es holt selbst keine Daten.

Warum Interviewer das fragen

Viele können Suspense als Wrapper für einen Spinner beschreiben. Der Interviewer will wissen, ob du den Mechanismus verstehst, dass Suspendieren ein Throw-and-Retry-Modell ist, und das wichtige Detail, dass Framework oder Library das Holen übernehmen. Er prüft außerdem, ob du weißt, wo du Boundaries platzierst, damit ein langsames Panel nicht die ganze Seite leerräumt.

So baust du deine Antwort auf

  • Sag, was Suspendieren bedeutet und was die Boundary macht.
  • Nenn, woher das Promise kommen soll und woher auf keinen Fall.
  • Erklär Boundary-Platzierung und Streaming.
  • Erwähn das Waterfall-Risiko und wie du es vermeidest.

Beispielantwort

Gesprochenes Beispiel, erste Person

Suspense ist ein Koordinations-Primitiv, keine Datenschicht. Liest eine Komponente ein Promise, das noch nicht aufgelöst ist, suspendiert sie, React findet die nächste Boundary darüber, rendert deren Fallback und versucht den Teilbaum erneut, sobald das Promise durch ist. In React 19 liest man eins mit dem use-Hook, und die wichtige Regel ist, dass das Promise nicht während des Renders der Komponente entstehen darf, die use aufruft, sonst baust du bei jedem Versuch ein frisches Promise, und es löst nie auf. In der Praxis startet das Promise also in einer Server Component oder kommt aus einem Cache und wird nach unten gereicht. Serverseitig passt das zum Streaming: Die Shell geht sofort raus, und langsamere Bereiche streamen nach, sobald ihre Daten da sind. Bei der Platzierung versuche ich, das Kleinste einzupacken, für das ein User ein Skeleton akzeptieren würde, damit ein langsames Empfehlungs-Panel nicht die Produktdetails aufhält. Die Falle sind sequenzielle awaits, die einen Waterfall erzeugen, ich stoße unabhängige Fetches also gemeinsam an, bevor ich sie awaite.

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 solltest du das Promise nicht in der Komponente erzeugen, die use aufruft?
  • Wie greifen Suspense-Boundaries und Streaming beim Server-Rendering ineinander?
  • Wie vermeidest du einen Request-Waterfall über verschachtelte Komponenten hinweg?

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