ไม่สามารถเล่นวิดีโอนี้
ขออภัยในความไม่สะดวก
СОБЕСЕДОВАНИЕ DevOps вопросы и ответы по DevOps
ฝัง
- เผยแพร่เมื่อ 16 ส.ค. 2024
- Надежный хостинг FirstVDS! Переходи по ссылке и получай скидку 25% на первый месяц на любой тариф firstvds.ru/s/...
Прошлое видео реальное собеседование devops набрало много просмотров. Поэтому я решил снять более развернутое видео с собеседования ДевОпс. ДевОпс должен быть хорошим системным администратором линукс, неплохим сетевым инженером, неплохим программистом, а так же владеть непосредственно DevOps инструментами. В этом видео я освятил собеседование сети и протоколы. Сегодня узнаете как бы я хотел как отвечать на вопросы на собеседовании DevOps.
#it #DevOps #карьера #ityoutubersru
ХОТИТЕ ПОМОЧЬ РАЗВИТИЮ КАНАЛА?
★ Boosty (подписка донаты) boosty.to/pavl...
★ www.donational...
★ www.tinkoff.ru...
КОНТАКТЫ:
✦ Канал в TELEGRAM: t.me/worlditech (worlditech)
✦ Чат в TELEGRAM: t.me/linux_wit... примерах
✦ Группа в VK: worlditech
✦ INSTAGRAM: / pavlenko.at
Еще контакты:
✧ atpavlenko
✧ / anton.pavlenko.94
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 с установкой пакетов, что будет после выхода новой версии - ты обновил эту версию в инструкции где устанавливаются пакеты, что будет после запуска сборки? Будет ошибка, слой где выполняется менеджер пакетов не выполнится и этот пакет может не быть закеширован
Ну что-то ты совсем соискателя жалеешь. Давай в следующем видео вопросы про кубер и хелм. И пожестче
Интересно услышать ответы на вопросы по K8s. Одним надо рассказать как спроектировать кластер и определить число нод, другим - как настроить autoscaling для pod.
А ещё про terraform. Вопрос вроде как ты используегь outputs и почему не пользуешься блоком modules с GitHub.
Мужки, это настолько крутой формат, чтоб ты понимал, я на середине видео поставил лайк, забыл, и после просмотра хотел поставить, благо не нажал второй раз😂. Так держать, подписался!
Вопрос: сколько нужно готовиться к собесу? Чтобы правильно описывать все понятия, желательно повторить эталонные определения и обновить в памяти, самому себе будет полезно.
Большое спасибо Антон, возникла необходимость изучить данный вопрос, твоё видео кладезь полезной информации
Завтра собеседование, спасибо тебе, Антон. Все началось с тебя.
Ни пуха)
У меня тоже, очень своевременно видео вышло)
@@SirJohnHolmes_I как полет? У меня успешный)
@@makarkungurov6170, мои поздравления!) У меня пока не понятно, обещали обратную связь в течение недели)
Как результаты, ребята?:)
👍 Топчик. Чтобы не было путаницы, можно убрать из определения эджайла слово "практика", так как это действительно больше о ценностях. И таким образом его можно перепутать с канбан.
зачем всё это девопсу?
каждый токарь должен знать, как составляется план завода и уметь в экономику?
коммунисты заставляли всех зубрить политэкономию, а сейчас менеджмент?
Класне відео, повторив багато , спасибі !)
8:45 Латэст - ты сделал мой день 😀😀😀
Это на французский манер 😄
Хорошо, давай дальше - мне казалось на джуна уже после таких ответов можно брать, не говоря "хорошо, давай дальше", а то джун испугается и убежит 😀😀😀
В общем понравилось все, спасибо, вопрос только насчет CI: как то мутно получается типа сделали артефакт, ОК, потом залили в тестовую среду и типа если тесты прошли то в прод? ))) и типа в проде смотрим все ли ок ? )
Просто я лично вижу немного по другому: pr-environment для совсем сырого кода. Для мерджей в мастер ветку деплоимся в стейдж, с релизов деплоим в прод, гитопс подход. Очень нравится, если честно.
классные вопросы и еще более классные ответы, молодцом, продолжай
Отыгрышь эмоций лучше чем у некоторых актеров.
Полезно, спасибо!
Спасибо! Теперь хотелось бы и вопросы по программированию)
Давай ещё, продолжай!👍
6000 просмотров до конца пятницы и сделаю новое
Ребята, всё не так. Здесь показано, как было бы на экзамене. В реальности же собеседования более лайтовые. Если вы знаете всё то, что говорит автор - то вы идеальный кандидат на вакансию. По сути же, специалистов так не хватает, что для попадания в профессию достаточно гораздо меньших знаний.
Спасибо, очень познавательно.
Спасибо вам огромное за ваш труд
Ещё будут такие подкасты ? В 2024 году 😂😊
правда что тег образа latEst означает что это латентный тест?
не латинский, а французский - la test
Спасибо! собираю по крупицам информацию о том как стать девопсом.
1:37 оговорка, повышение отказоустойчивости, а не снижение
Ненене, всё правильно, надо же отчитываться о том, как починил упавший прод)
Оговорка была насчёт continuous delivery и continuous deployment.
хороша, давай дальше)
Снижение отказоустойчивости новых релизов, что есть - то есть )))
Антон, давай кубер!
После такого штурма мозга фраза "хорошо, давай дальше" это как приговор
Ля, я оказывается девопс, почти на все ответил))) Надо перепрофилироваться)
Хахах подводка к интеграций рекламы просто топ ))
Вот это полезно, спасибо. Я бы замолчал на первом вопросе и ушел в себя :)
Спасибо
Не хватает ссылок на предыдущие темы
Давай еще, прикольненько..!!!
1:36 Снижение отказоустойчивости или повышение отказоустойчивости?
Кайф, спасибо.
Можно создать некую роадмапу с минимальным набором для джуна?
1:37 не снижение. а ПОВЫШЕНИЕ отказоустойчивости. (извиняюсь) 👍
Интересно было бы по k8s, aws подобный формат
9:33 Мульти-билд стейдж :)
то что ты указал версию образа в секции фром не гарантирует использование того же образа каждый раз. можно же подменить образ обозвав такой же версией?
*"увлечение отказоустойчивости релизов" - Наверное хотели сказать. Ну можно конечно и снижать)
Антоний, почему про сине-зеленый и канарейку почему не спросил? :)
Т.е виртуальная машина сконфигурирована не с помощью ядра линукс, да?
латэст )
Топчик
Мне вот одно интересно... Я участвовал в собеседованиях, но никогда не доходил до маразма "что такое devops". Вот это вот зачем? Вы хотите взять теоретика или практика?
это же базовый уровень - проверка на то, что ты вообще понимаешь, что ты делаешь. может ты понимаешь это не правильно? каждый должен знать, что он делает и уметь про это рассказать. если ты не можешь внятно рассказать о своей специальности, значит что-то с тобой не так
@@user-er9ev7vf1h приведу пример из жизни. В 9 классе я и еще один товарищ сдавали вдвоем со всей школы экзамен по информатике (считай программирование). Было две части - теория и практика. Я хреново рассказал, но практику сделал на 5. Второй очень красиво рассказал, но практику не сделал. Ему 5, мне 4. Вот на собеседованиях таких вы такой же фигней страдаете
@@rch1tector Вы снова ничего не поняли. на собеседование приходит совершенно незнакомый человек и первое, что нужно понять - он вообще сам-то понимает, куда пришёл и что ему придётся делать?
если для вам сложно, рассказать о том, что вы делаете, то может вы и не понимаете этого?
это вы у себя такой единственный и неповторимый, а у работодателя таких десятки, сотни и даже тысячи и он не знает, что вы просто уникальный специалист и никогда об этом не узнает, если вы не расскажете.
ну и так-то если разобраться, то зачем вам работать там, где вам сразу не нравится? я имею ввиду вопросы, которые вам задают. это ведь для вас же хорошо, что вы сразу это поняли, а не потом, когда уже устроились.
поэтому собеседование - это не экзамен - здесь всё должно быть максимально честно, чтоб потом через месяц-два не было больно и обидно за потерянное время.
@@user-er9ev7vf1h я не про то. Знания тестировать на практияеских задачах - это одно. Как создать файл/папку, как отгрепать нужное, как пользоваться tea и прочее. Как работать с k8s, helm, ansible,terraform - ок, это нужно и обязательно.
А вот вопросы по типу "что такое devops, что такое ci/cd" - это бред теоретиков. Это не нужно. Если человек умеет настраивать пайплайны, разбирается в docker, swarm,k8s,helm и прочим, но не знает как расшифровывается devops и что это вообще такое - это не делает его плохим специалистом только из за того, что он не заучил эти понятия. А если понятия не применимы на практике - то зачем про них спрашивать?
@@rch1tector если понятия не применимы на практике - то зачем про них спрашивать?
ещё раз повторю - чтоб понять, что перед тобой за человек
Антох, а это правда, что если в вакансии вилка 250 000, то можно смело просить 500 000, потому что там бюджет всегда с запасом стоит?
Я не видел таких вилок
Helm, Ansible, Terraform - неправильный ответ. Я бы вообще под одну крышу их не ставил, эти тулы имеют абсолютно разное предназначение и функционал. Подозреваю, что автор видео не использовал их или использовал какой-то один (скорее всего только Ansible).
Напиши свой ответ.
Я бы сказал что наоборот что он с ansible знаком слабо. Так как через него можно выкатывать так же и в облака и в кубер и ещё в кучу сервисов через их api изменения вносить.
@@sunx6008 Тоже самое можно сказать и про Terraform, только разница в том, что Ansible это configuration management тула, а Terraform это infrastructure provisioning тула. И в обоих случаях нет никакого разделения на клауд и не клауд - абсолютно разное предназначение у них. Что касается Helm'а, так это вообще по сути package manager для кубера.
@@sunx6008 чем лучше инструмент, тем выше вероятность, что его начнут использовать неправильно
я последний вопрос не понял, можете пояснить?
знаете....вот останусь я пожалуй админом обычным...стар я для всей этой херни корпоративной. Наплодили сущностей демоны.
Это называется раздвоение личности 😉 Сам себя спрашивал и сам себе с трудом отвечал.
not bad
Это пипец. Это ж сколько лет опыта у чувака, которого собеседуют? Если на первую и вторую часть я могу что-то ответить, то третья - тёмный лес... В общем, очень интересно и ничего не понятно.)
Примерно с полгода в активном проекте? Это же совсем базовый уровень.
Пара месяцев курсов по девопсу в любой избе-обучальне. Там прям по порядку это все проходят
@@bambambigelow228 Ну или так. Я по своему опыту говорю, т.к меня брали на испытательный когда я ни на один вопрос из этого не знал ответ.
Мне на третью часть, ответить проще чем на первых два.
Это все читается за 15 минут, у докера эти бест практики прямо собраны в официальной документации.
Какой ещё DevOps? Ты - техник, меняешь перфокарты программистам.
снижение отказоустойчивости релизов)))лол
Все правильно, наконец-то кто-то честно об этом заявил
новые баги добавлены.
старые баги улучшены.
Латэст... ахаха)))
Это перезалив? А что случилось?