Pytania rekrutacyjne z Dockera i CI/CD (Middle) z odpowiedziami

75 pytań na rozmowę rekrutacyjną z tematu Docker i CI/CD (Middle) - z poprawnymi odpowiedziami, wyjaśnieniami i linkami do dokumentacji.

Rozwiąż ten test
  1. 1.Jaka jest główna zaleta budowania wieloetapowego (multi-stage)?
  2. 2.Dlaczego ten Dockerfile przeinstalowuje wszystkie zależności przy każdej zmianie kodu? ``dockerfile COPY . . RUN npm ci
  3. 3.Po co łączyć apt-get update i apt-get install w jednym RUN?
  4. 4.Dlaczego RUN rm -rf /tmp/build w późniejszej warstwie nie zmniejsza obrazu?
  5. 5.Czym różnią się CMD ["node", "server.js"] i CMD node server.js?
  6. 6.Dlaczego proces działający jako PID 1 w kontenerze może zachowywać się dziwnie?
  7. 7.Co powinien zrobić serwer Node.js po otrzymaniu SIGTERM?
  8. 8.Dlaczego CMD ["npm", "start"] odradza się w obrazach produkcyjnych?
  9. 9.Po USER node aplikacja nie może pisać do /app. Jaka jest typowa poprawka?
  10. 10.Jak użyć tokenu npm podczas budowania, nie zostawiając go w obrazie?
  11. 11.Co daje RUN --mount=type=cache,target=/root/.npm npm ci?
  12. 12.Co BuildKit robi z niezależnymi etapami budowania multi-stage?
  13. 13.Czym digest obrazu różni się od tagu?
  14. 14.Czym są obrazy <none>:<none> (wiszące)?
  15. 15.Do czego służy compose.override.yaml?
  16. 16.Do czego służą profile Compose?
  17. 17.Montujesz projekt przez bind mount w kontenerze Node i aplikacja nie znajduje modułów. Dlaczego?
  18. 18.Czym w Compose różnią się plik .env i env_file:?
  19. 19.Kontener zatrzymał się z kodem wyjścia 137. Jaka jest prawdopodobna przyczyna?
  20. 20.Dlaczego Node.js może zignorować limit pamięci kontenera i zostać zabity przez OOM?
  21. 21.Co robi --network host?
  22. 22.Dlaczego kontenery powinny logować na stdout i stderr?
  23. 23.Co chroni przed zapełnieniem dysku przez domyślne logi Dockera json-file?
  24. 24.Co daje uruchomienie z --read-only?
  25. 25.Czym jest obraz distroless?
  26. 26.Po co instalować w końcowym obrazie tylko zależności produkcyjne?
  27. 27.Co sprawdza skaner obrazów taki jak Trivy?
  28. 28.Dlaczego montowanie /var/run/docker.sock w kontenerze jest ryzykowne?
  29. 29.Obraz zbudowany na Macu z Apple Silicon pada na serwerze x86 z exec format error. Dlaczego?
  30. 30.Co robi exec "$@" na końcu skryptu entrypoint?
  31. 31.Czy Kubernetes używa HEALTHCHECK z Dockerfile?
  32. 32.Jaki jest dobry klucz cache dla node_modules lub cache npm w CI?
  33. 33.Cache a artefakty w CI: na czym polega różnica?
  34. 34.Co robi ten kod? ``yaml concurrency: group: deploy-${{ github.ref }} cancel-in-progress: true
  35. 35.Jak w monorepo nie uruchamiać pipeline'u backendu, gdy zmienił się tylko frontend?
  36. 36.Do czego służy workflow_dispatch?
  37. 37.Po co jawnie ustawiać permissions: dla GITHUB_TOKEN?
  38. 38.Dlaczego workflow uruchamiane przez pull_request z forków nie dostają sekretów repozytorium?
  39. 39.Co dodają środowiska wdrożeń z wymaganymi recenzentami?
  40. 40.Czym jest reusable workflow?
  41. 41.Czym jest composite action?
  42. 42.Po co przypinać zewnętrzne akcje do pełnego SHA commita zamiast @v3?
  43. 43.Co daje OIDC pipeline'owi CI, który wdraża do chmury?
  44. 44.Jak jeden job przekazuje wartość, np. tag obrazu, innemu?
  45. 45.Jak uruchomić step wdrożenia tylko dla pushy do main?
  46. 46.Co zmienia fail-fast: false w macierzy?
  47. 47.Dlaczego runnery self-hosted są ryzykowne dla publicznych repozytoriów?
  48. 48.Dlaczego budowanie obrazów na świeżych runnerach CI bywa wolne i co pomaga?
  49. 49.Po co tagować obrazy SHA commita?
  50. 50.Jak przyspieszyć wolny pipeline bez rezygnacji z kontroli?
  51. 51.Jak testy integracyjne w GitHub Actions mogą dostać prawdziwego PostgreSQL?
  52. 52.Co robi Testcontainers?
  53. 53.Dlaczego migracje bazy powinny zachować zgodność wsteczną podczas wdrożenia?
  54. 54.Czym jest wydanie canary?
  55. 55.Co robi rolling update?
  56. 56.Jak feature flagi zmieniają relację między wdrożeniem a wydaniem?
  57. 57.Do czego służą smoke testy po wdrożeniu?
  58. 58.Jakie są klasyczne metryki DORA?
  59. 59.Co mierzy „lead time for changes”?
  60. 60.Dlaczego CI i długo żyjące gałęzie funkcji sobie przeszkadzają?
  61. 61.Czym jest infrastructure as code?
  62. 62.Na czym polega główna idea GitOps?
  63. 63.Sonda readiness a liveness w Kubernetesie: na czym polega różnica?
  64. 64.Dlaczego zwykle tworzy się Deployment, a nie Pody bezpośrednio?
  65. 65.Czy Secrets w Kubernetesie są domyślnie szyfrowane?
  66. 66.Requests a limits zasobów w Kubernetesie: co robią?
  67. 67.Co kontrolują maxSurge i maxUnavailable?
  68. 68.Co robią Dependabot lub Renovate?
  69. 69.Dlaczego nie nadpisywać istniejącego tagu obrazu, np. 1.4.0?
  70. 70.Co zmienia needs: w jobie GitLab CI?
  71. 71.CI maskuje wartości sekretów w logach. Dlaczego sekret wciąż może wyciec?
  72. 72.Dlaczego każde wdrożenie produkcyjne powinno iść przez pipeline, a nie przez ręczny docker push z laptopa?
  73. 73.W czym pomaga docker history my-app?
  74. 74.Co wypisuje docker compose config?
  75. 75.Co restore-keys dodaje do kroku cache?