Pytania rekrutacyjne z Dockera i CI/CD (Senior) z odpowiedziami
75 pytań na rozmowę rekrutacyjną z tematu Docker i CI/CD (Senior) - z poprawnymi odpowiedziami, wyjaśnieniami i linkami do dokumentacji.
Rozwiąż ten test- 1.Na jakich mechanizmach jądra opierają się kontenery przy izolacji i limitach zasobów?
- 2.Jak mają się do siebie Docker, containerd i runc?
- 3.Z czego składa się obraz OCI?
- 4.Dlaczego dopisanie jednego wiersza do pliku 2 GB w kontenerze może być wolne?
- 5.Co robi
--cap-drop ALL --cap-add NET_BIND_SERVICE? - 6.Co robi domyślny profil seccomp Dockera?
- 7.Dlaczego
--privilegedjest niebezpieczne? - 8.Przed czym chroni tryb rootless lub mapowanie user namespace?
- 9.Kiedy zwykłe kontenery to za mało izolacji?
- 10.Co narzędzia do podpisywania obrazów, jak Sigstore cosign, dodają do pipeline'u?
- 11.Do czego przydaje się SBOM?
- 12.Co opisuje SLSA build provenance?
- 13.Co pomaga uczynić budowanie Dockera powtarzalnym?
- 14.Po co regularnie przebudowywać obrazy, nawet gdy kod się nie zmienił?
- 15.Jak jeden tag, np.
node:22, obsługuje hosty amd64 i arm64? - 16.Dlaczego budowanie wieloplatformowe w CI bywa bardzo wolne i co pomaga?
- 17.Czym różnią się
--cache-to ...,mode=minimode=max? - 18.Dlaczego w monorepo zmiana jednego pakietu może przebudować obraz każdej aplikacji?
- 19.Dlaczego zmienne środowiskowe nie są idealne dla bardzo wrażliwych sekretów?
- 20.Usługa Node ma limit CPU 0.5 i pod obciążeniem pokazuje skoki opóźnień. Dlaczego?
- 21.Dlaczego zużycie pamięci kontenera może wyglądać na duże, choć sterta aplikacji jest mała?
- 22.Aplikacja Node uruchamia headless Chrome i kontener zapełnia się procesami zombie. Dlaczego?
- 23.Dlaczego pody w Kubernetesie czasem gubią żądania podczas rolling update mimo obsługi SIGTERM?
- 24.Co kontroluje
terminationGracePeriodSeconds? - 25.Do czego służy sonda startup?
- 26.Dlaczego sonda readiness sprawdzająca wspólną bazę danych jest ryzykowna?
- 27.Dlaczego autoskalowanie po CPU może źle działać dla usługi Node ograniczonej przez I/O?
- 28.Przed czym chroni PodDisruptionBudget?
- 29.Wdrażasz ponownie
my-app:latest, ale część węzłów wciąż uruchamia stary kod. Dlaczego? - 30.Zmieniasz ConfigMap, ale pody wciąż używają starych wartości. Dlaczego?
- 31.Dlaczego
pull_request_targetz pobraniem kodu PR jest niebezpieczny? - 32.Co jest nie tak z
run: echo "${{ github.event.pull_request.title }}"? - 33.Jak może dojść do zatrucia cache w CI?
- 34.Polityka zaufania OIDC pozwala każdemu workflow w organizacji przejąć rolę produkcyjną. Jakie jest ryzyko?
- 35.Dlaczego zmiany w
.github/workflowswymagają surowszej recenzji? - 36.Jak przyspieszyć duży zestaw testów, który musi działać dla każdego PR?
- 37.Czym grozi automatyczne ponawianie nieudanych testów w CI?
- 38.Co zmienia się między stagingiem a produkcją w pipeline promocji?
- 39.Co progressive delivery z automatyczną analizą dodaje do canary?
- 40.Po co porównywać canary z baseline, na którym równocześnie działa stara wersja?
- 41.Co jest najtrudniejsze we wdrożeniu blue-green aplikacji ze stanem?
- 42.Jaka jest właściwa kolejność zmiany nazwy kolumny bez przestoju?
- 43.Po co uruchamiać ciężkie migracje danych oddzielnie od wdrożenia?
- 44.Czym jest kill switch w kontekście feature flag?
- 45.Do czego służy shadow traffic (dark launching)?
- 46.Kiedy roll forward jest lepszy niż rollback?
- 47.Jak kontroler GitOps reaguje na ręczną zmianę w klastrze?
- 48.Jak zwykle przechowuje się sekrety w repozytorium GitOps?
- 49.Dlaczego plik stanu Terraforma wymaga ostrożności?
- 50.Po co publikować wynik
terraform planw PR-ach infrastruktury? - 51.Na czym polega idea niezmiennych serwerów?
- 52.Co oznacza dev/prod parity w ujęciu twelve-factor?
- 53.Czym są efemeryczne środowiska preview?
- 54.Odsetek nieudanych zmian w zespole jest bliski zeru, ale wdrażają raz na kwartał. Co to sugeruje?
- 55.Dlaczego dojrzałe zespoły bardziej skupiają się na czasie przywrócenia niż na unikaniu każdej awarii?
- 56.Dlaczego małe porcje zmian zmniejszają ryzyko wdrożenia?
- 57.Kiedy release trains mają więcej sensu niż continuous deployment?
- 58.Dlaczego lepsze są efemeryczne runnery self-hosted obsługujące jeden job?
- 59.Dlaczego unikać Docker-in-Docker z
--privilegedprzy budowaniu obrazów w CI? - 60.Po co rejestrom polityki retencji?
- 61.Skaner zgłasza 40 CVE, z czego 30 bez dostępnej poprawki. Jaka polityka jest rozsądna?
- 62.Czym jest dependency confusion?
- 63.Sekret został wypisany w publicznym logu CI. Co trzeba zrobić?
- 64.Jakie są główne ograniczenia Docker Compose na produkcji?
- 65.Co robi
start_periodw healthchecku Dockera? - 66.Dlaczego często zmieniane warstwy powinny być na końcu, a wspólne warstwy bazowe stabilne?
- 67.Czym grozi uruchamianie migracji w init container Deploymentu z kilkoma replikami?
- 68.Co trzeba zmienić, by skalować aplikację webową trzymającą sesje w pamięci procesu?
- 69.Po co dodawać znaczniki wdrożeń do dashboardów monitoringu?
- 70.Jak budżety błędów SLO mogą sterować wydaniami?
- 71.Co mają wspólnego
--secreti--sshw BuildKicie? - 72.Dlaczego
COPY . .może unieważniać cache przy każdym uruchomieniu CI, nawet bez zmian kodu? - 73.Co daje sztuczka
--platform=$BUILDPLATFORMw etapie buildera? - 74.Dlaczego job wdrożenia powinien używać concurrency group bez anulowania trwających uruchomień?
- 75.Co dołącza atestacja budowania
docker buildx(--provenance,--sbom)?