СОБЕСЕДОВАНИЕ DevOps вопросы и ответы по DevOps

preview_player
Показать описание

Прошлое видео реальное собеседование devops набрало много просмотров. Поэтому я решил снять более развернутое видео с собеседования ДевОпс. ДевОпс должен быть хорошим системным администратором линукс, неплохим сетевым инженером, неплохим программистом, а так же владеть непосредственно DevOps инструментами. В этом видео я освятил собеседование сети и протоколы. Сегодня узнаете как бы я хотел как отвечать на вопросы на собеседовании DevOps.

#it #DevOps #карьера #ityoutubersru
ХОТИТЕ ПОМОЧЬ РАЗВИТИЮ КАНАЛА?

КОНТАКТЫ:
Еще контакты:

00:00 - Собеседование DevOps
00:25 - Что такое DevOps?
00:48 - DevOps vs Agile
01:29 - Цели и задачи DevOps
02:07 - Что такое CI/CD
03:22 - CI/CD инструменты
04:22 - Пример pipline
05:40 - Когда использовать ansible helm terreform
06:31 - Вопросы по git
06:55 - git pull vs feach
07:43 - контейнер vs виртуальная машина
08:09 - Что такое Docker
08:41 - Dockerfile
Рекомендации по теме
Комментарии
Автор

1. Что такое devops? набор практик доя объединения усилий различных специалистов и ускорение реализации ПО, от этапов проектирования до развертывания
2. Чем отличается devops от agile? agile это набор ценностей или практик, направленных на производство ПО — выпуск, и отдать дальше на развёртывание, не затрагивая эксплуатацию и внедрение, а devops затрагивает разработку, тестирование, внедрение, эксплуатацию
3. Какие цели у devops? сокращает время для выхода продукта, повышение отказоустойчивости, уменьшение времени на восстановление
4. Засчет чего это достигается и как способствует devops инженер? за счёт внедрения ci cd, мониторинга, и других devops практик
5. Расскажи про ci cd? Непрерывная интеграция это про регулярное объединение изменений в центральном репозитории, после этого автоматически выполняется сборка и тестирование; непрерывная доставка это про автоматическую сборку и тестирование продукта; отличие непрерывной доставки от непрерывного развертывания, в том что при непр доставке для развертывания необходимо подтверждение, а при непрерывном развертывании это происходит автоматически
6. Какие инструменты лучшие для построения ci cd конвейера? — git, gitlab, docker, gitlab ci для непрерывной интеграции, selenium или скрипты для тестирования, Prometheus для непрерывного мониторинга, Ansible/helm/Terraform для управления конфигурациями и развертыванием
7. Как ты видишь ci cd конвейер для выпуска фичи? Создаётся ветка для этой фичи, разработчики пушат туда код, запускается пайплайн gitlab ci который проверяет на ошибки, если пайплайн выполнился то запускается сборка проекта, если это докер образы то они пушатся в nexus, если нужно собрать бинарние то это выкладывается в artefactory, дальше запускается пайплайн для выполнения тестов — скачивает с artefactory или локального хранилища образов nexus и отправляет в тестовое окружение — это можно сделать с помощью Ansible, helm, Terraform
8. Когда используется Ansible, helm, Terraform? Helm используется для выкатки в kubernetes, Ansible на сервера железные или виртуальные, Terraform для облачных серверов
9. Что происходит после выкатки на test? Запускаются автотесты
10. Как сделать изменение в улаленном репозитории? git clone, git pull если уже склонирован и загрузить изменения из удаленного репозитория
11. Git pull и git fetch? Git pull создаст коммит слияния (выполнит git merge), а git fetch скопирует коммиты в локальный репозиторий но не загрузит их в ветку
12. Чем отличается контейнер от виртуальной машины? контейнер это виртуальная среда ограниченная с помощью namespaces, cgroups — изолированная среда, а виртуальная машина это полностью изолированная программная среда с эмуляцией аппартного обеспечения
13. Что такое docker и для чего он нужен? Docker это платофрма для разработки, доставки приложение, служит например для изолирования приложения
14. Какую проблему Docker решает со стороны devops? — идентичные окружения во время разработки, тестирования и выкатки в продакшен
15. Best practices для построения Dockerfile? —
Надо указывать явно версию в инструкции FROM, а не latest, т к. если упадет образ не будем знать куда откатиться;
если нужно собрать бинарный файл или jar, то лучше использовать multi-stage build — разные базовые образы для среды выполнения и среды сборки — в одном контейнере собираем, а в другой копируем необходимые файлы, мусор остаётся в первом контейнере и он удаляется;
Если необходимо в контейнере собрать какие-то пакеты, но необходимо указывать версию пакета; Стараться уменьшать количество слоев — с помощью RUN можно объединить слои;
Если возможно то лучше часто изменяемые слои в образе делать ниже по уровню, чтобы не пересобирать по новой ненужное — верхние слои будут закешированы;
Запускать только один процесс на контейнере
16. CMD и ENTRYPOINT? Обы предназначены для выполнения команды, CMD позволяет переопределить переменные и аргументы
17. Есть инструкция RUN с обновлением пакетов, а за ней инструкция RUN с установкой пакетов, что будет после выхода новой версии — ты обновил эту версию в инструкции где устанавливаются пакеты, что будет после запуска сборки? Будет ошибка, слой где выполняется менеджер пакетов не выполнится и этот пакет может не быть закеширован

werrew
Автор

Ну что-то ты совсем соискателя жалеешь. Давай в следующем видео вопросы про кубер и хелм. И пожестче

bambambigelow
Автор

Мужки, это настолько крутой формат, чтоб ты понимал, я на середине видео поставил лайк, забыл, и после просмотра хотел поставить, благо не нажал второй раз😂. Так держать, подписался!

VegaSlayer
Автор

Вопрос: сколько нужно готовиться к собесу? Чтобы правильно описывать все понятия, желательно повторить эталонные определения и обновить в памяти, самому себе будет полезно.

barabuh
Автор

Большое спасибо Антон, возникла необходимость изучить данный вопрос, твоё видео кладезь полезной информации

СергейСталь-чц
Автор

Интересно услышать ответы на вопросы по K8s. Одним надо рассказать как спроектировать кластер и определить число нод, другим - как настроить autoscaling для pod.

А ещё про terraform. Вопрос вроде как ты используегь outputs и почему не пользуешься блоком modules с GitHub.

Alex_La
Автор

Завтра собеседование, спасибо тебе, Антон. Все началось с тебя.

makarkungurov
Автор

👍 Топчик. Чтобы не было путаницы, можно убрать из определения эджайла слово "практика", так как это действительно больше о ценностях. И таким образом его можно перепутать с канбан.

valery
Автор

Хорошо, давай дальше - мне казалось на джуна уже после таких ответов можно брать, не говоря "хорошо, давай дальше", а то джун испугается и убежит 😀😀😀

Alex_La
Автор

Класне відео, повторив багато, спасибі !)

strazhnyk
Автор

Отыгрышь эмоций лучше чем у некоторых актеров.

АлександрУльянов-фм
Автор

классные вопросы и еще более классные ответы, молодцом, продолжай

aleksandrberesnev
Автор

В общем понравилось все, спасибо, вопрос только насчет CI: как то мутно получается типа сделали артефакт, ОК, потом залили в тестовую среду и типа если тесты прошли то в прод? ))) и типа в проде смотрим все ли ок ? )

Просто я лично вижу немного по другому: pr-environment для совсем сырого кода. Для мерджей в мастер ветку деплоимся в стейдж, с релизов деплоим в прод, гитопс подход. Очень нравится, если честно.

PetrOsetr
Автор

После такого штурма мозга фраза "хорошо, давай дальше" это как приговор

kuaranir
Автор

Ля, я оказывается девопс, почти на все ответил))) Надо перепрофилироваться)

vecheria
Автор

Ребята, всё не так. Здесь показано, как было бы на экзамене. В реальности же собеседования более лайтовые. Если вы знаете всё то, что говорит автор - то вы идеальный кандидат на вакансию. По сути же, специалистов так не хватает, что для попадания в профессию достаточно гораздо меньших знаний.

WriterMayorov
Автор

Хахах подводка к интеграций рекламы просто топ ))

luckytima
Автор

Спасибо! Теперь хотелось бы и вопросы по программированию)

SirJohnHolmes_I
Автор

Снижение отказоустойчивости новых релизов, что есть - то есть )))

network_sw
Автор

Ещё будут такие подкасты ? В 2024 году 😂😊

СергейФергюсон-же