← Alle Themen

Interviewfragen zu Docker und CI/CD mit Antworten

Container und Images, Dockerfile und Layer-Cache, Multi-Stage-Builds, Volumes und Netzwerke, Docker Compose, CI-Pipelines in GitHub Actions und GitLab CI, Deployment-Strategien, Kubernetes-Grundlagen und Supply-Chain-Sicherheit.

225 Fragen fürs Vorstellungsgespräch zu Docker und CI/CD 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.

Docker und CI/CD · Junior

  1. Wie unterscheidet sich ein Container von einer virtuellen Maschine?
    Antwort zeigen

    Richtige Antwort: Er teilt den Kernel des Hosts, statt ein eigenes Betriebssystem zu starten

    Container sind isolierte Prozesse auf dem Kernel des Hosts (Namespaces und cgroups), sie starten daher in Millisekunden und brauchen wenig Speicher. Eine VM bootet ein ganzes Gastbetriebssystem auf virtueller Hardware.

  2. Was ist der Unterschied zwischen einem Image und einem Container?
    Antwort zeigen

    Richtige Antwort: Ein Image ist eine schreibgeschützte Vorlage; ein Container eine laufende Instanz davon

    Wie eine Klasse und ihre Objekte: aus einem Image lassen sich viele Container starten. Jeder Container legt eine eigene dünne beschreibbare Schicht über das Image.

  3. Was ist ein Dockerfile?
    Antwort zeigen

    Richtige Antwort: Eine Textdatei mit den Schritten zum Bauen eines Images

    Jede Anweisung (FROM, COPY, RUN, CMD...) beschreibt einen Build-Schritt. docker build führt sie aus und erzeugt ein Image.

  4. Was macht FROM node:22-alpine in einem Dockerfile?
    Antwort zeigen

    Richtige Antwort: Legt das Basis-Image fest, mit dem der Build beginnt

    Jeder Build beginnt mit einem Basis-Image, hier dem offiziellen Node.js-22-Image auf Alpine Linux. Deine Anweisungen legen Schichten darüber.

Alle 75 Fragen mit Antworten →

Docker und CI/CD · Middle

  1. Was ist der Hauptvorteil eines Multi-Stage-Builds?
    Antwort zeigen

    Richtige Antwort: Build-Werkzeuge bleiben in früheren Stages; das finale Image hat nur Laufzeitdateien

    Eine Stage builder installiert Dev-Abhängigkeiten und kompiliert; die finale Stage kopiert mit COPY --from=builder nur die Ausgabe. Images werden kleiner und sicherer.

  2. Warum kombiniert man apt-get update und apt-get install in einem RUN?
    Antwort zeigen

    Richtige Antwort: Eine gecachte update-Schicht würde Pakete aus einem veralteten Index installieren

    Ist update eine eigene gecachte Schicht, nutzt eine spätere Änderung an der Installationszeile einen alten Paketindex. Räume außerdem /var/lib/apt/lists im selben RUN auf.

  3. Warum verkleinert RUN rm -rf /tmp/build in einer späteren Schicht das Image nicht?
    Antwort zeigen

    Richtige Antwort: Frühere Schichten enthalten die Dateien noch; Löschen verbirgt sie nur

    Schichten sind additiv. Räume im selben RUN auf, das die Dateien erzeugt hat, oder nutze einen Multi-Stage-Build, damit temporäre Dateien nie im finalen Image landen.

  4. Was ist der Unterschied zwischen CMD ["node", "server.js"] und CMD node server.js?
    Antwort zeigen

    Richtige Antwort: Die Exec-Form startet node als PID 1; die Shell-Form packt es in /bin/sh -c

    In der Shell-Form ist die Shell PID 1 und leitet SIGTERM meist nicht weiter, also wartet docker stop den Timeout ab und beendet die App ohne sauberes Herunterfahren.

Alle 75 Fragen mit Antworten →

Docker und CI/CD · Senior

  1. Auf welche Kernel-Funktionen stützen sich Container für Isolation und Ressourcenlimits?
    Antwort zeigen

    Richtige Antwort: Namespaces für Isolation und cgroups für Ressourcenlimits

    PID-, Netzwerk-, Mount-, User- und weitere Namespaces geben jedem Container seine eigene Sicht; cgroups deckeln CPU, Speicher und I/O. Es gibt keinen eigenen Kernel, deshalb zählen Kernel-Bugs.

  2. Wie hängen Docker, containerd und runc zusammen?
    Antwort zeigen

    Richtige Antwort: Docker nutzt containerd zur Verwaltung der Container; runc startet sie

    runc setzt die OCI-Runtime-Spezifikation um und erzeugt den Prozess mit Namespaces und cgroups. containerd verwaltet Images und Lebenszyklen; Kubernetes spricht direkt mit containerd, ohne Docker.

  3. Woraus besteht ein OCI-Image?
    Antwort zeigen

    Richtige Antwort: Einem Manifest, das auf eine Konfiguration und eine Liste von Layer-Tarballs zeigt

    Alles ist per Digest inhaltsadressiert. Ein Multi-Platform-Image ergänzt einen Index, der auf ein Manifest pro Betriebssystem und Architektur zeigt.

  4. Warum kann das Anhängen einer Zeile an eine 2-GB-Datei in einem Container langsam sein?
    Antwort zeigen

    Richtige Antwort: Overlay-Speicher kopiert die ganze Datei erst in die beschreibbare Schicht

    Copy-up passiert beim ersten Schreiben in eine Datei aus einer unteren Schicht. Schreiblastige Daten (Datenbanken, Logs) gehören in Volumes, die den Storage-Treiber umgehen.

Alle 75 Fragen mit Antworten →

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 →