Interviewfragen zu System Design (Senior) mit Antworten
75 Fragen fürs Vorstellungsgespräch zu System Design (Senior) mit richtigen Antworten, Erklärungen und Links zur Dokumentation.
Diesen Test machen- 1.Was besagt das CAP-Theorem?
- 2.Ein Nutzer hat sein Profil aktualisiert, die Seite neu geladen und die alten Daten gesehen. Welche Garantie wurde verletzt?
- 3.Warum ist „Erstellungsdatum“ als Sharding-Schlüssel gefährlich?
- 4.Warum nutzt man Consistent Hashing beim Hinzufügen von Cache-Knoten?
- 5.Warum setzt man eine Message Queue zwischen die API und einen Worker für schwere Aufgaben?
- 6.Warum müssen Konsumenten einer „at-least-once“-Queue idempotent sein?
- 7.Was ist Backpressure?
- 8.Wie unterscheidet sich Fan-out on Write von Fan-out on Read in einem sozialen Feed?
- 9.Wie garantiert man die richtige Reihenfolge der Nachrichten in einem Chat?
- 10.Welche Komponenten braucht man meist in der Architektur eines Messengers?
- 11.Wie skaliert man WebSocket-Server horizontal?
- 12.Wie setzt man einen „Online“-Status für Millionen Nutzer um?
- 13.Wie unterscheidet sich OT von CRDT bei kollaborativer Bearbeitung?
- 14.Wie funktioniert adaptives Video-Streaming (HLS/DASH)?
- 15.Wie würdest du das Ausliefern von Nutzerbildern in verschiedenen Größen entwerfen?
- 16.Wie setzt man Rate Limiting um, wenn die API auf 20 Servern läuft?
- 17.Wofür ist ein Bloom-Filter nützlich?
- 18.Wie erzeugt man in einem URL-Shortener kurze Links?
- 19.Wie skaliert man Suchvorschläge (Typeahead) auf Millionen Anfragen pro Sekunde?
- 20.Welche Probleme entstehen, wenn man einen Service in mehreren Regionen betreibt (Active-Active)?
- 21.Warum ist ein Header
Vary: User-AgentoderVary: Cookiefür ein CDN gefährlich? - 22.Was ist ein Cache Stampede, und wie verhindert man ihn?
- 23.Wie unterscheiden sich die Strategien Cache-Aside, Write-Through und Write-Back?
- 24.Wann sollte man am Edge rendern und wann in einer Region nahe der Datenbank?
- 25.Welche Wege gibt es, Micro-Frontends zusammenzusetzen?
- 26.Wie deployt man eine API-Änderung, ohne Clients auf der alten Version zu brechen?
- 27.Warum bekommen Nutzer nach einem SPA-Deployment einen
ChunkLoadError? - 28.Wie ergänzen sich Metriken, Logs und Traces?
- 29.Was ist ein Error Budget?
- 30.Was ist das Bulkhead-Muster?
- 31.Warum ist es wichtig, auf die p99-Latenz zu schauen und nicht nur auf den Durchschnitt?
- 32.Wie verbindet man CDN-Caching von HTML mit Personalisierung (Nutzername, Warenkorb)?
- 33.Warum darf man eine erfolgreiche Umleitung von der Zahlungsseite nicht als Zahlungsbestätigung werten?
- 34.Wie prüft man die Echtheit eines eingehenden Webhooks?
- 35.Warum wird der Suchindex oft asynchron statt in derselben Transaktion aktualisiert?
- 36.Wie aktualisiert man die Datenbank und veröffentlicht atomar ein Ereignis in einer Queue?
- 37.Ein Service muss 10 Millionen tägliche aktive Nutzer mit je 20 Anfragen bedienen. Wie hoch ist die durchschnittliche Last?
- 38.Wie unterscheidet sich der Entwurf eines leselastigen Systems von einem schreiblastigen?
- 39.Wie baut man ein Analytics-Dashboard über Millionen Ereignisse, damit es schnell öffnet?
- 40.Wie würdest du ein Benachrichtigungssystem entwerfen (E-Mail, Push, In-App)?
- 41.Wie liefert man das Ergebnis einer schweren Operation (ein Berichtsexport von 5 Minuten)?
- 42.Wie kann das Frontend Feature Flags ohne Flackern der UI auswerten?
- 43.Was sollte man in Logs und Analytics für den Datenschutz minimieren?
- 44.Warum macht man signierte Links zu privaten Dateien kurzlebig?
- 45.Wie unterscheidet sich der Entwurf für starke Konsistenz bei einem Kontostand und bei einem Like-Zähler?
- 46.Was sind Hedged Requests, und wann sind sie nützlich?
- 47.Wie hält man die Website am Laufen, wenn der Empfehlungsdienst ausgefallen ist?
- 48.Wie schätzt man den Speicherbedarf für 5 Jahre Chatnachrichten von 1 Mio. Nutzern?
- 49.Wie unterscheidet sich Active-Passive-Failover von Active-Active?
- 50.Warum sollte man API-Antworten für Mobile-Clients mit langlebigen alten Versionen im Blick entwerfen?
- 51.Ist „exactly-once“-Zustellung von Nachrichten in einem verteilten System erreichbar?
- 52.Ein einzelnes Star-Konto bekommt Millionen Schreibvorgänge und überlastet seine Partition. Was hilft?
- 53.Welche Optionen zur Mandantenisolation gibt es in einem Multi-Tenant-SaaS?
- 54.Welche Datenstruktur macht Volltextsuche schnell?
- 55.Wie speichert man Metriken mit Milliarden Punkten günstig?
- 56.Wie würdest du eine Echtzeit-Bestenliste für ein Spiel umsetzen?
- 57.Was bietet eine ID im Stil von Snowflake gegenüber einer zufälligen UUIDv4?
- 58.Warum wählt man in einem replizierten Speicher mit N=3 R=2 und W=2?
- 59.Warum nutzt man Two-Phase Commit über Microservices hinweg selten?
- 60.Was ist Load Shedding?
- 61.Warum zeigen Serverless-Funktionen nach Leerlaufphasen Latenzspitzen?
- 62.Nach einem Ausfall eines WebSocket-Servers verbinden sich alle Clients gleichzeitig neu und werfen ihn wieder um. Wie verhindert man das?
- 63.Warum nutzen Zahlungssysteme ein unveränderliches doppeltes Hauptbuch statt einer veränderlichen Spalte
balance? - 64.Wie erfüllt man Anfragen zum „Recht auf Vergessenwerden“, wenn personenbezogene Daten in unveränderlichen Event-Logs und Backups liegen?
- 65.Wie benennt man eine Datenbankspalte ohne Ausfallzeit um?
- 66.Was bedeuten RPO und RTO beim Disaster Recovery?
- 67.Was ist Chaos Engineering?
- 68.Wie beeinflussen Anforderungen an den Datenstandort (z. B. EU-Daten bleiben in der EU) die Architektur?
- 69.1 Mio. Videoaufrufe pro Tag zu je 50 MB - welche durchschnittliche ausgehende Bandbreite braucht man ungefähr?
- 70.Ein Service bearbeitet 1.000 Anfragen/s bei einer durchschnittlichen Latenz von 200 ms. Wie viele Anfragen sind im Schnitt gleichzeitig in Arbeit?
- 71.Warum braucht ein verteilter Lock Fencing Tokens?
- 72.Wofür nutzt man Change Data Capture (CDC)?
- 73.Ein Dashboard führt bei jedem Laden eine schwere Aggregation aus. Was ist eine übliche Lösung?
- 74.Wie entwickelt man Schemas von Ereignissen oder Nachrichten weiter, ohne Konsumenten zu brechen?
- 75.Warum kann Sticky Routing von WebSocket-Nutzern zu einem Server Deployments erschweren?