Interviewfragen zu Docker und CI/CD (Middle) mit Antworten
75 Fragen fürs Vorstellungsgespräch zu Docker und CI/CD (Middle) mit richtigen Antworten, Erklärungen und Links zur Dokumentation.
Diesen Test machen- 1.Was ist der Hauptvorteil eines Multi-Stage-Builds?
- 2.Warum installiert dieses Dockerfile bei jeder Codeänderung alle Abhängigkeiten neu?
- 3.Warum kombiniert man
apt-get updateundapt-get installin einemRUN? - 4.Warum verkleinert
RUN rm -rf /tmp/buildin einer späteren Schicht das Image nicht? - 5.Was ist der Unterschied zwischen
CMD ["node", "server.js"]undCMD node server.js? - 6.Warum kann sich ein Prozess als PID 1 in einem Container falsch verhalten?
- 7.Was sollte ein Node.js-Server bei SIGTERM tun?
- 8.Warum rät man in Produktions-Images von
CMD ["npm", "start"]ab? - 9.Nach
USER nodekann die App nicht nach/appschreiben. Was ist eine übliche Lösung? - 10.Wie nutzt man beim Build ein npm-Token, ohne es im Image zu hinterlassen?
- 11.Was bringt
RUN --mount=type=cache,target=/root/.npm npm ci? - 12.Was macht BuildKit mit unabhängigen Stages eines Multi-Stage-Builds?
- 13.Wie unterscheidet sich ein Image-Digest von einem Tag?
- 14.Was sind
<none>:<none>-Images (dangling)? - 15.Wofür nutzt man
compose.override.yaml? - 16.Wofür sind Compose-Profile da?
- 17.Du mountest das Projekt per Bind Mount in einen Node-Container, und die App findet ihre Module nicht. Warum?
- 18.Was ist in Compose der Unterschied zwischen der Datei
.envundenv_file:? - 19.Ein Container stoppt mit Exit-Code 137. Was ist die wahrscheinliche Ursache?
- 20.Warum kann Node.js das Speicherlimit eines Containers ignorieren und per OOM beendet werden?
- 21.Was macht
--network host? - 22.Warum sollten Container nach stdout und stderr loggen?
- 23.Was verhindert, dass die Standard-Logs
json-filevon Docker die Platte füllen? - 24.Was erreicht man mit
--read-only? - 25.Was ist ein Distroless-Image?
- 26.Warum installiert man im finalen Image nur Produktionsabhängigkeiten?
- 27.Was prüft ein Image-Scanner wie Trivy?
- 28.Warum ist es riskant,
/var/run/docker.sockin einen Container zu mounten? - 29.Ein auf einem Apple-Silicon-Mac gebautes Image scheitert auf einem x86-Server mit
exec format error. Warum? - 30.Was macht
exec "$@"am Ende eines Entrypoint-Skripts? - 31.Nutzt Kubernetes den
HEALTHCHECKaus dem Dockerfile? - 32.Was ist ein guter Cache-Key für
node_modulesoder den npm-Cache in der CI? - 33.Cache vs. Artefakte in der CI: was ist der Unterschied?
- 34.Was bewirkt das?
- 35.Wie vermeidet man in einem Monorepo, dass die Backend-Pipeline läuft, wenn sich nur das Frontend geändert hat?
- 36.Wofür ist
workflow_dispatchda? - 37.Warum setzt man
permissions:fürGITHUB_TOKENexplizit? - 38.Warum bekommen Workflows, die durch
pull_requestaus Forks ausgelöst werden, keine Repository-Secrets? - 39.Was bringen Deployment-Umgebungen mit Pflicht-Reviewern?
- 40.Was ist ein Reusable Workflow?
- 41.Was ist eine Composite Action?
- 42.Warum pinnt man Actions von Drittanbietern auf einen vollen Commit-SHA statt auf
@v3? - 43.Was bringt OIDC einer CI-Pipeline, die zu einem Cloud-Anbieter deployt?
- 44.Wie gibt ein Job einen Wert, etwa ein Image-Tag, an einen anderen weiter?
- 45.Wie lässt man einen Deploy-Step nur bei Pushes auf
mainlaufen? - 46.Was ändert
fail-fast: falsein einer Matrix? - 47.Warum sind Self-hosted Runner für öffentliche Repositories riskant?
- 48.Warum sind Docker-Builds auf frischen CI-Runnern oft langsam, und was hilft?
- 49.Warum taggt man Images mit dem Commit-SHA?
- 50.Wie beschleunigt man eine langsame Pipeline, ohne Prüfungen wegzulassen?
- 51.Wie bekommen Integrationstests in GitHub Actions ein echtes PostgreSQL?
- 52.Was macht Testcontainers?
- 53.Warum sollten Datenbankmigrationen während eines Deployments rückwärtskompatibel bleiben?
- 54.Was ist ein Canary-Release?
- 55.Was macht ein Rolling Update?
- 56.Wie verändern Feature Flags das Verhältnis zwischen Deployment und Release?
- 57.Wofür sind Smoke Tests nach einem Deployment da?
- 58.Welche sind die klassischen DORA-Metriken?
- 59.Was misst „Lead Time for Changes“?
- 60.Warum arbeiten CI und langlebige Feature-Branches gegeneinander?
- 61.Was ist Infrastructure as Code?
- 62.Was ist die Kernidee von GitOps?
- 63.Readiness- vs. Liveness-Probe in Kubernetes: was ist der Unterschied?
- 64.Warum erzeugt man meist ein Deployment statt direkt Pods?
- 65.Sind Kubernetes Secrets standardmäßig verschlüsselt?
- 66.Resource Requests vs. Limits in Kubernetes: was bewirken sie?
- 67.Was steuern
maxSurgeundmaxUnavailable? - 68.Was machen Dependabot oder Renovate?
- 69.Warum sollte man ein bestehendes Image-Tag wie
1.4.0nicht überschreiben? - 70.Was ändert
needs:an einem GitLab-CI-Job? - 71.Die CI maskiert Secret-Werte in Logs. Warum kann ein Secret trotzdem leaken?
- 72.Warum sollte jedes Produktions-Deployment über die Pipeline laufen statt über ein manuelles
docker pushvom Laptop? - 73.Wobei hilft
docker history my-app? - 74.Was gibt
docker compose configaus? - 75.Was ergänzt
restore-keysin einem Cache-Step?