Diese Lektion wurde automatisch ins Deutsche übersetzt und noch nicht von einem Menschen geprüft. Falls etwas seltsam klingt, gilt die englische Fassung.
Sie haben die Codierungsrunden überstanden. Jetzt schiebt der Interviewer einen Whiteboard-Marker über den Tisch und sagt: „Entwerfen Sie ein Empfehlungssystem für 50 Millionen Benutzer.“ Ihre Handflächen werden feucht – nicht weil Sie sich nicht mit ML auskennen, sondern weil Sie noch nie geübt haben, über ganze Systeme laut zu denken. Diese Lektion bietet Ihnen einen wiederholbaren Rahmen, der diese offene Frage in ein strukturiertes Gespräch verwandelt.
Der Schwerpunkt des traditionellen Softwaresystemdesigns liegt auf Datenfluss, Speicherung und Skalierbarkeit. Das ML-Systemdesign fügt eine zusätzliche Dimension hinzu: Das Modell ist eine lebende Komponente, die sich mit der Zeit verschlechtert, von der Datenqualität abhängt und eine kontinuierliche Bewertung erfordert.
Interviewer suchen nicht nach einem perfekten Architekturdiagramm. Sie wollen sehen, dass Sie:
Der größte Fehler, den Kandidaten machen, besteht darin, direkt zur Modelauswahl zu springen. Interviewer berichten immer wieder, dass Kandidaten sich durch die Formulierung von Problemen und die Diskussion von Daten von anderen abheben.
Nutzen Sie dieses Framework als Grundgerüst für jede Designfrage. Sie müssen nicht für jeden Schritt die gleiche Zeit aufwenden – passen Sie sich also der Frage an –, aber wenn Sie jeden einzelnen Schritt berühren, signalisieren Sie Reife.
Beginnen Sie mit der Klärung des Ziels. Fragen Sie: Wie sieht Erfolg für das Unternehmen aus?
Ordnen Sie die Geschäftsmetrik frühzeitig einem ML-freundlichen Ziel zu. „Benutzerinteraktion steigern“ könnte beispielsweise heißen: „Klickwahrscheinlichkeit auf jedes Element vorhersagen und anhand der Punktzahl bewerten“.
Anmelden um an der Diskussion teilzunehmen
Besprechen Sie, woher die Daten kommen, wie sie gesammelt werden und welche Probleme Sie erwarten:
Beschreiben Sie die Funktionen, die Sie extrahieren würden. Gruppieren Sie sie logisch:
| Funktionsgruppe | Beispiele | |---|---| | Benutzerfunktionen | Altersgruppe, Amtszeit, historische Klickrate | | Artikelmerkmale | Kategorie, Preisspanne, Beliebtheitswert | | Kontextfunktionen | Tageszeit, Gerätetyp, Standort | | Interaktionsfunktionen | Benutzer×Element-Kookkurrenz, Sitzungstiefe |
Besprechen Sie jetzt – und nur jetzt – Modelle. Begründen Sie Ihre Wahl:
Erläutern Sie, wie Sie trainieren und validieren würden:
Wählen Sie Kennzahlen aus, die mit dem Geschäftsziel übereinstimmen. Precision@K für Ranking, AUC-ROC für binäre Klassifizierung, NDCG für geordnete Listen.
Besprechen Sie, wie das Modell Benutzer erreicht:
Erklären Sie, was Sie nach der Einführung beobachten würden: Datendrift, Verschiebungen der Vorhersageverteilung und Online-Metriken über A/B-Tests.
Stellen Sie sich vor, Sie entwerfen ein System zur Betrugserkennung. Das Unternehmen sagt: „Fang jeden Betrug.“ Warum ist eine 100-prozentige Rückrufquote ein gefährliches Ziel und wie würden Sie die Diskussion über akzeptable Kompromisse gestalten?
Was sollten Sie in einem ML-Systemdesign-Interview ZUERST tun, wenn Sie eine Designaufforderung erhalten?
Interviewer lieben Kompromissgespräche, weil sie tiefe Erfahrungen offenbaren. Hier sind die Kompromisse, die am häufigsten auftauchen:
| Kompromiss | Wann man links bevorzugen sollte | Wann man das Richtige bevorzugen sollte | |---|---|---| | Latenz vs. Genauigkeit | Benutzeroberfläche in Echtzeit (Suche) | Batch offline (E-Mail-Rechnung) | | Einfaches vs. komplexes Modell | Kleine Datenmengen erfordern Interpretierbarkeit | Große Datenmengen, Genauigkeit ist entscheidend | | Batch- vs. Echtzeit-Bereitstellung | Vorhersagen ändern sich nicht schnell | Vorhersagen müssen den aktuellen Kontext widerspiegeln | | Bauen vs. Kaufen | Kernunterscheidungsmerkmal für das Unternehmen | Warenfähigkeit (z. B. OCR) |
Wenn Sie einen Kompromiss besprechen, verwenden Sie dieses Muster:
„Wir könnten uns für Option A entscheiden, die uns [Vorteil] bringt, aber der Nachteil sind [Kosten]. Alternativ Option B [Vorteil], obwohl sie [Kosten] mit sich bringt. Angesichts der [spezifischen Einschränkung durch das Problem] würde ich mich für Option A entscheiden, weil …“
Netflix schätzt, dass das Unternehmen durch sein Empfehlungssystem jährlich über 1 Milliarde US-Dollar an geringerer Abwanderung einspart. Der Wert dieses einzelnen ML-Systems übersteigt das BIP einiger kleiner Länder.
Eingabeaufforderung: „Entwerfen Sie ein Content-Moderationssystem für eine Social-Media-Plattform.“
Warum ist in Empfehlungssystemen ein hybrider Serving-Ansatz (Batch-Kandidatengenerierung + Echtzeit-Ranking) üblich?
Die besten Antworten zum ML-Systemdesign fühlen sich wie ein Gespräch an, nicht wie eine Vorlesung. Machen Sie eine Pause, um mit dem Interviewer Rücksprache zu halten, klärende Fragen zu stellen und seien Sie bereit, umzuschwenken, wenn er Sie in eine andere Richtung drängt.