Skip to content

Latest commit

 

History

History
118 lines (95 loc) · 6.67 KB

Junior.md

File metadata and controls

118 lines (95 loc) · 6.67 KB

Junior

Питання

Загальні

  • Що таке DevOps?
  • Ви набираєте google.com у браузері. Розкажіть якомога детальніше, що відбувається в цей час?
  • Як працює HTTPS?
  • Поясніть концепцію Infrastructure as Code, для чого це потрібно і які проблеми вирішує?

Linux

  • Опишіть загальну архітектуру операційної системи.
  • Опишіть основне призначення операційної системи.
  • Навіщо потрібні файлові системи? Які існують?
  • У чому різниця між віртуалізацією і контейнеризацією?
  • У чому переваги контейнерів?
  • Яка файлова структура у Linux (UNIX) систем, що розташовані в
    • /etc,
    • /dev,
    • /proc,
    • /sys,
    • /lib,
    • /var (кілька директорій на вибір)?
  • Що таке Load Average?
  • У чому різниця між soft та hard symlink?
  • Як працюють file permissions, навіщо директорії права виконання (+x)?
  • Що таке zombie process?
  • За допомогою чого можна зібрати інформацію про поточний стан процесора, пам’яті, диска, мережі?
  • Що таке swappiness?
  • Як подивитися вільне місце на диску?
  • Що таке inode?
  • Розкажіть поетапно процес завантаження Linux від моменту ввімкнення живлення комп’ютера.
  • Що станеться під час виконання команд:
    • cat file1 > file2
    • cat file1 >> file2
  • У чому різниця між Ctrl+C та Ctrl+Z?
  • Як перенаправити одночасно stderr та stdin?
  • Як вбити процес? Які є типи сигналів?
  • Що робить команда grep?
  • Що таке скрипт bash?
  • Які типи змінних використовують у bash?
  • Що виведуть команди:
    • echo ${hostname};
    • echo $(hostname);

Networks

  • Що таке модель OSI_model, TCP-IP_model?
  • Для чого потрібні network masks?
  • Структура IP-пакета. З чого складається? Що таке фрагментація та чому вона відбувається?
  • Що таке колізія? Чому виникає?
  • Що таке проксі?
  • Що таке firewalls і навіщо вони потрібні?
  • Що таке NAT і навіщо він потрібен?
  • Які типи IP-адрес ви знаєте?
  • За яким портом і протоколом працюють Ping і Traceroute?

Clouds

  • У чому різниця між IaaS, PaaS та SaaS?
  • Що таке VPC і з яких компонентів має складатись?
  • Що таке cloud-init? init/systemd/upstart configs?

Automation

  • Що таке IaaC і навіщо він потрібний?
  • Що таке Terraform?
  • Які інструменти автоматизації ви знаєте?

Information Security

  • У чому різниця між аутентифікацією та авторизацією?
  • Сертифікати. Як працює HTTPS? Що таке certificate ciphers?
  • Як безпечно передати дані своєму колезі?
  • Що таке MFA, TOTP?

Віртуалізація

  • У чому різниця між віртуалізацією та контейнеризацією? У чому плюси та мінуси?
  • Як для при запуску Docker-контейнера «повісити» його з 80-го порту в контейнері на 8081 на хост?
  • Як передати у віртуальну машину USB device?
  • Docker-контейнер споживає багато SWAP. Що робити?

CI/CD

  • Що таке Continuous Integration та Continuous Deployment? У чому різниця між Continuous Deployment і Continuous Delivery?
  • Опишіть основні етапи CI/CD.
  • Опишіть приклад процесу CI (та/або CD), який починається з моменту, коли розробник запушив зміни/PR до Git?
  • Розкажіть про різновиди тестів, які ми можемо використовувати в CI пайплайні.
  • Які інструменти CI ви використовували? Чи є досвід роботи з Jenkinsfile?
  • Які види тестів ви знаєте і навіщо вони потрібні?

Development

  • Git. Як вирішити merge conflict? Що таке rebase, cherry-pick?
  • У чому різниця між git merge та git rebase?
  • Які UI використовували?
  • Яка різниця між GitLab/GitHub/Bitbucket?
  • Яка різниця між Git pull/Git fetch?
  • Що таке Git-flow?
  • Версіонування. Яка різниця між SemVer та CalVer?
  • Тестування. Які існують види? Як писати тести, TDD?
  • У чому різниця між компільованими та інтерпретаційними мовами програмування?

Monitoring/Logging

  • Які метрики треба збирати? Різниця між infrastructure та application monitoring.
  • Яка різниця між pull та push model у системах моніторингу?
  • Яка різниця між Black box та White box monitoring?
  • Розкажіть про підходи до збору application логів.

Практичні завдання

  • Напишіть просту програму мовою на ваш вибір. Програма має отримувати повідомлення з сервісу черг і друкувати його в stdout. Сервіс черг — на ваш розсуд.
  • Розберіть структуру сервісу (на прикладі Docker-compose).
  • Практична сесія роботи з Git (Git command line: fetch, push, pull, rebase, checkout, submodules).