Miss, bevor du rätst. Klär, ob es für alle langsam ist oder für ein Konto, und lies dann einen Trace, um zu sehen, wo die Zeit tatsächlich sitzt: Anwendungscode, Datenbank oder ein ausgehender Aufruf. Meistens ist es die Datenbank, hol also das Slow-Query-Log und führ EXPLAIN ANALYZE auf der verdächtigen Query aus. Parallel prüfst du, was sich geändert hat, denn ein Deploy, eine Datenmengenschwelle oder ein Cache, der nicht mehr trifft, erklärt die meisten Regressionen.
Warum Interviewer das fragen
Das ist eine Frage zum Debugging-Prozess, keine Trivia-Frage. Der Interviewer will zusehen, wie du einen Suchraum methodisch einengst, statt zu einem Fix zu springen, und er will sehen, ob du früh fragst, was sich geändert hat. Er prüft außerdem, ob du sicher über Produktion sprechen kannst: Reproduktion, Schadensradius und ob du erst mitigierst und danach diagnostizierst, wenn Nutzer betroffen sind.
So baust du deine Antwort auf
- Fang damit an einzugrenzen, wer und was betroffen ist.
- Nutz einen Trace oder Timings, um die langsame Schicht zu finden.
- Frag, was sich geändert hat: Deploy, Datenwachstum, Abhängigkeit.
- Sag, wie du mitigierst, während du weitergräbst.
Beispielantwort
Zuerst will ich die Form des Problems. Ist es jeder Request oder das neunundneunzigste Perzentil, ein Mandant oder alle, und wann genau hat es angefangen. Dieser Zeitstempel löst meist schon den halben Fall, weil er sich mit einem Deploy, einer Migration oder einer Config-Änderung deckt. Dann hole ich einen Trace für einen langsamen Request und schaue mir den Wasserfall an, denn zu raten, welche Schicht langsam ist, kostet die meiste Zeit. Ist es die Datenbank, prüfe ich das Slow-Query-Log und führe EXPLAIN ANALYZE aus, und die häufigen Antworten sind ein Plan-Umschwung nach Tabellenwachstum, ein fehlender Index auf einer neu gefilterten Spalte oder ein N-plus-eins, das erst wehtut, seit Konten mehr Zeilen haben. Ist es ein ausgehender Aufruf, prüfe ich, ob diese Abhängigkeit degradiert ist und ob wir überhaupt ein Timeout haben, denn ein fehlendes Timeout macht ihren schlechten Tag zu unserem. Wenn Nutzer währenddessen leiden, mitigiere ich zuerst: zurückrollen, einen kurzen Cache setzen oder den teuren Pfad abwerfen, und schließe die Diagnose dann ohne Druck ab.
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
- Was, wenn die Traces zeigen, dass die Zeit in deinem eigenen Anwendungscode steckt?
- Wie unterscheidest du eine Plan-Regression von einem Datenwachstumsproblem?
- Was würdest du ergänzen, damit das beim nächsten Mal schneller zu diagnostizieren ist?
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