Interviewfrage für Site Reliability Engineer

Was ist der Unterschied zwischen einer Liveness Probe und einer Readiness Probe, und was machen Leute damit falsch?

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

Kurzantwort

Eine Readiness Probe steuert, ob ein Pod Traffic bekommt, eine Liveness Probe steuert, ob das Kubelet den Container neu startet. Der klassische Fehler ist, Liveness auf eine Downstream-Dependency zeigen zu lassen, sodass eine langsame Datenbank jeden Pod in einer Schleife neu startet und aus einem Teilausfall einen Totalausfall macht. Liveness sollte nur prüfen, dass der Prozess lebt und nicht deadlocked ist. Für langsam startende Anwendungen nimm eine Startup Probe.

Warum Interviewer das fragen

Das ist eine der wertvollsten Kubernetes-Fragen, weil die falsche Konfiguration aktiv Ausfälle verursacht und der Fehlermodus kontraintuitiv ist. Der Interviewer will hören, dass du Liveness als letztes Mittel für nicht behebbare Zustände verstehst, dass Dependency-Checks in die Readiness gehören und dass Probe-Timeouts und Schwellwerte das echte Startverhalten abbilden müssen.

So baust du deine Antwort auf

  • Nenn den mechanischen Unterschied: Traffic-Routing gegen Container-Neustart.
  • Benenn das Anti-Pattern der Dependency-Prüfung und seinen Blast Radius.
  • Erklär, was Liveness tatsächlich prüfen sollte.
  • Ergänz Startup Probes und sinnvolle Schwellwerte für langsam startende Apps.

Beispielantwort

Gesprochenes Beispiel, erste Person

Readiness entscheidet, ob der Pod in den Service-Endpoints steht, Liveness entscheidet, ob das Kubelet den Container killt und neu startet. Der Fehler, den ich real gesehen habe, war ein Team, dessen Liveness-Endpoint die Datenbank geprüft hat. Die Datenbank wurde langsam, jeder Pod hat ungefähr gleichzeitig die Liveness verfehlt, das ganze Deployment ging in eine Restart-Schleife, und statt degradierter Lesezugriffe hatten wir gar nichts mehr, plus eine Thundering Herd kalter Verbindungen beim Hochkommen. Liveness sollte fast langweilig sein: Kann der Prozess einen trivialen Handler bedienen, hängt die Event Loop nicht. Alles zu Dependencies gehört in die Readiness, denn einen Pod aus der Rotation zu nehmen ist reversibel und billig. Das andere, was ich immer prüfe, ist das Timing. Braucht die App 45 Sekunden zum Warmlaufen der Caches, nimm entweder eine Startup Probe oder setz initialDelaySeconds und failureThreshold passend, sonst hast du eine Maschine gebaut, die niemals fertig booten kann.

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 passiert mit laufenden Requests, wenn eine Readiness Probe zu scheitern beginnt?
  • Wie würdest du Probes für eine App mit 90 Sekunden Warmlaufzeit konfigurieren?
  • Wann ist es richtig, dass Liveness absichtlich fehlschlägt?

Weitere Fragen für Site Reliability 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