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.
- Docker
- Compose
- GitHub Actions
- Deployments
- Kubernetes
Fragen nach Level
Junior
Grundbegriffe und Syntax · 50 Fragen
Middle
Praxis, Feinheiten und Optimierung · 50 Fragen
Senior
Architektur, Interna, Randfälle · 50 Fragen
Beispielfragen
Ein paar Fragen aus jedem Level mit richtiger Antwort und Erklärung.
Docker und CI/CD · Junior
- 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.
- 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.
- 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 buildführt sie aus und erzeugt ein Image. - Was macht
FROM node:22-alpinein 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.
Docker und CI/CD · Middle
- 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
builderinstalliert Dev-Abhängigkeiten und kompiliert; die finale Stage kopiert mitCOPY --from=buildernur die Ausgabe. Images werden kleiner und sicherer. - Warum kombiniert man
apt-get updateundapt-get installin einemRUN?Antwort zeigen
Richtige Antwort: Eine gecachte
update-Schicht würde Pakete aus einem veralteten Index installierenIst
updateeine eigene gecachte Schicht, nutzt eine spätere Änderung an der Installationszeile einen alten Paketindex. Räume außerdem/var/lib/apt/listsim selbenRUNauf. - Warum verkleinert
RUN rm -rf /tmp/buildin 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
RUNauf, das die Dateien erzeugt hat, oder nutze einen Multi-Stage-Build, damit temporäre Dateien nie im finalen Image landen. - Was ist der Unterschied zwischen
CMD ["node", "server.js"]undCMD node server.js?Antwort zeigen
Richtige Antwort: Die Exec-Form startet node als PID 1; die Shell-Form packt es in
/bin/sh -cIn der Shell-Form ist die Shell PID 1 und leitet SIGTERM meist nicht weiter, also wartet
docker stopden Timeout ab und beendet die App ohne sauberes Herunterfahren.
Docker und CI/CD · Senior
- 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.
- 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.
- 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.
- 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.
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 →