Hol die Logik aus den Zellen in getestete Module, mit Feature Engineering, das Training und Serving gemeinsam nutzen, damit die beiden nicht auseinanderlaufen können. Verpack das Training als parametrisierten Job, serialisiere die komplette Pipeline inklusive Preprocessing statt nur des Estimators und stell Scoring hinter einem Interface mit Input-Validierung bereit. Monitoring auf Inputs und Predictions kommt vor dem Launch, nicht danach.
Warum Interviewer das fragen
Der Interviewer prüft, ob du etwas an Engineers übergeben kannst, ohne dass sie es neu schreiben müssen. Der springende Punkt ist ein gemeinsamer Pfad für Feature-Transformationen, denn Features in der Serving-Sprache nachzubauen ist die klassische Quelle für Training-Serving-Skew. Die komplette Pipeline zu serialisieren und Monitoring vorab einzubauen sind die anderen Marker von jemandem, der ein Modell wirklich betrieben und nicht nur trainiert hat.
So baust du deine Antwort auf
- Beschreib, wie du Logik aus Zellen in importierbare, getestete Funktionen ziehst.
- Besteh auf einem gemeinsamen Feature-Pfad für Training und Serving.
- Serialisiere die komplette Pipeline, nicht den nackten Estimator.
- Bau Input-Validierung und Monitoring ein, bevor es live geht.
Beispielantwort
Das Notebook ist der Ort, an dem ich herausfinde, was das Modell ist, nicht was ausgeliefert wird. Erster Schritt ist, die Logik in ein Modul mit importierbaren, testbaren Funktionen zu ziehen, plus ein paar Unit Tests auf die Feature-Transformationen mit einer winzigen Fixture, denn dort sitzen die subtilen Bugs. Am strengsten bin ich bei der Regel, dass Training und Serving denselben Feature-Code aufrufen. In dem Moment, in dem jemand die Features im Service nachbaut, driften sie, und du hast ein Modell, das in Produktion anders scort, aus Gründen, die eine Woche lang niemand findet. Dann serialisiere ich die komplette Pipeline, Imputer, Encoder, Scaler, Modell, als ein Objekt, damit Serving keinen Preprocessing-Schritt vergessen kann. Training wird ein Job, der eine Config und einen Datumsbereich nimmt und ein versioniertes Artefakt schreibt. Auf der Serving-Seite validiere ich Inputs und lehne ab oder setze Defaults, statt still Müll zu scoren. Und Monitoring kommt vor dem Launch rein: Input-Verteilungen, Prediction-Verteilung, Null-Raten, Latenz. Wenn ich nur eines davon bekomme, nehme ich Input Drift, denn das ändert sich zuerst.
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 gehst du mit Features um, die zur Serving-Zeit Echtzeitaggregation brauchen?
- Wie sieht ein guter Rollback-Plan für ein Modell aus?
- Wie testest du eine Modellpipeline in der Continuous Integration?
Weitere Fragen für Data Scientist
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