← Alle Themen

Interviewfragen zu Datenbanken mit Antworten

SQL und relationale Modellierung, Joins und Aggregation, Indizes und Abfragepläne, Transaktionen und Isolation, PostgreSQL in der Praxis, NoSQL und Redis, Replikation und Sharding.

225 Fragen fürs Vorstellungsgespräch zu Datenbanken mit Antworten und Erklärungen: Level Junior, Middle und Senior. Beispielfragen, Online-Tests und Programmieraufgaben.

Fragen nach Level

Beispielfragen

Ein paar Fragen aus jedem Level mit richtiger Antwort und Erklärung.

Datenbanken · Junior

  1. Was ist eine relationale Datenbank?
    Antwort zeigen

    Richtige Antwort: Eine Datenbank aus Tabellen, die über Schlüssel verknüpft sind

    PostgreSQL, MySQL, SQL Server, Oracle und SQLite sind relationale Datenbanken. Man fragt sie mit SQL ab, und Beziehungen zwischen Tabellen werden über Primär- und Fremdschlüssel ausgedrückt.

  2. Was ist ein Primärschlüssel?
    Antwort zeigen

    Richtige Antwort: Eine Spaltenmenge, die jede Zeile eindeutig identifiziert

    Eine Tabelle hat höchstens einen Primärschlüssel. Die Datenbank legt dafür automatisch einen eindeutigen Index an, Abfragen über den Primärschlüssel sind also schnell.

  3. Was ist ein Fremdschlüssel?
    Antwort zeigen

    Richtige Antwort: Eine Spalte, die einen Schlüssel einer anderen Tabelle referenziert

    Zum Beispiel referenziert orders.user_id die Spalte users.id. Die Datenbank lehnt eine Bestellung für einen nicht existierenden Nutzer ab. ON DELETE CASCADE oder ON DELETE SET NULL legen fest, was passiert, wenn die referenzierte Zeile gelöscht wird.

  4. Wie modelliert man eine Viele-zu-viele-Beziehung, etwa Studierende und Kurse?
    Antwort zeigen

    Richtige Antwort: Mit einer Verknüpfungstabelle, z. B. enrollments(student_id, course_id), mit einem Fremdschlüssel zu jeder Seite

    Die Verknüpfungstabelle kann auch Daten über die Beziehung selbst halten, etwa Einschreibedatum oder Note. Eine kommagetrennte Liste lässt sich nicht richtig indizieren, joinen oder einschränken.

Alle 75 Fragen mit Antworten →

Datenbanken · Middle

  1. Welche Datenstruktur nutzt ein Standardindex in PostgreSQL?
    Antwort zeigen

    Richtige Antwort: Einen B-Baum

    B-Bäume halten Schlüssel sortiert und unterstützen daher Gleichheit, Bereiche (<, BETWEEN), Sortierung und Präfix-LIKE 'abc%' (mit passender Collation oder Operatorklasse). Hash, GIN, GiST und BRIN sind für Sonderfälle.

  2. Es gibt einen Index auf (last_name, first_name). Welche Abfrage kann ihn effizient nutzen?
    Antwort zeigen

    Richtige Antwort: WHERE last_name = 'Smith'

    Ein zusammengesetzter Index ist nach der ersten Spalte sortiert, darin nach der zweiten, wie ein Telefonbuch. Er hilft Abfragen auf einem führenden Präfix seiner Spalten; eine Suche nur nach first_name kann ihn meist nicht gut nutzen.

  3. Es gibt einen Index auf created_at. Warum ignoriert WHERE date(created_at) = '2026-11-01' ihn eventuell?
    Antwort zeigen

    Richtige Antwort: Die Funktion verbirgt die rohe Spalte vor dem Index

    Schreibe es um zu created_at >= '2026-11-01' AND created_at < '2026-11-02' oder lege einen Index auf den Ausdruck selbst an.

  4. Warum kann ein normaler B-Baum-Index WHERE name LIKE '%son' nicht beschleunigen?
    Antwort zeigen

    Richtige Antwort: Mit führendem Platzhalter ist der Wertanfang unbekannt

    LIKE 'son%' kann einen B-Baum nutzen (mit passender Operatorklasse). Für Teilstring- oder unscharfe Suche nutze einen Trigramm-GIN-Index (pg_trgm) oder Volltextsuche.

Alle 75 Fragen mit Antworten →

Datenbanken · Senior

  1. Wie entscheidet PostgreSQL, ob eine Zeilenversion für eine Transaktion sichtbar ist?
    Antwort zeigen

    Richtige Antwort: Durch Vergleich von xmin/xmax der Zeile mit dem Snapshot

    xmin ist die erzeugende Transaktion, xmax die löschende oder ändernde. Ein Snapshot listet, welche Transaktionen noch liefen, die Zeile ist also nur sichtbar, wenn ihr Erzeuger vorher committet hat.

  2. Was ist Transaction-ID-Wraparound, und warum ist er gefährlich?
    Antwort zeigen

    Richtige Antwort: 32-Bit-IDs kehren wieder; ungefrorene Zeilen stoppen Schreiben

    Autovacuum friert alte Zeilen lange vor der Grenze ein. Autovacuum abzuschalten oder sehr lange Transaktionen zu halten kann eine Datenbank Richtung erzwungenem Herunterfahren treiben.

  3. Was ist Table Bloat, und was verursacht ihn meist?
    Antwort zeigen

    Richtige Antwort: Tote Zeilenversionen, die nicht schnell genug wiederverwendet werden

    Stimme Autovacuum pro Tabelle ab (kleinere Skalierungsfaktoren für heiße Tabellen), vermeide lange Transaktionen und baue aufgeblähte Objekte online mit pg_repack oder REINDEX CONCURRENTLY neu.

  4. Wozu dient das Write-Ahead-Log (WAL)?
    Antwort zeigen

    Richtige Antwort: Wiederherstellung nach Absturz und Streaming an Replicas

    Datenseiten können später im Hintergrund auf die Platte geschrieben werden. WAL treibt auch physische Replikation, Logical Decoding und Point-in-Time Recovery an.

Alle 75 Fragen mit Antworten →

Kombinierte Tests mit diesem Thema

Fragen aus mehreren Themen auf einmal, wie im Vorstellungsgespräch für eine konkrete Stelle.

Programmieraufgaben

Schreib die Lösung direkt im Browser, und Tests prüfen sie sofort. Klassiker aus Vorstellungsgesprächen zu JavaScript (debounce, deepClone, Promise.all, LRU-Cache), zu TypeScript (Generics, Narrowing und Utility Types, geprüft von einem echten Compiler), Backend-Logik in Node.js (Middleware, Rate Limits, Job-Queues), SQL-Abfragen in echtem PostgreSQL und zu React: Komponenten und Hooks wie eine Aufgabenliste, Tabs, useDebounce und useInterval.

Aufgaben öffnen →