Setz Cache-Control mit einem expliziten max-age und einem Geltungsbereich: public für gemeinsames CDN-Caching, private für nutzerbezogene Daten. Ergänz stale-while-revalidate, damit Clients leicht veraltete Daten ausliefern, während im Hintergrund aktualisiert wird. Nimm ein ETag oder Last-Modified dazu, damit Revalidierung ein billiges 304 statt eines vollen Bodys ist. Bei allem Nutzerspezifischen setzt du Vary auf Authorization oder Cookie, damit Caches nie Konten vertauschen.
Warum Interviewer das fragen
Caching ist die Stelle, an der Full-Stack-Entwickler entweder echtes Geld sparen oder fremde Daten leaken, der Interviewer prüft also Performance-Instinkt und Sicherheitsinstinkt zugleich. Er will sehen, dass du den Unterschied zwischen Browser-, CDN- und Origin-Cache kennst, dass du die Header benennen kannst statt nur darauf zu deuten, und dass du sofort an den Fehlerfall mit privaten Daten denkst, ohne dass man dich stupsen muss.
So baust du deine Antwort auf
- Nenn den Header, der die Policy setzt, und seine wichtigsten Direktiven.
- Erklär Revalidierung mit ETag und der 304-Antwort.
- Deck den Fall privater Daten und Vary ab.
- Erwähn, wie du invalidierst, wenn sich Daten ändern.
Beispielantwort
Meine erste Frage ist, wer diese Antwort halten darf. Ist sie für alle gleich, lässt public mit einem echten max-age das CDN den Traffic absorbieren und der Origin sieht kaum etwas. Ist sie pro Konto, muss sie private sein, und ich setze Vary auf Authorization, damit ein gemeinsamer Cache nicht die Payload eines Nutzers an einen anderen ausliefert. Dieser Fehler ist leise und katastrophal, ich prüfe ihn deshalb explizit. Dann ergänze ich ein ETag, weil ein 304 ein paar hundert Byte statt des kompletten Bodys kostet, und stale-while-revalidate, damit kein Nutzer auf eine Aktualisierung wartet. Bei allem, was aktuell sein muss, gehe ich auf ein kurzes max-age plus Revalidierung statt auf no-store, weil no-store den billigen Gewinn wegwirft. Auf der letzten API, an der ich gearbeitet habe, hat der Wechsel eines öffentlichen Preis-Endpoints von no-cache auf sechzig Sekunden public mit stale-while-revalidate die Origin-Requests um rund 90 Prozent gesenkt, und niemand hat eine Minute Veraltung bemerkt.
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 esNachfragen, mit denen du rechnen solltest
- Wie würdest du das CDN purgen, wenn sich die zugrunde liegenden Daten ändern?
- Was ist der Unterschied zwischen no-cache und no-store?
- Wie cachest du gehashte statische Assets anders als API-Antworten?
Weitere Fragen für Full-Stack-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