Interviewfrage für DevOps Engineer

Deine CI-Pipeline ist flaky und das Team startet rote Builds inzwischen neu, ohne sie zu lesen. Wie behebst du das?

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

Kurzantwort

Behandle Flakiness wie einen Produktionsincident, denn eine Pipeline, der niemand traut, gibt überhaupt keine Sicherheit. Miss zuerst: Pass Rate tracken und Tests, die sporadisch fehlschlagen, in Quarantäne schicken, damit main wieder grün wird. Dann die quarantänierten Tests nach Ursache fixen, meist geteilter Zustand, Timing-Annahmen oder eine echte Race Condition. Setz eine Regel durch, dass Quarantäne befristet ist, mit Owner und Deadline, damit sie kein Friedhof wird.

Warum Interviewer das fragen

Das ist eine Kultur- und Systemfrage. Der Interviewer will sehen, dass du den echten Schaden erkennst, nämlich dass Neustarten Leuten beibringt, echte Fehler zu ignorieren, und dass du einen konkreten Plan hast statt eines Appells an Disziplin. Er hört außerdem darauf, ob du Tests leichtfertig löschen oder quarantänieren würdest, denn ein flaky Test deutet manchmal auf einen echten Concurrency-Bug im Produkt hin.

So baust du deine Antwort auf

  • Benenne die echten Kosten: ein roter Build, der nichts bedeutet.
  • Miss die Flakiness, bevor du irgendetwas fixt.
  • Quarantäne, um Vertrauen wiederherzustellen, dann nach Ursache fixen.
  • Setz Leitplanken um die Quarantäne, damit sie befristet bleibt.

Beispielantwort

Gesprochenes Beispiel, erste Person

Das Gefährliche ist nicht die verlorene Zeit, sondern dass Leute gelernt haben, dass rot nicht kaputt heißt. An dem Tag, an dem eine echte Regression landet, wird sie also mit durchgestartet. Ich fange mit Messen an, denn Meinungen darüber, welche Tests flaky sind, liegen meist daneben. Die Suite wiederholt auf einem unveränderten Commit laufen lassen oder Pass Rates pro Test über ein paar hundert Läufe tracken, und du hast eine Rangliste. Dann die schlimmsten aus dem blockierenden Pfad in Quarantäne, damit main grün ist und rot wieder etwas bedeutet, aber Quarantäne mit Owner und Ablaufdatum, sonst wird es ein Friedhof, in den niemand schaut. Beim Fixen clustern die Ursachen: Tests, die sich über eine Datenbank oder ein Singleton Zustand teilen, sleeps statt richtiger Waits und Abhängigkeit von Reihenfolge. Und manche sind echte Bugs. Ich habe mal einen Test gejagt, der einmal in fünfzig fehlschlug, und es war eine echte Race Condition in einem Connection Pool, die als sporadisches Produktionsproblem aufgetaucht wäre, das niemand hätte reproduzieren können.

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

  • Wie verhinderst du, dass neue flaky Tests gemerged werden?
  • Wann ist es richtig, einen Test zu löschen?
  • Wie gehst du mit Flakiness um, die von einer geteilten Testumgebung kommt?

Weitere Fragen für DevOps Engineer

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