Питання на співбесіді з Docker і CI/CD (Senior) з відповідями
75 запитань для співбесіди з теми Docker і CI/CD (Senior) - з правильними відповідями, поясненнями й посиланнями на документацію.
Пройти цей тест- 1.На які можливості ядра спираються контейнери для ізоляції й обмеження ресурсів?
- 2.Як пов'язані Docker, containerd і runc?
- 3.З чого складається OCI-образ?
- 4.Чому дописати один рядок у файл на 2 ГБ у контейнері може бути повільно?
- 5.Що робить
--cap-drop ALL --cap-add NET_BIND_SERVICE? - 6.Що робить типовий профіль seccomp у Docker?
- 7.Чому
--privilegedнебезпечний? - 8.Від чого захищає rootless-режим чи перепризначення user namespace?
- 9.Коли звичайних контейнерів недостатньо для ізоляції?
- 10.Що інструменти підпису образів, як Sigstore cosign, додають пайплайну?
- 11.Чим корисний SBOM?
- 12.Що описує SLSA build provenance?
- 13.Що допомагає зробити збирання Docker відтворюваним?
- 14.Навіщо регулярно перезбирати образи, навіть коли код не змінювався?
- 15.Як один тег на кшталт
node:22обслуговує і amd64, і arm64? - 16.Чому мультиплатформне збирання в CI може бути дуже повільним і що допомагає?
- 17.Чим відрізняються
--cache-to ...,mode=minіmode=max? - 18.Чому в монорепо зміна одного пакета може перезбирати Docker-образ кожного застосунку?
- 19.Чому змінні середовища - не найкраще місце для дуже чутливих секретів?
- 20.Сервіс на Node має ліміт CPU 0.5 і під навантаженням показує сплески затримки. Чому?
- 21.Чому пам'ять контейнера може здаватися великою, хоча heap застосунку малий?
- 22.Застосунок на Node запускає headless Chrome, і контейнер заповнюється зомбі-процесами. Чому?
- 23.Чому поди в Kubernetes іноді втрачають запити під час rolling update попри обробку SIGTERM?
- 24.Що контролює
terminationGracePeriodSeconds? - 25.Для чого startup-проба?
- 26.Чому readiness-пробі ризиковано перевіряти спільну базу даних?
- 27.Чому автомасштабування за CPU може погано працювати для I/O-залежного сервісу на Node?
- 28.Від чого захищає PodDisruptionBudget?
- 29.Ви перерозгорнули
my-app:latest, але деякі вузли досі запускають старий код. Чому? - 30.Ви оновили ConfigMap, але поди досі використовують старі значення. Чому?
- 31.Чому
pull_request_targetіз вибиранням коду PR небезпечний? - 32.Що не так із
run: echo "${{ github.event.pull_request.title }}"? - 33.Як може статися отруєння кешу в CI?
- 34.Політика довіри OIDC дозволяє будь-якому workflow організації брати продакшн-роль. У чому ризик?
- 35.Чому зміни в
.github/workflowsпотребують суворішого рев'ю? - 36.Як пришвидшити великий набір тестів, що має працювати на кожен PR?
- 37.Чим ризиковані автоматичні повтори тестів, що впали в CI?
- 38.Що змінюється між staging і продакшном у пайплайні просування?
- 39.Що progressive delivery з автоматичним аналізом додає до canary?
- 40.Навіщо порівнювати canary з baseline, де одночасно працює стара версія?
- 41.Що найскладніше в blue-green деплої для застосунку зі станом?
- 42.Який правильний порядок перейменування колонки без простою?
- 43.Навіщо запускати важкі міграції даних окремо від деплою?
- 44.Що таке kill switch у термінах feature flags?
- 45.Для чого використовують shadow traffic (dark launching)?
- 46.Коли roll forward кращий за rollback?
- 47.Як GitOps-контролер реагує, коли хтось змінює кластер вручну?
- 48.Як зазвичай зберігають секрети в GitOps-репозиторії?
- 49.Чому файл стану Terraform потребує обережності?
- 50.Навіщо публікувати вивід
terraform planв інфраструктурних PR? - 51.У чому ідея незмінних серверів?
- 52.Що означає dev/prod parity у термінах twelve-factor?
- 53.Що таке ефемерні preview-оточення?
- 54.Частка невдалих змін у команди майже нульова, але деплоять вони раз на квартал. Що це означає?
- 55.Чому зрілі команди більше зосереджуються на часі відновлення, ніж на уникненні кожного збою?
- 56.Чому малі порції змін зменшують ризик деплою?
- 57.Коли release trains доцільніші за continuous deployment?
- 58.Чому краще брати ефемерні self-hosted runner, що виконують один job?
- 59.Чому варто уникати Docker-in-Docker з
--privilegedдля збирання образів у CI? - 60.Навіщо реєстрам політики зберігання?
- 61.Сканер показує 40 CVE, з них 30 без доступного виправлення. Яка розумна політика?
- 62.Що таке dependency confusion?
- 63.Секрет надрукувався в публічному лозі CI. Що треба зробити?
- 64.Які головні обмеження Docker Compose для продакшну?
- 65.Що робить
start_periodу healthcheck Docker? - 66.Чому шари, що часто змінюються, мають іти останніми, а спільні базові - лишатися стабільними?
- 67.Чим ризиковано запускати міграції в init-контейнері Deployment з кількома репліками?
- 68.Що треба змінити, щоб масштабувати вебзастосунок, який тримає сесії в пам'яті процесу?
- 69.Навіщо додавати мітки деплоїв на дашборди моніторингу?
- 70.Як бюджети помилок SLO можуть керувати релізами?
- 71.Що спільного в
--secretі--sshу BuildKit? - 72.Чому
COPY . .може інвалідувати кеш на кожному запуску CI, навіть якщо код не змінювався? - 73.Чого досягає прийом
--platform=$BUILDPLATFORMв етапі збирача? - 74.Чому job деплою має використовувати concurrency group без скасування поточних запусків?
- 75.Що додає атестація збирання
docker buildx(--provenance,--sbom)?