Interviewfrage für Softwareentwickler

Was ist der Unterschied zwischen Logs, Metriken und Traces, und wann greifst du zu welchem?

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

Kurzantwort

Metriken sind aggregierte Zahlen über die Zeit, billig zu speichern und das, worauf du alarmierst. Logs sind einzelne Events mit Details, das, was du liest, sobald du ungefähr weißt, wo du suchen musst. Traces folgen einem Request über Services hinweg und zeigen, wo die Zeit geblieben ist. In einem Incident gehst du typischerweise über Metriken zum Bemerken, Traces zum Eingrenzen und Logs zum Verstehen, ein System, dem eins von den dreien fehlt, macht Debugging also langsamer als nötig.

Warum Interviewer das fragen

Interviewer fragen das, um zu sehen, ob du betrieben hast, was du gebaut hast. Sie wollen die Unterscheidung zwischen auf Metriken alarmieren und mit Logs und Traces debuggen, ein Gespür für den Kostenunterschied, weil Logs bei Volumen teuer werden, und idealerweise den Punkt, dass strukturierte Logs mit einer Correlation-id alle drei zusammen nutzbar machen. Schwammige Antworten deuten auf jemanden, der nie Bereitschaft hatte.

So baust du deine Antwort auf

  • Definier jedes in einer Zeile nach Form und Kosten.
  • Bild sie auf den Ablauf eines Incidents ab.
  • Betone die Correlation-id, die sie zusammenbindet.
  • Erwähn Kardinalität und Kostengrenzen.

Beispielantwort

Gesprochenes Beispiel, erste Person

Metriken sind Counter und Histogramme, über die Zeit aggregiert. Sie sind billig, sie sind das, worauf ich Alarme lege, und sie sagen mir, dass etwas falsch ist, aber nie warum. Logs sind einzelne Events mit Kontext, bei Volumen teuer, und das, was ich lese, sobald ich weiß, wo ich suchen muss. Traces nähen einen Request über jeden Service zusammen, den er berührt hat, und zeigen die Zeit in jedem Span, was der schnellste Weg ist, um zu beantworten, ob das Problem bei uns oder bei einer Abhängigkeit liegt. In einem Incident ist der Ablauf im Grunde Metriken zum Bemerken, Traces zum Eingrenzen, Logs zum Verstehen. Was sie zusammen funktionieren lässt, ist eine Correlation-id, die durch jeden Aufruf propagiert und in jeder strukturierten Logzeile steht, damit ich von einem langsamen Trace direkt zu den passenden Logeinträgen springen kann. Mein Fehler dabei war Kardinalität: Ich habe mal die User-id als Metrik-Label ergänzt und die Zahl der Zeitreihen ist explodiert, was schnell teuer wurde. Hohe Kardinalität gehört in Traces und Logs, nicht in Metrik-Labels.

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

  • Worauf würdest du bei einem typischen API-Service alarmieren?
  • Wie hältst du die Logging-Kosten bei hohem Volumen im Griff?
  • Wie beeinflusst Sampling, was du aus Traces lernen kannst?

Weitere Fragen für Softwareentwickler

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