Interviewfrage für React-Entwickler

Wann greifst du zu useMemo statt useCallback, und wann lässt du beides weg?

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

Kurzantwort

useMemo cacht einen berechneten Wert zwischen Renders, useCallback cacht eine Funktionsreferenz. Es ist derselbe Mechanismus, denn useCallback(fn, deps) ist useMemo(() => fn, deps). Greif dazu, wenn ein Wert wirklich teuer zu berechnen ist oder wenn eine Referenz Dependency eines Effects oder Prop einer memoisierten Child-Komponente ist. Bei billigen Werten lass beides weg, denn die Buchführung ist nicht umsonst.

Warum Interviewer das fragen

Reflexhafte Memoization gehört zu den häufigsten Smells in React-Code, der Interviewer will also Urteilsvermögen statt Gewohnheit. Er prüft, ob du referenzielle Identität verstanden hast, ob du weißt, dass das Memoisieren einer Prop nur hilft, wenn das Child selbst memoisiert ist, und ob du zum Profiler greifst, bevor du Hooks streust. 2026 will er womöglich auch hören, wo der React Compiler das komplett überflüssig macht.

So baust du deine Antwort auf

  • Nenn den Unterschied in einem Satz: Wert gegen Funktionsreferenz.
  • Gib die zwei Fälle, in denen es sich wirklich auszahlt.
  • Sag, was du misst, bevor du es einbaust.
  • Erwähn den React Compiler und wohin sich manuelle Memoization entwickelt.

Beispielantwort

Gesprochenes Beispiel, erste Person

Das ist dasselbe Werkzeug mit zwei Hüten. useMemo cacht einen Wert, useCallback eine Funktion, und intern ist useCallback nur useMemo, das diese Funktion zurückgibt. Ich greife aus genau zwei Gründen dazu. Erstens: Die Berechnung ist wirklich teuer, etwa ein paar tausend Zeilen sortieren und gruppieren. Zweitens: Die Identität des Dings zählt, weil es Dependency eines Effects oder Prop einer in React.memo verpackten Komponente ist. Trifft keins von beidem zu, lasse ich es, denn jeder Memo-Aufruf kostet trotzdem einen Vergleich und etwas Speicher und macht den Code beim Lesen lauter. Was ich zuerst mache, ist den React Profiler aufmachen und schauen, ob das Re-Render überhaupt etwas kostet. Meistens ist der echte Fix kein Memo, sondern State näher an die Stelle zu ziehen, wo er benutzt wird, damit der halbe Baum aufhört zu rendern. Und in neueren Projekten mit aktiviertem React Compiler fällt ein Großteil dieser manuellen Memoization weg, worüber ich froh bin, der Code liest sich ohne sie besser.

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 vergleicht React.memo standardmäßig und wie änderst du das?
  • Warum hebelt ein inline erzeugtes Objekt als Prop React.memo aus?
  • Wie würdest du etwas memoisieren, das von einem Wert aus dem Context abhängt?

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