Setz Backpressure ein statt zu puffern. Begrenz jede Queue, wirf früh Last ab mit einer 429 oder 503, wenn Concurrency-Limits erreicht sind, und weis Requests ab, deren Deadline schon abgelaufen ist, statt an ihnen zu arbeiten. Unbegrenzte Queues verwandeln eine Überlast in einen Latenzkollaps, weil jeder Request hinter Arbeit wartet, auf die niemand mehr wartet. Priorisier nach Tier, wenn manche Traffic-Klassen wichtiger sind, und skalier auf einem Signal, das vorläuft, etwa Queue-Tiefe.
Warum Interviewer das fragen
Das trennt Leute, die während einer Überlast Bereitschaft hatten, von denen, die das nicht hatten. Der Interviewer will hören, dass eine Queue keine freie Kapazität ist, dass Load Shedding eine legitime Designentscheidung ist und dass das Verwerfen veralteter Arbeit den Durchsatz wiederherstellt. Es prüft auch, ob du die Warteschlangen-Intuition kennst: jenseits der Sättigung steigt die Latenz, ohne dass der nützliche Durchsatz zunimmt.
So baust du deine Antwort auf
- Erklär, warum Puffern die Überlast verschlimmert statt verbessert.
- Begrenz die Queues und wirf Last mit einem expliziten Statuscode ab.
- Verwirf Arbeit, deren Deadline abgelaufen ist.
- Ergänz Priorisierung und ein Skalierungssignal, das rechtzeitig reagiert.
Beispielantwort
Der Instinkt sagt, mach die Queue größer, aber das verwandelt eine Überlast nur in langsames Scheitern, weil jeder Request hinter einem Rückstau sitzt und der Client bis zur Bedienung längst aufgegeben hat. Als Erstes begrenze ich also die Queue und setze ein Concurrency-Limit, und wenn sie voll ist, gebe ich sofort eine 503 mit Retry-After zurück. Schnell abzulehnen ist freundlicher als langsam in ein Timeout zu laufen, für den Nutzer wie für das System. Zweitens prüfe ich die Deadline, bevor ich arbeite: wartet der Request länger als sein Budget, verwerfe ich ihn, was Kapazität für Requests freimacht, die noch Erfolg haben können. Genau diese eine Änderung stellt während eines Incidents sichtbar den Durchsatz wieder her. Dann Priorisierung, denn nicht aller Traffic ist gleich; in einem System haben wir zuerst Background-Sync-Traffic abgeworfen und interaktive Requests am Laufen gehalten. Und ich skaliere auf Queue-Tiefe oder Concurrency statt auf durchschnittlicher CPU, weil CPU nahe der Sättigung abflacht und viel zu spät reagiert, um nützlich zu sein.
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 ein Concurrency-Limit wählen, statt es zu raten?
- Was ist hier der Unterschied zwischen Load Shedding und Rate Limiting?
- Wie stellst du sicher, dass abgewiesene Requests nicht alle gleichzeitig wiederkommen?
Weitere Fragen für Backend-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