Skip to content

DevLoversTeam/devops-interview-questions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

DevOps

Найпопулярніші запитання та відповіді на співбесіді з DevOps

1. Що таке DevOps?

DevOps

DevOps — це культура та практики, які об’єднують розробку і експлуатацію для швидкої та надійної доставки змін.

Коротко:

  • Спільна відповідальність Dev + Ops.
  • Автоматизація і швидкий фідбек.
  • Стабільні релізи з меншим ризиком.
2. Хто такий DevOps інженер?

DevOps

DevOps інженер будує CI/CD, IaC, моніторинг, керує середовищами і покращує процеси доставки.

Коротко:

  • Автоматизує шлях від коду до production.
  • Зменшує ручну роботу і помилки.
  • Працює на стику dev, ops і security.
3. Які основні принципи DevOps?

DevOps

Ключові принципи: collaboration, automation, continuous improvement, observability, security by design.

Коротко:

  • Часті невеликі зміни.
  • Вимірюваність через метрики.
  • Безперервне покращення процесу.
4. Як DevOps покращує процес доставки програмного забезпечення?

DevOps

DevOps прискорює релізи через CI/CD, автоматичні тести, стандартизацію і моніторинг після деплою.

Коротко:

  • Коротший release cycle.
  • Вища якість і стабільність.
  • Швидше відновлення після збоїв.
5. Які етапи життєвого циклу DevOps?

DevOps

Типово: Plan -> Code -> Build -> Test -> Release -> Deploy -> Operate -> Monitor.

Коротко:

  • Це безперервний цикл.
  • Дані з Monitor повертаються в Plan.
  • Автоматизація на кожному етапі.
6. Які основні переваги DevOps?

DevOps

Переваги: швидші релізи, менше інцидентів, краща взаємодія команд, нижчий MTTR.

Коротко:

  • Швидкість + надійність.
  • Прозорість процесів.
  • Кращий time-to-market.
7. Як ви б впровадили DevOps у новому проєкті?

DevOps

Почав би з цілей і KPI, далі Git workflow, CI/CD, IaC, observability, security checks, регулярні ретроспективи.

Коротко:

  • Спочатку процес, потім інструменти.
  • Pipeline as code + IaC.
  • Постійне вимірювання результатів.
8. Чим DevOps відрізняється від Agile?

DevOps

Agile — про гнучку розробку продукту, DevOps — про доставку й експлуатацію змін у production.

Коротко:

  • Agile і DevOps доповнюють одне одного.
  • Agile: що і як розробляти.
  • DevOps: як стабільно постачати і підтримувати.
9. Які метрики (KPI) використовують для оцінки DevOps?

DevOps

Найчастіше — DORA: Deployment Frequency, Lead Time, Change Failure Rate, MTTR.

Коротко:

  • Міряємо швидкість і надійність одночасно.
  • KPI мають бути прив’язані до бізнес-цілей.
  • Метрики потрібні для покращень, не для формальності.
10. Чому DevOps став таким популярним останніми роками?

DevOps

Через потребу бізнесу швидко випускати зміни без втрати якості, плюс розвиток cloud, containers, IaC і CI/CD інструментів.

Коротко:

  • Ринок вимагає швидкості.
  • Технології зробили automation доступною.
  • DevOps став стандартом delivery.
11. Які існують анти-патерни DevOps?

DevOps

Анти-патерни: ручні деплої, слабкі тести, відсутність ownership, DevOps як «окремий відділ», відкладена безпека.

Коротко:

  • Інструменти без культури не працюють.
  • Ручні кроки = ризик помилок.
  • Security має бути в процесі з початку.
12. Що означає концепція `Shift Left` у DevOps?

DevOps

Shift Left — перенос перевірок якості й безпеки на ранні етапи розробки.

Коротко:

  • Раніше знайдена помилка дешевша.
  • Тести і скани запускаються в CI.
  • Менше дефектів у production.
13. Що таке `Continuous Testing`?

DevOps

Continuous Testing — автоматичні перевірки на всіх етапах pipeline, а не лише перед релізом.

Коротко:

  • Постійний фідбек про якість.
  • Швидке виявлення регресій.
  • База для стабільного CI/CD.
14. Що таке `Test Automation`?

DevOps

Test Automation — автоматизація запуску та перевірки тестів (unit, integration, e2e тощо).

Коротко:

  • Менше ручної роботи.
  • Повторювані результати.
  • Безпечні часті релізи.
15. Що таке `ChatOps`?

DevOps

ChatOps — виконання операційних дій через чат-ботів та інтеграції в командних чатах.

Коротко:

  • Швидка координація під час інцидентів.
  • Прозорий журнал дій.
  • Зручний командний інтерфейс.
16. Як би ви оцінили свій рівень знань Linux?

DevOps

Впевнений advanced рівень: адміністрування, troubleshooting, процеси, мережа, systemd, shell automation.

Коротко:

  • Сильний production-досвід.
  • Орієнтація на root cause.
  • Автоматизація типових операцій.
17. Які команди Linux ви використовуєте найчастіше?

DevOps

ls, find, grep, awk, sed, tail, journalctl, systemctl, ss, ps, top/htop, df, du, chmod, chown.

Коротко:

  • Файли, логи, процеси, мережа.
  • Базовий набір для щоденної роботи.
  • Комбінації команд для швидкої діагностики.
18. Як перевірити використання CPU у Linux?

DevOps

top/htop, mpstat, ps --sort=-%cpu, sar -u, uptime для load average.

Коротко:

  • Швидкий старт: top.
  • Деталізація: mpstat, sar.
  • Дивимось і %CPU, і контекст навантаження.
19. Як перевірити використання дискового простору?

DevOps

df -h для файлових систем, du -sh і find -size для пошуку великих файлів, df -i для inode.

Коротко:

  • df показує де проблема.
  • du/find показують причину.
  • Перевіряйте також inode.
20. Як знайти останніх користувачів, які входили в систему?

DevOps

last, lastlog, w, who.

Коротко:

  • last для історії входів.
  • w/who для активних сесій.
  • Корисно для аудиту і розслідувань.
21. Як переглядати логи в Linux?

DevOps

Для systemd: journalctl; для файлів: tail -f, less, grep.

Коротко:

  • journalctl -u <service> -f для live-аналізу.
  • Фільтруйте за часом/рівнем/помилками.
  • Централізований логінг обов’язковий у production.
22. Як керувати правами доступу до файлів?

DevOps

chmod, chown, chgrp, umask; за потреби ACL (setfacl/getfacl).

Коротко:

  • Права + власник + група.
  • Принцип least privilege.
  • ACL для тонкої грануляції доступу.
23. У чому різниця між `systemctl start` та `systemctl enable`?

DevOps

start запускає сервіс зараз, enable вмикає автозапуск при boot.

Коротко:

  • start = негайний запуск.
  • enable = запуск після перезавантаження.
  • Часто використовують enable --now.
24. Як моніторити продуктивність системи в Linux?

DevOps

CPU, RAM, disk I/O, network: top, vmstat, iostat, ss, sar, плюс логи і алерти у централізованій системі.

Коротко:

  • Локальні утиліти для діагностики.
  • Централізований моніторинг для масштабу.
  • Метрики + логи + алерти.
25. Що таке система контролю версій (VCS)?

DevOps

VCS зберігає історію змін коду, авторів змін і дозволяє повертатися до попередніх станів.

Коротко:

  • Історія змін і аудит.
  • Командна робота без втрат.
  • Основа сучасної розробки.
26. Які переваги використання систем контролю версій?

DevOps

Rollback, branching, code review, traceability, інтеграція з CI/CD.

Коротко:

  • Безпечна командна робота.
  • Прозора історія змін.
  • Швидші і керовані релізи.
27. У чому різниця між централізованими та розподіленими VCS?

DevOps

Централізовані мають один сервер істини; розподілені (Git) дають повну локальну копію історії кожному розробнику.

Коротко:

  • Centralized: сильна залежність від сервера.
  • Distributed: офлайн-робота і вища гнучкість.
  • Git — стандарт distributed підходу.
28. Що таке Git?

DevOps

Git — розподілена система контролю версій для швидкого branching, merging і спільної розробки.

Коротко:

  • De facto стандарт VCS.
  • Потужна робота з історією.
  • База для PR-процесу.
29. Що робить команда `git clone`?

DevOps

Копіює віддалений репозиторій локально разом із історією та налаштовує origin.

Коротко:

  • Створює локальну копію repo.
  • Завантажує коміти і гілки.
  • Готово до подальшої роботи.
30. Як запушити код у GitHub?

DevOps

git add -> git commit -> git push origin <branch>; далі відкривається PR.

Коротко:

  • Commit в локальній гілці.
  • Push у remote гілку.
  • Merge через review.
31. Що таке `bare repository`?

DevOps

Bare repo — Git-репозиторій без робочої директорії, використовується як серверний remote.

Коротко:

  • Без working tree.
  • Для push/pull, не для редагування.
  • Типовий формат центрального repo.
32. Що таке `git stash`?

DevOps

Тимчасово зберігає незакомічені зміни, щоб переключитися на іншу задачу.

Коротко:

  • «Відкласти» поточні зміни.
  • Повернути через stash pop/apply.
  • Корисно для швидкого контекст-switch.
33. Що таке гілкування (`branching`) у Git?

DevOps

Branching — ізольована лінія розробки для фіч/фіксів без впливу на основну гілку.

Коротко:

  • Паралельна робота команди.
  • Безпечно для main.
  • Feature branch -> PR -> merge.
34. У чому різниця між `git merge` та `git rebase`?

DevOps

merge зберігає історію злиття, rebase переписує історію в лінійний вигляд.

Коротко:

  • merge безпечніший для shared history.
  • rebase робить історію чистішою.
  • Не rebasing публічні гілки.
35. Що таке `merge conflict` і як його вирішити?

DevOps

Конфлікт виникає, коли Git не може автооб’єднати зміни. Треба вручну обрати правильний варіант, прибрати маркери і завершити merge/rebase.

Коротко:

  • Конфлікт = неоднозначність змін.
  • Вирішення вручну + git add.
  • Часті синхронізації зменшують конфлікти.
36. Що таке `git bisect`?

DevOps

Інструмент binary search для пошуку коміту, що спричинив регресію.

Коротко:

  • Швидкий пошук «поганого» коміту.
  • Добре для складних багів.
  • Працює вручну або зі скриптами.
37. У чому різниця між `git fetch` і `git pull`?

DevOps

fetch тільки завантажує зміни з remote, pull робить fetch і одразу інтегрує у поточну гілку.

Коротко:

  • fetch безпечний попередній крок.
  • pull одразу змінює локальну гілку.
  • Для контролю часто спочатку fetch.
38. Як знайти файли, змінені у конкретному коміті?

DevOps

git show --name-only <sha> або git diff-tree --name-only -r <sha>.

Коротко:

  • Найпростіше через git show.
  • Підходить для аудиту комітів.
  • SHA гарантує точність.
39. Які основні команди Git ви знаєте?

DevOps

init, clone, status, add, commit, branch, switch/checkout, merge, rebase, fetch, pull, push, log, diff, show, stash, tag, revert.

Коротко:

  • Повний щоденний Git-набір.
  • Впевнена робота з історією.
  • Акцент на безпечні операції.
40. Які стратегії гілкування ви використовували?

DevOps

Trunk-Based, GitFlow, release branches — залежно від частоти релізів і вимог до стабільності.

Коротко:

  • Швидкі продукти: Trunk-Based.
  • Формальні релізи: GitFlow.
  • Вибір під контекст команди і продукту.
41. Що таке `CI/CD`?

DevOps

CI/CD — автоматизація інтеграції, тестування і доставки змін до середовищ.

Коротко:

  • Менше ручних кроків.
  • Швидші релізи.
  • Вища стабільність delivery.
42. Які етапи має `CI/CD pipeline`?

DevOps

Source -> Build -> Test -> Package -> Deploy -> Verify -> Promote/Rollback.

Коротко:

  • Кожен етап має quality gate.
  • Pipeline має бути repeatable.
  • Один шлях для всіх змін.
43. Що таке `Continuous Delivery`?

DevOps

Зміни автоматично готуються до релізу, але production-деплой зазвичай затверджується вручну.

Коротко:

  • Завжди release-ready стан.
  • Контрольований випуск у production.
  • Менший ризик великих релізів.
44. Що таке `Continuous Deployment`?

DevOps

Кожна зміна, що пройшла всі перевірки, автоматично деплоїться у production.

Коротко:

  • Максимальна швидкість delivery.
  • Потребує сильних тестів.
  • Критичні моніторинг і rollback.
45. Що таке `Blue-Green deployment`?

DevOps

Два однакові середовища: активне і нове. Після перевірки трафік перемикається на нове.

Коротко:

  • Безпечне перемикання релізу.
  • Мінімальний downtime.
  • Швидкий rollback на попереднє середовище.
46. Що таке `Canary deployment`?

DevOps

Нова версія поступово отримує частину трафіку; при стабільних метриках rollout розширюється.

Коротко:

  • Поетапний реліз.
  • Менший blast radius.
  • Рішення на основі метрик.
47. Які best practices існують для CI/CD pipeline?

DevOps

Pipeline as code, швидкі тести, immutable artifacts, security scanning, захищені гілки, environment parity, чіткі quality gates.

Коротко:

  • Швидко, прозоро, відтворювано.
  • Якість і security вбудовані.
  • Маленькі зміни — краща стабільність.
48. Які проблеми можуть виникнути під час впровадження CI/CD?

DevOps

Flaky тести, довгі pipeline, різниця середовищ, слабка культура review, некеровані секрети, відсутність ownership.

Коротко:

  • Технічні й культурні проблеми пов’язані.
  • Без стабільних тестів довіри до pipeline не буде.
  • Впроваджувати краще поетапно.
49. Як забезпечити безпеку CI/CD pipeline?

DevOps

Least privilege, vault для секретів, SAST/SCA/скан образів, підпис артефактів, захист гілок, ізоляція runner-ів, аудит.

Коротко:

  • Security на кожному етапі pipeline.
  • Контроль доступів і секретів — пріоритет.
  • Supply chain security обов’язкова.
50. Як виконати `rollback` деплойменту?

DevOps

Зупинити rollout, повернути трафік/версію на last known good release, перевірити health, провести RCA.

Коротко:

  • Rollback має бути автоматизований.
  • Потрібні immutable артефакти.
  • Після відкату — аналіз причини.
51. Як побудувати та опублікувати Docker-образ у CI/CD pipeline?

DevOps

docker build -> тести/скани -> docker login -> docker push з versioned tag (краще SHA), далі deploy цим тегом.

Коротко:

  • Build, verify, push, deploy.
  • Не покладатися лише на latest.
  • Версіонування і перевірка образів критичні.
52. Що таке Jenkins?

DevOps

Jenkins — це open-source automation server для CI/CD: збірка, тестування і деплой застосунків через pipeline.

Коротко:

  • Один із найпоширеніших CI/CD інструментів.
  • Підтримує плагіни та інтеграції з VCS/Cloud.
  • Дозволяє автоматизувати повний delivery цикл.
53. Що таке архітектура `master-agent` у Jenkins?

DevOps

У Jenkins контролер (раніше master) керує job-ами і розподіляє виконання на агенти (workers/nodes), де реально запускаються build/test/deploy задачі.

Коротко:

  • Controller керує оркестрацією.
  • Agents виконують навантаження.
  • Дає масштабованість і ізоляцію середовищ.
54. Що таке `Jenkinsfile`?

DevOps

Jenkinsfile — файл у репозиторії, де pipeline описаний як код (Pipeline as Code), зазвичай на Groovy DSL.

Коротко:

  • Пайплайн зберігається поруч із кодом.
  • Є version control і code review для CI/CD логіки.
  • Спрощує відтворюваність і стандартизацію.
55. Що таке `stage`, `step` та `node` у Jenkins pipeline?

DevOps

  • stage — логічний етап пайплайну (Build, Test, Deploy).
  • step — конкретна дія всередині stage (sh, checkout, archiveArtifacts).
  • node — агент/виконавець, де запускаються steps.

Коротко:

  • stage = блок етапу.
  • step = команда/операція.
  • node = середовище виконання.
56. У чому різниця між `Scripted` та `Declarative pipelines`?

DevOps

Scripted pipeline — гнучкий Groovy-скрипт із програмною логікою. Declarative pipeline — більш структурований синтаксис із чіткими секціями (pipeline, stages, post), простіший для підтримки.

Коротко:

  • Scripted: максимум гнучкості.
  • Declarative: краща читабельність і стандартизація.
  • У більшості команд базово обирають Declarative.
57. Як запланувати запуск Jenkins job?

DevOps

Через Build Triggers у job: Build periodically з cron-виразом Jenkins (наприклад, H/15 * * * *), або через webhook події з Git.

Коротко:

  • Розклад задається cron-форматом Jenkins.
  • Можна запускати і по подіях (push/PR/webhook).
  • Часто комбінують schedule і event-trigger.
58. Як створити Jenkins job?

DevOps

У Jenkins UI: New Item -> вибрати тип (Freestyle, Pipeline, Multibranch Pipeline) -> налаштувати source, triggers, stages/steps -> Save.

Коротко:

  • Створення починається з New Item.
  • Для CI/CD зазвичай використовують Pipeline.
  • Краще одразу налаштувати через Jenkinsfile.
59. Як перезапустити Jenkins вручну?

DevOps

Типові способи:

  • через systemd: sudo systemctl restart jenkins;
  • безпечний перезапуск після завершення job: /safeRestart;
  • миттєвий перезапуск: /restart (залежить від налаштувань і прав).

Коротко:

  • Найчастіше: systemctl restart jenkins.
  • Для production бажано safeRestart.
  • Потрібні admin-права.
60. Як створити резервну копію Jenkins?

DevOps

Бекаплять каталог JENKINS_HOME (jobs, config, plugins, credentials) через snapshot/архівацію або спеціальні backup-плагіни; перед відновленням важлива сумісність версій Jenkins і плагінів.

Коротко:

  • Основа бекапу: JENKINS_HOME.
  • Робіть регулярні автоматичні backup + тест restore.
  • Версії Jenkins/плагінів мають збігатися при відновленні.
61. Які механізми автентифікації використовує Jenkins?

DevOps

Jenkins підтримує локальні акаунти, LDAP/Active Directory, SSO через SAML/OIDC (через плагіни), матричні моделі авторизації та інтеграцію з role-based access control.

Коротко:

  • Є локальна, directory-based і SSO автентифікація.
  • Для enterprise типово LDAP/AD або OIDC/SAML.
  • Безпека залежить від правильної авторизації (RBAC/roles).
62. Які сервіси AWS ви використовували у своїх проєктах?

DevOps

Найчастіше використовував: EC2, VPC, ALB/NLB, Auto Scaling, S3, RDS, IAM, CloudWatch, CloudTrail, Lambda, API Gateway, ECR, ECS/EKS, CodePipeline, CodeBuild, Systems Manager, Route 53, Secrets Manager.

Коротко:

  • Використовую core AWS сервіси для compute, network, storage і CI/CD.
  • Вибір сервісу залежить від вимог до вартості, масштабу й надійності.
  • Основний фокус: automation, security, observability.
63. Які стани має EC2 інстанс?

DevOps

Базові стани EC2: pending, running, stopping, stopped, shutting-down, terminated.

Коротко:

  • running — інстанс активний.
  • stopped — зупинений, але може бути знову запущений.
  • terminated — остаточно видалений стан.
64. Що таке `VPC`?

DevOps

VPC (Virtual Private Cloud) — логічно ізольована віртуальна мережа в AWS, де ви керуєте CIDR, підмережами, маршрутизацією, доступом і мережевою безпекою.

Коротко:

  • VPC — мережевий фундамент в AWS.
  • Дозволяє сегментувати середовище на public/private subnet.
  • Керує трафіком і ізоляцією ресурсів.
65. Що таке `VPC Peering`?

DevOps

VPC Peering — приватне мережеве з’єднання між двома VPC для прямого обміну трафіком через AWS backbone без використання Internet Gateway.

Коротко:

  • Прямий приватний зв’язок між VPC.
  • Потрібне налаштування route tables в обох VPC.
  • Транзитивність через peering не підтримується.
66. Як підключитися до EC2 у приватній підмережі?

DevOps

Типові варіанти: через Bastion Host, AWS Systems Manager Session Manager, через VPN/Direct Connect або через AWS Client VPN.

Найбезпечніший сучасний підхід часто — Session Manager без відкриття SSH-порту.

Коротко:

  • Bastion або Session Manager — базові методи доступу.
  • Приватна subnet зазвичай без прямого інтернет-доступу.
  • Перевага за SSM: менше attack surface.
67. У чому різниця між `Security Groups` та `NACL`?

DevOps

Security Group — stateful firewall на рівні ENI/інстансу (дозволяючі правила). NACL — stateless firewall на рівні subnet (allow/deny правила для inbound і outbound).

Коротко:

  • SG: stateful, instance-level.
  • NACL: stateless, subnet-level.
  • Зазвичай SG — основний контроль, NACL — додатковий периметр.
68. Що таке `AWS Shared Responsibility Model`?

DevOps

AWS відповідає за безпеку "of the cloud" (фізична інфраструктура, базові сервіси), а клієнт — за безпеку "in the cloud" (дані, IAM, конфігурації, мережеві правила, ОС/застосунки залежно від сервісу).

Коротко:

  • Відповідальність ділиться між AWS і клієнтом.
  • Чим ближче до IaaS, тим більше відповідальності у клієнта.
  • Неправильна конфігурація клієнта залишається ризиком клієнта.
69. Що таке `S3 Versioning`?

DevOps

S3 Versioning зберігає кілька версій одного об’єкта в бакеті, що допомагає відновлювати дані після випадкового перезапису або видалення.

Коротко:

  • Кожна зміна об’єкта отримує нову версію.
  • Спрощує recovery і аудит змін.
  • Важливо враховувати вплив на вартість зберігання.
70. Що таке `Object Locking` у S3?

DevOps

S3 Object Lock запобігає видаленню або зміні об’єктів протягом заданого періоду (retention), підтримує режими Governance і Compliance, що корисно для регуляторних вимог і immutable backups.

Коротко:

  • Захист від модифікації/видалення до кінця retention.
  • Підтримує WORM-підхід.
  • Важливий для комплаєнсу та ransomware-захисту.
71. Як працює `CloudWatch`?

DevOps

CloudWatch збирає метрики, логи та події з AWS сервісів і застосунків, дозволяє будувати дашборди, створювати алерти та автоматичні реакції (наприклад через EventBridge/Lambda).

Коротко:

  • Централізований моніторинг і алертинг в AWS.
  • Метрики + логи + події в одному контурі.
  • Основа операційної видимості та реагування.
72. Як моніторити EC2 за допомогою CloudWatch?

DevOps

Використовують стандартні метрики EC2 (CPU, network, status checks), CloudWatch Agent для memory/disk, CloudWatch Alarms для порогів, dashboards і Logs для системних журналів.

Коротко:

  • Базово: CPU, network, status checks.
  • Через Agent додаються memory/disk метрики.
  • Алерти мають бути прив’язані до SLO і runbooks.
73. Які DevOps-інструменти пропонує AWS?

DevOps

Основні: CodeCommit, CodeBuild, CodeDeploy, CodePipeline, CloudFormation, Systems Manager, CloudWatch, X-Ray, ECR/ECS/EKS, Lambda, SAM/CDK.

Також активно використовують інтеграцію з Terraform, GitHub Actions, Jenkins.

Коротко:

  • AWS має повний набір для build/test/deploy/operate.
  • IaC інструменти: CloudFormation і CDK.
  • Легко комбінується з зовнішніми DevOps-платформами.
74. Як підключити `AWS Lambda` до `API Gateway`?

DevOps

Створюєте Lambda-функцію, далі API Gateway (HTTP/REST API), додаєте маршрут, вказуєте Lambda integration, налаштовуєте permissions (invoke), deploy stage, після чого endpoint API викликає Lambda.

Коротко:

  • API Gateway виступає HTTP-фронтом для Lambda.
  • Потрібні коректні IAM permissions і stage deployment.
  • Патерн часто використовується для serverless API.
75. Що таке `Infrastructure as Code (IaC)`?

DevOps

Infrastructure as Code (IaC) — підхід, за якого інфраструктура описується кодом і керується так само, як застосунок: через VCS, review, CI/CD і автоматичні деплої.

Коротко:

  • Інфраструктура створюється та змінюється кодом.
  • Дає відтворюваність і контроль змін.
  • Основа масштабованого DevOps-процесу.
76. Які переваги IaC?

DevOps

Переваги: швидкість розгортання, repeatability, менше ручних помилок, versioning, audit trail, простіший disaster recovery, стандартизація середовищ.

Коротко:

  • Швидше і стабільніше керування інфраструктурою.
  • Прозора історія змін і rollback можливості.
  • Менше configuration drift між середовищами.
77. Що таке `Terraform`?

DevOps

Terraform — open-source IaC-інструмент від HashiCorp, який декларативно описує ресурси в HCL і керує ними через plan/apply та state-файл.

Коротко:

  • Універсальний IaC для multi-cloud.
  • Декларативний підхід і багата екосистема провайдерів.
  • Критично важливе коректне управління state.
78. Що таке `AWS CloudFormation`?

DevOps

CloudFormation — нативний AWS IaC-сервіс для опису та керування ресурсами через JSON/YAML шаблони і stack-модель.

Коротко:

  • AWS-native підхід до IaC.
  • Керує ресурсами через stacks.
  • Добра інтеграція з AWS екосистемою.
79. У чому різниця між `declarative` та `imperative` IaC?

DevOps

Declarative IaC описує бажаний кінцевий стан, а інструмент сам вирішує, як до нього дійти. Imperative IaC описує конкретні кроки виконання.

Коротко:

  • Declarative: "що має бути".
  • Imperative: "як це зробити".
  • Для масштабування частіше використовують declarative підхід.
80. Що таке `Terraform module`?

DevOps

Terraform module — повторно використовуваний набір ресурсів/логіки (файли main.tf, variables.tf, outputs.tf) для стандартизації типових шаблонів інфраструктури.

Коротко:

  • Module = reusable building block.
  • Зменшує дублювання конфігурацій.
  • Спрощує підтримку й governance.
81. Що таке `configuration drift`?

DevOps

Configuration drift — розбіжність між фактичним станом інфраструктури і тим, що описано в IaC, зазвичай через ручні зміни поза кодом.

Коротко:

  • Drift порушує передбачуваність середовища.
  • Ускладнює деплоя і troubleshooting.
  • Лікується IaC discipline, policy і регулярною валідацією.
82. Що таке `idempotence`?

DevOps

Idempotence означає, що повторний запуск однієї й тієї ж конфігурації приводить до того самого стану без небажаних побічних ефектів.

Коротко:

  • Повторний apply не ламає інфраструктуру.
  • Ключова властивість надійної автоматизації.
  • Знижує ризики у CI/CD для IaC.
83. Як тестувати infrastructure code?

DevOps

Базовий підхід: linting/format (terraform fmt, terraform validate), static analysis/security scanning (tflint, tfsec, checkov), unit/integration тести, plan review, ephemeral env для перевірки застосування.

Коротко:

  • Тестувати треба синтаксис, політики й поведінку.
  • plan + automated checks перед apply.
  • Окремі середовища для безпечної перевірки змін.
84. Як написати Terraform конфігурацію для створення EC2?

DevOps

Мінімальний приклад:

provider "aws" {
  region = "eu-central-1"
}

resource "aws_instance" "web" {
  ami           = "ami-xxxxxxxx"
  instance_type = "t3.micro"

  tags = {
    Name = "web-01"
  }
}

Далі: terraform init -> terraform plan -> terraform apply.

Коротко:

  • Потрібні provider + resource блоки.
  • Перед застосуванням обов’язково перевіряти plan.
  • Для production додають VPC/SG/IAM/variables/modules.
85. Що таке Docker?

DevOps

Docker — платформа контейнеризації, яка дозволяє пакувати застосунок з усіма залежностями в ізольований переносимий контейнер.

Коротко:

  • Єдиний формат запуску в будь-якому середовищі.
  • Швидший старт порівняно з VM.
  • Стандарт для modern DevOps workflow.
86. Яка архітектура Docker?

DevOps

Ключові компоненти: Docker Client, Docker Engine (daemon), Images, Containers, Networks, Volumes, Registry (Docker Hub/приватні реєстри).

Коротко:

  • Client надсилає команди daemon-у.
  • Daemon керує образами і контейнерами.
  • Registry зберігає й розповсюджує образи.
87. Що таке `Dockerfile`?

DevOps

Dockerfile — текстовий файл з інструкціями для побудови Docker-образу (FROM, RUN, COPY, CMD, тощо).

Коротко:

  • Описує, як зібрати образ.
  • Дозволяє версіонувати процес збірки.
  • Основа repeatable container build.
88. Що таке `Docker image`?

DevOps

Docker image — шаблон (read-only layers), з якого створюються контейнери. Містить ОС-базу, runtime, код і залежності.

Коротко:

  • Image = незмінний артефакт.
  • Може бути версіонований тегами.
  • Використовується для запуску контейнерів.
89. Що таке `Docker container`?

DevOps

Container — запущений екземпляр image з ізольованими процесами, файловою системою, мережею і обмеженнями ресурсів.

Коротко:

  • Container = runtime-стан образу.
  • Легковаговий та швидкий у старті.
  • Підходить для мікросервісної архітектури.
90. У чому різниця між образом і контейнером?

DevOps

Image — статичний шаблон, container — запущений процес на основі цього шаблону. Один image може запускати багато контейнерів.

Коротко:

  • Image: build-time артефакт.
  • Container: run-time інстанс.
  • Аналогія: клас і об’єкт.
91. У чому різниця між Docker і Virtual Machines?

DevOps

VM віртуалізують цілу ОС з окремим kernel, Docker-контейнери ділять kernel хоста і віртуалізують рівень процесів, тому значно легші.

Коротко:

  • Контейнери швидші та компактніші.
  • VM дають сильнішу ізоляцію ОС-рівня.
  • Часто використовують обидва підходи разом.
92. Що таке `multi-stage Docker build`?

DevOps

Multi-stage build дозволяє мати кілька FROM етапів: збірка в одному stage, а фінальний runtime-образ — мінімальний, лише з потрібними артефактами.

Коротко:

  • Менший розмір фінального образу.
  • Краща безпека (менше зайвих залежностей).
  • Оптимально для production.
93. Як контейнеризувати Nginx-додаток?

DevOps

Типовий підхід: взяти базовий образ nginx, скопіювати статичні файли в /usr/share/nginx/html, додати конфіг (за потреби), відкрити порт 80.

Коротко:

  • База: FROM nginx:alpine.
  • COPY контент у web root.
  • Запуск з пробросом порту -p 80:80.
94. Як написати Dockerfile для Node.js?

DevOps

Базовий патерн: FROM node:alpine, копіювати package*.json, виконати npm ci, скопіювати код, задати CMD ["npm","start"]; для production краще multi-stage.

Коротко:

  • Кешуйте залежності через окремий крок COPY package*.json.
  • Використовуйте npm ci для стабільних білдів.
  • Для продакшну робіть мінімальний runtime-образ.
95. Як написати Dockerfile для React-додатку?

DevOps

Зазвичай: build stage на Node (npm ci && npm run build), потім runtime stage на Nginx, де віддається папка build.

Коротко:

  • Рекомендований multi-stage підхід.
  • Build у Node, serve у Nginx.
  • Дає легкий і швидкий production-образ.
96. Що таке `Docker Compose`?

DevOps

Docker Compose — інструмент для опису й запуску multi-container застосунків через docker-compose.yml (services, networks, volumes, env).

Коротко:

  • Один файл для локального/інтеграційного оточення.
  • Швидкий запуск стеку командою docker compose up.
  • Зручний для dev і тестових середовищ.
97. Що таке `Docker Swarm`?

DevOps

Docker Swarm — вбудований оркестратор Docker для керування кластером вузлів, реплікацією сервісів, rolling updates і service discovery.

Коротко:

  • Оркестрація контейнерів нативно в Docker.
  • Простіший за Kubernetes, але менш гнучкий.
  • Підходить для невеликих/середніх кластерів.
98. Що таке `Docker registry` і `repository`?

DevOps

Registry — сервіс зберігання образів (Docker Hub, ECR, GHCR). Repository — логічна колекція версій одного образу в реєстрі.

Коротко:

  • Registry = сховище образів.
  • Repository = простір для конкретного образу.
  • Теги в repository представляють версії.
99. У чому різниця між `EXPOSE` та `publish`?

DevOps

EXPOSE у Dockerfile лише документує/декларує порт контейнера. publish (-p host:container) під час запуску реально публікує порт на хості.

Коротко:

  • EXPOSE не відкриває порт зовні сам по собі.
  • -p робить порт доступним ззовні.
  • Часто потрібні обидва для зрозумілого конфігу.
100. Що таке Kubernetes?

DevOps

Kubernetes (K8s) — платформа оркестрації контейнерів для автоматичного розгортання, масштабування і керування containerized застосунками.

Коротко:

  • Декларативне керування контейнерними workload.
  • Автоматизує scaling, self-healing і rollout.
  • De facto стандарт container orchestration.
101. Які проблеми вирішує Kubernetes?

DevOps

Kubernetes вирішує: оркестрацію контейнерів у кластері, service discovery, автовідновлення pod-ів, балансування трафіку, rolling updates/rollback, горизонтальне масштабування.

Коротко:

  • Знімає ручне керування контейнерами в масштабі.
  • Покращує надійність і repeatability релізів.
  • Спрощує операції для мікросервісної архітектури.
102. Що таке `Pod`?

DevOps

Pod — найменша deployable одиниця в Kubernetes, яка містить один або кілька контейнерів зі спільними network namespace і volumes.

Коротко:

  • Pod = runtime-обгортка для контейнерів.
  • Контейнери в pod ділять IP/port space.
  • Зазвичай один основний контейнер на pod.
103. Що таке `Deployment`?

DevOps

Deployment — контролер Kubernetes для декларативного керування stateless застосунками: створення/оновлення pod-ів, rollout, rollback і desired state.

Коротко:

  • Керує життєвим циклом pod-ів через ReplicaSet.
  • Підтримує rolling update і rollback.
  • Основний об’єкт для app deployment.
104. Що таке `ReplicaSet`?

DevOps

ReplicaSet гарантує, що задана кількість однакових pod-ів постійно працює. Зазвичай створюється і керується Deployment-ом.

Коротко:

  • Підтримує потрібну кількість реплік.
  • Автоматично відновлює втрачені pod-и.
  • Рідко керується напряму у production.
105. Які типи `Services` існують у Kubernetes?

DevOps

Основні типи Service: ClusterIP, NodePort, LoadBalancer, ExternalName. Також використовується headless service (clusterIP: None).

Коротко:

  • ClusterIP — внутрішній доступ у кластері.
  • NodePort/LoadBalancer — зовнішній доступ.
  • ExternalName — DNS-аліас на зовнішній сервіс.
106. Що таке `Headless Service`?

DevOps

Headless Service — service без віртуального ClusterIP (clusterIP: None), який повертає DNS-записи напряму на pod-и (часто для stateful workload).

Коротко:

  • Немає єдиного service IP.
  • DNS резолвиться в IP конкретних pod-ів.
  • Часто використовується з StatefulSet.
107. Як Kubernetes додаток взаємодіє із зовнішнім світом?

DevOps

Через Service типу LoadBalancer/NodePort, Ingress Controller, API Gateway, або service mesh/egress rules для вихідного трафіку.

Коротко:

  • Вхід: Ingress або LoadBalancer service.
  • Вихід: egress через CNI/мережеві політики/NAT.
  • Безпечність забезпечують TLS, auth, network policies.
108. Що таке `Ingress`?

DevOps

Ingress — Kubernetes-ресурс для L7-маршрутизації HTTP/HTTPS трафіку до service (за host/path правилами), який працює через Ingress Controller.

Коротко:

  • Єдина точка входу для веб-трафіку.
  • Підтримує host/path routing і TLS termination.
  • Потребує встановленого Ingress Controller.
109. Як масштабувати додатки у Kubernetes?

DevOps

Основні підходи: ручне масштабування (kubectl scale), Horizontal Pod Autoscaler (HPA), Vertical Pod Autoscaler (VPA), Cluster Autoscaler для вузлів.

Коротко:

  • HPA масштабує pod-и за метриками.
  • Cluster Autoscaler додає/прибирає nodes.
  • Потрібні коректні requests/limits і метрики.
110. Що таке `Helm`?

DevOps

Helm — пакетний менеджер Kubernetes, який використовує charts (шаблони) для параметризованого і повторюваного розгортання застосунків.

Коротко:

  • Helm chart = шаблон інфраструктури/додатку для K8s.
  • Спрощує release management і rollback.
  • Добре підходить для стандартизації deployment-ів.
111. Як діагностувати `CrashLoopBackOff`?

DevOps

Базовий алгоритм: kubectl describe pod, kubectl logs --previous, перевірка readiness/liveness probes, env vars/secrets/config, ресурсних лімітів, залежностей (DB, DNS, мережа), exit code контейнера.

Коротко:

  • Починайте з describe і логів попереднього рестарту.
  • Часті причини: помилка старту, probes, конфіг, ресурси.
  • Далі виправлення і контрольний rollout.
112. Що таке `Application Performance Monitoring (APM)`?

DevOps

APM — це підхід і набір інструментів для відстеження продуктивності застосунку: latency, throughput, error rate, traces, залежності та вузькі місця.

Коротко:

  • Дає видимість продуктивності на app-рівні.
  • Прискорює пошук root cause інцидентів.
  • Критично для SLO/SLA-контролю.
113. Які інструменти моніторингу використовуються в DevOps?

DevOps

Типові інструменти: Prometheus, Grafana, Alertmanager, ELK/OpenSearch, Loki, Datadog, New Relic, Dynatrace, CloudWatch, Azure Monitor, Nagios, Zabbix.

Коротко:

  • Використовують стек метрик, логів, трасувань.
  • Вибір залежить від масштабу і платформи.
  • Моніторинг має бути інтегрований з alerting.
114. Що таке `Nagios`?

DevOps

Nagios — класична система моніторингу інфраструктури і сервісів із моделлю перевірок (checks), алертів і плагінів.

Коротко:

  • Моніторить доступність хостів/сервісів.
  • Працює через плагіни і перевірки.
  • Підходить для legacy та hybrid середовищ.
115. Що таке `active` та `passive checks` у Nagios?

DevOps

Active checks запускаються самим Nagios за розкладом. Passive checks надсилаються зовнішніми агентами/системами в Nagios.

Коротко:

  • Active: ініціює Nagios.
  • Passive: результат пушиться ззовні.
  • Часто комбінують обидва типи.
116. Що таке `NRPE`?

DevOps

NRPE (Nagios Remote Plugin Executor) — агент/протокол для віддаленого запуску Nagios-плагінів на цільових Linux/Unix хостах.

Коротко:

  • Дає змогу виконувати remote checks.
  • Використовується для глибшого host monitoring.
  • Потребує безпечного налаштування доступу.
117. Що таке `continuous monitoring`?

DevOps

Continuous monitoring — безперервний збір і аналіз метрик, логів, подій та сигналів безпеки для швидкого виявлення проблем і деградацій.

Коротко:

  • Моніторинг працює постійно, а не періодично вручну.
  • Дає раннє виявлення інцидентів.
  • Основа для reliability і security operations.
118. Для чого використовуються `monitoring dashboards`?

DevOps

Dashboards візуалізують ключові метрики (SLI/SLO, latency, errors, utilization), щоб швидко оцінювати стан системи, тренди і вплив релізів.

Коротко:

  • Єдина точка операційної видимості.
  • Допомагають у troubleshooting і capacity planning.
  • Полегшують комунікацію під час інцидентів.
119. Що таке `configuration management`?

DevOps

Configuration management — керування конфігураціями серверів/сервісів у стандартизований і відтворюваний спосіб через код і автоматизацію.

Коротко:

  • Зменшує ручні налаштування і drift.
  • Забезпечує єдині стандарти середовищ.
  • Важлива частина IaC/DevOps практик.
120. Що таке `Chef`?

DevOps

Chef — інструмент configuration management, який описує desired state системи через recipes/cookbooks і застосовує його через агентну модель.

Коротко:

  • Потужний DSL для складної автоматизації.
  • Орієнтований на великі керовані середовища.
  • Часто використовується в enterprise-інфраструктурі.
121. Що таке `Puppet`?

DevOps

Puppet — декларативний CM-інструмент із власним DSL і зазвичай agent-based архітектурою для керування конфігураціями вузлів.

Коротко:

  • Declarative підхід до стану системи.
  • Сильні можливості для централізованого керування.
  • Поширений у великих інфраструктурах.
122. Що таке `Ansible`?

DevOps

Ansible — agentless інструмент автоматизації й configuration management, який використовує YAML playbooks і підключення переважно через SSH/WinRM.

Коротко:

  • Простий старт і читабельні playbooks.
  • Не потребує агентів на керованих хостах.
  • Широко використовується для ops automation.
123. У чому різниця між `Ansible` та `Puppet`?

DevOps

Ansible — agentless, процедурно-декларативний підхід через playbooks. Puppet — переважно agent-based і більш жорстко декларативна модель через маніфести.

Коротко:

  • Ansible простіший для швидкого впровадження.
  • Puppet сильний у централізованому керуванні на великому масштабі.
  • Вибір залежить від вимог і зрілості команди.
124. Що таке `Ansible role`?

DevOps

Ansible role — структурована одиниця повторного використання (tasks, handlers, vars, templates, files, defaults) для модульної автоматизації.

Коротко:

  • Role = reusable automation component.
  • Спрощує підтримку і масштабування playbooks.
  • Допомагає стандартизувати конфігурації.
125. Що таке `Test Kitchen`?

DevOps

Test Kitchen — інструмент для тестування infrastructure/configuration code (часто в екосистемі Chef) у тимчасових інстансах/контейнерах.

Коротко:

  • Автоматизує перевірку CM-коду.
  • Запускає тестові середовища для валідації.
  • Підвищує надійність інфраструктурних змін.
126. Що таке `virtualization`?

DevOps

Virtualization — технологія абстракції апаратних ресурсів, що дозволяє запускати кілька ізольованих віртуальних середовищ на одному фізичному хості.

Коротко:

  • Підвищує ефективність використання ресурсів.
  • Дозволяє ізолювати workload-и.
  • Основа для сучасних датацентрів і cloud.
127. Що таке `hypervisor`?

DevOps

Hypervisor — програмний шар, який створює і керує віртуальними машинами, розподіляючи CPU, RAM, storage і network між ними.

Коротко:

  • Керує життєвим циклом VM.
  • Буває Type 1 (bare-metal) і Type 2 (hosted).
  • Ключовий компонент віртуалізації.
128. Які типи віртуалізації існують?

DevOps

Основні типи: server virtualization, OS-level/container virtualization, storage virtualization, network virtualization, desktop virtualization.

Коротко:

  • Різні типи закривають різні інфраструктурні задачі.
  • Найпоширеніші в DevOps: server + container virtualization.
  • Часто застосовуються у поєднанні.
129. Які переваги віртуалізації?

DevOps

Переваги: краща утилізація ресурсів, ізоляція, масштабованість, швидке провізіонування, зниження CAPEX/OPEX, спрощення DR/backup.

Коротко:

  • Економія і гнучкість інфраструктури.
  • Швидше створення та міграція середовищ.
  • Краща операційна керованість.
130. У чому різниця між `virtual machines` та `containers`?

DevOps

VM мають власну гостьову ОС і kernel поверх hypervisor. Containers ділять kernel хоста і ізолюють процеси на рівні ОС.

Коротко:

  • VM: сильніша ізоляція, більші накладні витрати.
  • Containers: легші, швидший старт, вища щільність.
  • Обирають залежно від вимог безпеки і продуктивності.

About

Найпопулярніші запитання та відповіді на співбесіді по DevOps

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors