Завантажте PDF
1) Поясніть, що таке DevOps?
Це новий термін в галузі ІТ, який є нічим іншим, як практикою, яка наголошує на співпраці та спілкуванні як розробників програмного забезпечення, так і команди з розгортання (операцій). Він зосереджений на швидшій доставці програмного продукту та зниженні рівня відмов випусків.
2) Згадайте, якими ключовими аспектами чи принципом є DevOps?
Ключовими аспектами або принципом, що лежить в основі DevOps, є
- Інфраструктура як код
- Постійне розгортання
- Автоматизація
- Моніторинг
- Безпека
3) Які основні операції DevOps з розробкою додатків та з інфраструктурою?
Основними операціями DevOps є
Розробка додатків
- Побудова коду
- Покриття коду
- Блокове тестування
- Упаковка
- Розгортання
Інфраструктура
- Забезпечення
- Конфігурація
- Оркестровка
- Розгортання
4) Поясніть, як “код інфраструктури” обробляється або виконується в AWS?
В AWS,
- Код інфраструктури буде у простому форматі JSON
- Цей код JSON буде організований у файли, які називаються шаблонами
- Ці шаблони можна розгорнути на AWS devops, а потім керувати ними як стеки
- Пізніше служба CloudFormation виконає операцію створення, видалення, оновлення тощо у стеку
5) Поясніть, яка мова сценаріїв є найважливішою для інженера DevOps?
Більш проста мова сценаріїв буде кращою для інженера DevOps. Python, здається, дуже популярний.
6) Поясніть, як DevOps корисний розробникам?
DevOps може бути корисним розробникам для виправлення помилки та швидкого впровадження нових функцій. Це також сприяє чіткішому спілкуванню між членами команди.
7) Перелічіть деякі популярні інструменти для DevOps?
Деякі з популярних інструментів для DevOps є
- Дженкінс
- Нагіос
- Моніт
- ELK (Elasticsearch, Logstash, Kibana)
- Дженкінс
- Докер
- Відповідальний
- Git
8) Згадайте, в якому випадку ви використовували SSH?
Я використовував SSH для входу на віддалену машину та роботи в командному рядку. Крім цього, я також використовував його для введення тунелю в систему, щоб забезпечити захищений зашифрований зв'язок між двома ненадійними хостами через незахищену мережу.
9) Поясніть, як би ви обробляли контроль версій (версій)?
Мій підхід до управління контролем редагування полягав би у розміщенні коду на SourceForge або GitHub, щоб кожен міг його переглянути. Крім того, я опублікую контрольний список з останньої редакції, щоб переконатися, що будь-які невирішені проблеми вирішені.
10) Які типи запитів Http?
Типи запитів Http є
- ОТРИМАТИ
- КЕРІВНИК
- ВСТАНОВИТИ
- ПОСТ
- ЛІП
- ВИДАЛИТИ
- СЛІД
- ПІДКЛЮЧИТИ
- ВАРІАНТИ
11) Поясніть, що б ви перевірили, якщо сервер збірки Linux раптом почне працювати повільно?
Якщо сервер збірки Linux раптом починає працювати повільно, ви перевірите такі три речі
| Проблеми, пов’язані з оперативною пам’яттю, проблеми читання-запису дискового вводу-виводу, проблеми, пов’язані з дисковим простором тощо. |
| Перевірте файл журналу додатків АБО файл журналу сервера додатків, проблеми з продуктивністю системи, журнал веб-сервера - перевірте журнали HTTP, tomcat lo, jboss або WebLogic, щоб перевірити, чи час відповіді / прийому сервера додатків є проблемами повільності, витоку пам'яті застосування |
| Проблеми з антивірусом, проблеми з брандмауером, проблеми з мережею, проблеми з часом відгуку сервера SMTP тощо. |
12) Які ключові компоненти DevOps?
Найважливішими компонентами DevOps є:
- Постійна інтеграція
- Постійне тестування
- Безперервна доставка
- Постійний моніторинг
13) Назвіть кілька хмарних платформ, які використовуються для реалізації DevOps
Популярні хмарні обчислювальні платформи, що використовуються для реалізації DevOps:
- Google Cloud
- Веб-служби Amazon
- Microsoft Azure
14) Надайте деякі переваги використання системи контролю версій
- Система управління версіями дозволяє членам команди вільно працювати над будь-яким файлом у будь-який час.
- Усі попередні версії та варіанти щільно упаковані всередині VCS.
- Розподілене VCS, подібне, допомагає зберігати повну історію проекту, тому у випадку поломки на центральному сервері ви можете використовувати локальне сховище Git члена вашої команди.
- Дозволяє побачити, які саме зміни внесені у вміст файлу
15) Поясніть Git Bisect
Git bisect допомагає вам знайти коміт, який ввів помилку, використовуючи двійковий пошук.
16) Що таке збірка?
Збірка - це метод, при якому вихідний код складається разом, щоб перевірити, чи працює він як одиниця. У процесі створення збірки вихідний код пройде компіляцію, перевірку, тестування та розгортання.
17) Що таке лялька?
Лялька - корисний інструмент управління проектами. Це допоможе вам автоматизувати адміністративні завдання.
18) Поясніть двофакторну автентифікацію
Двофакторна автентифікація - це метод безпеки, при якому користувач забезпечує два способи ідентифікації з окремих категорій.
19) Поясніть термін "Канарські випуски".
Випуск канарки - це шаблон, який зменшує ризик впровадження нової версії програмного забезпечення у виробниче середовище. Це робиться шляхом надання доступності контрольованому підмножині користувача. Перш ніж зробити його доступним для повного набору користувачів.
20) Які види тестування важливі для забезпечення готовності нової послуги до виробництва?
Вам потрібно проводити постійне тестування, щоб переконатися, що нова послуга готова до виробництва.
21) Що таке Vagrant?
Вагрант - це інструмент, який може створювати та керувати віртуалізованими середовищами для тестування та розробки програмного забезпечення.
22) Яке використання PTR у DNS?
Запис покажчика, який також називають (PTR), використовується для зворотного пошуку DNS.
23) Що таке шеф-кухар?
Це потужна платформа автоматизації, яка перетворює інфраструктуру в код. У цьому інструменті ви можете використовувати сценарії запису, які використовуються для автоматизації процесів.
24) Які передумови для реалізації DevOps?
Нижче наведено корисні передумови для реалізації DevOps:
- Принаймні одне програмне забезпечення для контролю версій
- Правильне спілкування між членами команди
- Автоматизоване тестування
- Автоматизоване розгортання
25) Назвіть кілька найкращих практик, яких слід дотримуватися для успіху DevOps.
Ось основні найкращі практики реалізації DevOps:
- Швидкість доставки означає час, необхідний для виконання будь-якого завдання, щоб потрапити у виробниче середовище.
- Відстежуйте, скільки дефектів виявлено в різних
- Важливо виміряти фактичний або середній час, необхідний для відновлення у випадку відмови у виробничому середовищі.
- Кількість помилок, про які повідомляє клієнт, також впливає на якість програми.
26) Поясніть інструмент SubGIt
SubGit допомагає перенести SVN на Git. Це також дозволяє створити дзеркало Git для локального або віддаленого сховища Subversion.
27) Назвіть деякі важливі інструменти моніторингу мережі
Деякі найбільш відомі інструменти моніторингу мережі:
- Спанкл
- Ледянка 2
- Wireshark
- Нагіос
- OpenNMS
28) Чи може ваша відеокарта запускати Unity, як би ви знали?
Коли ви використовуєте команду
/usr/lib/Linux/unity_support_test-p
він дасть детальну інформацію про вимоги Unity, і якщо вони будуть задоволені, ваша відеокарта може працювати з єдністю.
29) Поясніть, як увімкнути звук під час запуску в Ubuntu?
Щоб увімкнути звук запуску
- Клацніть на перемикач передач, а потім натисніть Запуск програм
- У вікні Параметри запуску програми натисніть Додати, щоб додати запис
- Потім заповніть інформацію у полях для коментарів, таких як Ім'я, Команда та Коментар
/usr/bin/canberra-gtk-play-id= "desktop-login"-description= "play login sound"
- Вийдіть із системи, а потім увійдіть, коли закінчите
Ви також можете відкрити його з допомогою комбінації клавіш Ctrl + Alt + T .
30) Який найшвидший спосіб відкрити термінал Ubuntu у певному каталозі?
Щоб відкрити термінал Ubuntu у певному каталозі, ви можете скористатися спеціальним клавіатурним скороченням.
Для цього в командному полі нової спеціальної клавіатури введіть genome - terminal - - working - directory = / path / to / dir.
31) Поясніть, як можна отримати поточний колір поточного екрану на робочому столі Ubuntu?
Ви можете відкрити фонове зображення в The Gimp (редактор зображень), а потім за допомогою інструмента-крапельниці вибрати колір у певній точці. Це дає вам значення RGB кольору на той момент.
32) Поясніть, як ви створюєте панелі запуску на робочому столі в Ubuntu?
Для створення панелей запуску на робочому столі в Ubuntu ви можете використовувати
Потім ALT + F2 введіть "gnome-desktop-item-edit -create-new ~ / desktop", він запустить старе діалогове вікно графічного інтерфейсу та створить панель запуску на робочому столі
33) Поясніть, що таке Memcached?
Memcached - це безкоштовна, високопродуктивна, розподілена система кешування об'єктів пам'яті. Основна мета Memcached - збільшити час відгуку на дані, які в іншому випадку можуть бути відновлені або побудовані з іншого джерела або бази даних. Він використовується, щоб уникнути необхідності оперувати базою даних SQL або іншим джерелом повторно для отримання даних для одночасного запиту.
Memcached можна використовувати для
- Соціальні мережі-> Кешування профілю
- Агрегація вмісту -> HTML / кешування сторінок
- Націлювання на оголошення -> Відстеження файлів cookie / профілю
- Взаємозв'язок-> Кешування сеансів
- Електронна комерція -> Кешування сеансів та HTML
- Послуги на основі розташування-> Масштабування запитів до бази даних
- Ігри та розваги-> Кешування сеансів
Memcache допомагає
- Прискорити процеси застосування
- Він визначає, що зберігати, а що ні
- Зменшити кількість запитів на пошук до бази даних
- Зменшує доступ вводу / виводу (введення / виведення) (жорсткий диск)
Недоліком Memcached є
- Це не постійне сховище даних
- Не база даних
- Це не стосується додатків
- Він не може кешувати великий об’єкт
34) Згадайте деякі важливі особливості Memcached?
Важливі особливості Memcached включає
- Маркери CAS: маркер CAS приєднується до об'єкта, отриманого з кешу. Ви можете використовувати цей маркер для збереження оновленого об’єкта.
- Зворотні дзвінки: Це спрощує код
- getDelayed: зменшує час затримки вашого сценарію, який чекає повернення результатів із сервера
- Двійковий протокол: Ви можете використовувати двійковий протокол замість ASCII з новим клієнтом
- Igbinary: Раніше клієнт завжди використовував серіалізацію значення зі складними даними, але за допомогою Memcached ви можете використовувати опцію igbinary.
35) Поясніть, чи можна спільно використовувати один екземпляр Memcache між кількома проектами?
Так, можна поділити один екземпляр Memcache між кількома проектами. Memcache - це місце для зберігання пам'яті, і ви можете запускати memcache на одному або декількох серверах. Ви також можете налаштувати клієнта на розмову з певним набором екземплярів. Отже, ви можете запускати два різні процеси Memcache на одному хості, і все ж вони повністю незалежні. Якщо, якщо ви не розділили свої дані, тоді стає необхідним знати, з якого екземпляра взяти дані або вкласти їх.
36) У вас кілька серверів Memcache, на яких один із серверів memcache виходить з ладу, і він має ваші дані, чи намагатиметься він коли-небудь отримати ключові дані з цього одного невдалого сервера?
Дані на невдалому сервері не видаляються, але є можливість автоматичного збою, яку ви можете налаштувати для декількох вузлів. Помилка може бути спровокована під час будь-яких помилок рівня сокета або сервера Memcached, а не під час стандартних помилок клієнта, таких як додавання існуючого ключа тощо.
37) Поясніть, як можна мінімізувати відключення сервера Memcached?
- Коли один екземпляр виходить з ладу, кілька з них падають, і це збільшить навантаження на сервер бази даних, коли втрачені дані перезавантажуються, коли клієнт робить запит. Щоб уникнути цього, якщо ваш код написано для мінімізації штампування кешу, це залишить мінімальний вплив
- Інший спосіб - вивести екземпляр Memcached на новій машині, використовуючи IP-адресу загублених машин
- Код - це ще один варіант мінімізації відключень сервера, оскільки він дає можливість змінювати список серверів Memcached за мінімальну роботу
- Встановлення значення часу очікування - ще один варіант, який деякі клієнти Memcached реалізують для відключення сервера Memcached. Коли ваш сервер Memcached не працює, клієнт продовжуватиме намагатись надіслати запит до досягнення обмеження часу очікування
38) Поясніть, як можна оновити Memcached при зміні даних?
При зміні даних ви можете оновити Memcached by
- Проактивне очищення кеш-пам’яті : очищення кеш-пам’яті під час вставки або оновлення
- Скидання кеш-пам'яті: Це схоже на перший метод, але замість того, щоб просто видалити ключі та чекати наступного запиту на оновлення даних, скинути значення після вставки або оновлення.
39) Поясніть, що таке ефект Dogpile? Як можна запобігти цьому ефекту?
Ефект Dogpile називається подією, коли термін дії кеш-пам’яті закінчується, і веб-сайти потрапляють під численні запити, зроблені клієнтом одночасно. Цього ефекту можна запобігти, використовуючи семафорний замок. У цій системі, коли значення закінчується, перший процес отримує блокування і починає генерувати нове значення.
40) Поясніть, як не слід використовувати Memcached?
- Поширене неправильне використання Memcached полягає у використанні його як сховища даних, а не як кешу
- Ніколи не використовуйте Memcached як єдине джерело інформації, необхідної для запуску програми. Дані завжди повинні бути доступні також з іншого джерела
- Memcached - це просто ключ або сховище значень і не може виконувати запит щодо даних або перебирати вміст для вилучення інформації
- Memcached не пропонує жодної форми захисту ні при шифруванні, ні при автентифікації
41) Коли сервер вимикається, дані, що зберігаються у Memcached, все ще доступні?
Дані, що зберігаються в Memcached, не є довговічними, тому, якщо сервер вимкнено або перезапущено, усі дані, що зберігаються в Memcached, видаляються.
42) Згадайте, яка різниця між Memcache та Memcached?
- Memcache: Це розширення, яке дозволяє працювати через зручні об'єктно-орієнтовані (ООП) та процедурні інтерфейси. Він призначений для зменшення навантаження на базу даних у динамічних веб-додатках.
- Memcached : Це розширення, яке використовує бібліотеку libmemcached для надання API для спілкування із серверами Memcached. Він використовується для збільшення динамічних веб-додатків за рахунок зменшення завантаження бази даних. Це найновіший API.
43) Поясніть синій / зелений шаблон розгортання
Синьо-зелений розмальовка розглядає найважливіші проблеми, з якими стикається процес автоматичного розгортання. У підході синього / зеленого розгортання потрібно забезпечити два однакових виробничих середовища. Однак лише один з них є ЖИВИМ у будь-який момент часу. Середовище LIVE називається Блакитним середовищем.
Коли команда готує наступний випуск свого програмного забезпечення, вони проводять заключний етап тестування в середовищі, яке відоме як екологічне середовище. Після перевірки трафік спрямовується до екологічного середовища.
44) Що таке контейнери?
Контейнери виготовлені з легкої віртуалізації. Вони пропонують ізоляцію між процесами.
45) Що таке посмертна зустріч із посиланням на DevOps?
Післясмертна зустріч проводиться для обговорення того, що пішло не так, і які кроки потрібно зробити, щоб уникнути невдач.
46) Який найпростіший спосіб побудувати маленьку хмаринку?
VMfres - це один із найефективніших варіантів створення хмари IaaS із віртуальних машин Virtual Box за найкоротші терміни. Однак, якщо ви хочете полегшити PaaS, тоді Dokku - хороший варіант, оскільки скрипт bash може бути PaaS з контейнерів Dokku.
47) Назвіть два інструменти, які використовуються для з'єднання докерів.
Для мереж докерів ви можете використовувати рій Kubernetes та Docker.
48) Назвіть деякі області, де реалізовано DevOps
DevOps використовуються для виробництва, ІТ-операцій, зворотного зв'язку з виробництвом та розробки програмного забезпечення.
49) Що таке CBD '?
КБР або розробка на основі компонентів - це унікальний спосіб підійти до розробки продукту. У цьому методі розробники завжди шукають існуючі чітко визначені, перевірені та перевірені компоненти, щоб складати та збирати їх до продукту, а не розробляти з нуля.
50) Поясніть програмування пар із посиланням на DevOps
Програмування пар - це інженерна практика Правил екстремального програмування. У цьому методі два програмісти працюють в одній системі, в одному дизайні / алгоритмі / коді.
Один програміст виступає як "драйвер". Інші виступають у ролі "спостерігача", який постійно контролює хід проекту для виявлення проблем. Ролі можна змінити в будь-який момент часу без будь-яких попередніх натяків.
51) Поясніть тест на стійкість
Тест, який забезпечує відновлення без втрати даних та функціональності після відмови, називається тестами стійкості.
52) Назвіть три важливі KPI DevOps
Три найпоширеніші KPI DevOps:
- Тим часом до відновлення відмови
- Частота розгортання
- Відсоток невдалих розгортань