Interviewfragen zu Datenbanken (Senior) mit Antworten

75 Fragen fürs Vorstellungsgespräch zu Datenbanken (Senior) mit richtigen Antworten, Erklärungen und Links zur Dokumentation.

Diesen Test machen
  1. 1.Wie entscheidet PostgreSQL, ob eine Zeilenversion für eine Transaktion sichtbar ist?
  2. 2.Was ist Transaction-ID-Wraparound, und warum ist er gefährlich?
  3. 3.Was ist Table Bloat, und was verursacht ihn meist?
  4. 4.Wozu dient das Write-Ahead-Log (WAL)?
  5. 5.Was gibt man mit synchronous_commit = off auf?
  6. 6.Wie unterscheiden sich Speicher-Engines mit B-Baum und mit LSM-Baum beim Schreiben?
  7. 7.Warum tun sich zeilenorientierte Datenbanken mit Analyseabfragen über Milliarden Zeilen schwer?
  8. 8.Warum können zu viele Indizes einer schreiblastigen Tabelle über den Plattenplatz hinaus schaden?
  9. 9.Was ist Write Skew?
  10. 10.Wie setzt PostgreSQL die Stufe Serializable um?
  11. 11.Wie baut man auf PostgreSQL eine Job-Queue, die viele Worker sicher abfragen?
  12. 12.Was sind Advisory Locks in PostgreSQL?
  13. 13.Viele Anfragen aktualisieren dieselbe Zählerzeile (UPDATE stats SET views = views + 1 WHERE id = 1). Was ist das Problem und eine Lösung?
  14. 14.Warum sollte man die Eindeutigkeit eines Idempotenzschlüssels per Eindeutigkeitseinschränkung durchsetzen statt per „prüfen, dann einfügen“?
  15. 15.Warum reicht eine verteilte Sperre in Redis (etwa Redlock) allein nicht aus, um die Korrektheit von Daten zu schützen?
  16. 16.Was ist der Kompromiss zwischen synchroner und asynchroner Replikation?
  17. 17.Ein Nutzer ändert sein Profil und sieht sofort die alten Daten. Lesezugriffe gehen an Replicas. Was ist das Problem und die Lösung?
  18. 18.Was erlaubt logische Replikation, was physisches Streaming nicht kann?
  19. 19.Was ist Change Data Capture (CDC)?
  20. 20.Was ist „Split Brain“ in einem Failover-Setup?
  21. 21.Was bedeuten RPO und RTO?
  22. 22.Wann hilft Tabellenpartitionierung in PostgreSQL am meisten?
  23. 23.Was macht einen guten Shard-Schlüssel aus?
  24. 24.Warum nutzt man Consistent Hashing in verteilten Datenspeichern?
  25. 25.Welche Probleme entstehen, sobald Daten über Datenbanken geshardet sind?
  26. 26.Wie erzeugt man eindeutige IDs über Shards hinweg ohne zentrale Sequenz?
  27. 27.Was besagt das CAP-Theorem?
  28. 28.Was bedeutet „Eventual Consistency“?
  29. 29.Was ist Linearisierbarkeit?
  30. 30.Warum liefern in einem Quorum-System mit N Replicas Lese- und Schreibvorgänge mit R + W > N aktuelle Daten?
  31. 31.Eine Abfrage ist in der Entwicklung schnell, in Produktion mit denselben Indizes aber langsam. Was prüft man zuerst?
  32. 32.Welches Problem können Prepared Statements mit generischen Plänen verursachen?
  33. 33.Welche Fallstricke bringt PgBouncer im Transaction-Pooling-Modus?
  34. 34.Wie befüllt man eine neue Spalte in einer Tabelle mit 500 Millionen Zeilen sicher?
  35. 35.Wie fügt man einer großen Tabelle einen Fremdschlüssel oder eine NOT NULL-Prüfung hinzu, ohne Schreibvorgänge lange zu blockieren?
  36. 36.Wie zählt man eindeutige Besucher über riesige Datenmengen billig, wenn ungefähre Ergebnisse reichen?
  37. 37.Was ist ein typischer Grund, max_connections in PostgreSQL zu begrenzen und zu poolen, statt es auf Tausende zu erhöhen?
  38. 38.Was sind die Kompromisse von „geteilten Tabellen mit tenant_id“ gegenüber „einem Schema oder einer Datenbank pro Mandant“ in einer SaaS-App?
  39. 39.Was ist Event Sourcing?
  40. 40.Was ist CQRS im Kontext der Datenspeicherung?
  41. 41.Warum ist ein „Dual Write“ (in die Datenbank schreiben, dann an Kafka veröffentlichen) riskant, und was ist die Alternative?
  42. 42.Wie modelliert man Zeitreihendaten, etwa Metriken jede Sekunde von 10.000 Geräten, in PostgreSQL?
  43. 43.Was ist das Single-Table-Design von DynamoDB?
  44. 44.Warum ist Redis als einziger Speicher für wichtige Geschäftsdaten riskant?
  45. 45.Wann ergibt eine Suchmaschine wie Elasticsearch oder OpenSearch neben PostgreSQL Sinn?
  46. 46.Wofür nutzt man ein Sternschema?
  47. 47.Wie macht man ein Hauptversions-Upgrade von PostgreSQL mit minimaler Ausfallzeit?
  48. 48.Warum reichen logische Dumps (pg_dump) allein als Backup-Strategie für eine große, viel genutzte Datenbank nicht aus?
  49. 49.Welche Maßnahmen schützen sensible Spalten (etwa personenbezogene Daten) in einer Datenbank?
  50. 50.Wobei hilft pg_stat_activity bei einem Vorfall?
  51. 51.Wie sollte ein Team die Wahl einer Datenbank für ein neues Produkt angehen?
  52. 52.Welche Rolle spielen shared_buffers und der Page Cache des Betriebssystems für die Performance von PostgreSQL?
  53. 53.Warum kann eine Abfrage mit OR über verschiedene Spalten langsam sein, und was hilft?
  54. 54.Was bewirkt die Speichereinstellung fillfactor bei einer stark aktualisierten Tabelle?
  55. 55.Wofür sind erweiterte Statistiken (CREATE STATISTICS) da?
  56. 56.Warum kann eine Abfrage mit LIMIT manchmal langsamer sein als dieselbe ohne LIMIT?
  57. 57.Wofür ist ein Wide-Column-Store wie Cassandra ausgelegt?
  58. 58.Wann passt eine Graphdatenbank (wie Neo4j) besser als eine relationale?
  59. 59.Wie hängen Write Concerns und Read Concerns von MongoDB mit Konsistenz zusammen?
  60. 60.Wofür nutzt man eine Vektordatenbank (oder die Erweiterung pgvector)?
  61. 61.Warum ist es riskant, Events nach von verschiedenen Servern erzeugten Datenbank-Zeitstempeln zu ordnen?
  62. 62.Was ist das Hauptrisiko von ON DELETE CASCADE-Ketten in einem großen Schema?
  63. 63.Welche Reihenfolge des zusammengesetzten Index ist für WHERE tenant_id = $1 AND created_at > $2 ORDER BY created_at am besten?
  64. 64.Wie kann PostgreSQL auf Datenbankebene zwei überlappende Buchungen desselben Raums verhindern?
  65. 65.Wann ist Hash-Partitionierung nützlich?
  66. 66.Ein Bestellablauf umfasst die Services Bestellungen, Zahlungen und Versand, jeder mit eigener Datenbank. Wie hält man sie ohne verteilte Transaktionen konsistent?
  67. 67.Lange Analyseabfragen auf einer Streaming-Replica werden mit „conflict with recovery“ abgebrochen. Warum?
  68. 68.Was ist eine sichere Abfolge, um in einem System mit Rolling Deploys eine Spalte zu löschen?
  69. 69.Direkt nach einem Datenbank-Failover steigt die Latenz, obwohl der neue Primary dieselbe Hardware hat. Was ist eine wahrscheinliche Ursache?
  70. 70.Ein Nutzer verlangt, alle seine personenbezogenen Daten zu löschen (DSGVO). Was wird oft übersehen?
  71. 71.Warum sollte man Migrationen gegen eine Kopie der Daten in Produktionsgröße testen?
  72. 72.Nach einem Deploy öffnen Hunderte neuer App-Instanzen gleichzeitig Verbindungen, und die Datenbank reagiert nicht mehr. Was hilft?
  73. 73.Was ist TOAST in PostgreSQL?
  74. 74.Wie hält man einen denormalisierten Wert wie posts.comments_count unter Nebenläufigkeit korrekt?
  75. 75.Warum passt ein eindeutiger Index auf email eventuell nicht mehr, sobald man Soft Deletes einführt?