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