Библиотека собеса по DevOps | вопросы с собеседований
3.07K subscribers
121 photos
4 videos
2 files
153 links
Вопросы с собеседований по DevOps и ответы на них.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/d7e18893

Работать у нас: https://job.proglib.io/

Наши каналы: https://yangx.top/proglibrary/9197
加入频道
Расскажите о CMD и ENTRYPOINT в Dockerfile

Эти инструкции Dockerfile задают команду, исполняемую при запуске контейнера. При их использовании есть несколько правил, например:

✍🏻 Должна быть минимум одна из них, CMD или ENTRYPOINT, в Dockerfile.
✍🏻 Если контейнер используется как исполняемый файл — ENTRYPOINT должна быть определена.
✍🏻 Если контейнер запускается с другими аргументами — CMD будет переопределена.
Расскажите о Docker Trusted Registry

Это хранилище образов для безопасного хранения и управления образами Docker. Его можно установить на своих мощностях, либо в частном облаке. DTR применятся в процессах CI/CD для сборки, поставки и запуска приложений. Его также можно развернуть в отказоустойчивом варианте, есть встроенная система управления доступом.
🧩 Настройка мониторинга с помощью Grafana и Prometheus

С помощью Grafana и Prometheus можно отслеживать состояние системы в конкретный промежуток времени (последний час, день, месяц), использование ресурсов.

Автор рассказывает как настроить Prometheus и экспортер для сбора данных о системе и как их отображать с помощью Grafana.

Смотреть видео
Возможен ли самостоятельный перезапуск контейнера?

Да, возможен. Docker задает различные политики перезапуска контейнера:
✍🏻 Off: контейнер не перезапускается, если он остановился или аварийно завершил работу;
✍🏻 On-failure: перезапуск только в случае аварийной остановки, но не по команде пользователя;
✍🏻 Unless-stopped: перезапуск будет работать до тех пор, пока пользователь его не остановит;
✍🏻 Always: перезапуск в любом случае, независимо от ошибок или других проблем.

Политику можно задать так:
$ docker run -dit — restart [unless-stopped|off|on-failure|always] [CONTAINER]
Какой тип приложений больше подходит для контейнеров Docker: с хранением состояния (stateful) или без хранения (stateless)?

Приложения, не хранящие состояние (stateless), лучше подходят для работы в Docker, чем приложения с хранением состояния (stateful). Мы можем создать контейнер для нашего приложения и передать ему необходимые настройки. Таким образом, мы сможем запускать один и тот же контейнер с разными настройками для различных сред. Благодаря отсутствию хранения состояния, мы можем использовать один и тот же образ в различных сценариях. Кроме того, такие приложения легче масштабировать при работе в контейнерах Docker.
Какова важность проверок кода в среде DevOps?

Проверки кода обеспечивают качество кода, его соответствие стандартам проекта и способствуют сотрудничеству в команде. Это предотвращает ошибки и способствует совместному владению кодом при быстром развертывании.
Можно ли сравнить облака по возможностям контейнеризации с Docker?

Здесь можно высказать свое мнение, например, я думаю, что несмотря на то, что облака — хороший конкурент, они не смогут заменить контейнеризацию. Большинство компаний используют облака и контейнеризацию вместе, чтобы получить лучшее от обеих технологий.
Чем Docker отличается от остальных технологий контейнеризации?

Docker — одна из последних разработок в контейнеризации, он стал одной из наиболее популярных. Docker, созданный в облачную эру, сделал возможным использование новых функций, ранее отсутствующих в старых технологиях контейнеризации. Самая крутая функция Docker — это работа с использованием любой инфраструктуры, неважно, у вас дома, либо в облаке.

Посредством Docker все больше приложений могут работать на старых серверах, также с его помощью можно упаковывать и поставлять программы. Существует также DockerHub, Registry для контейнеров, откуда можно легко и просто скачать образы контейнеров для использования. Еще более интересная функция — общие контейнеры для таких приложений. Также Docker хорошо задокументирован, что делает его лучше остальных технологий контейнеризации.
Что такое гипервизор?

Гипервизор, он же монитор виртуальных машин, — это программное обеспечение для создания и запуска виртуальных машин. С его помощью можно запустить на одном компьютере несколько гостевых операционных систем. Это достигается с помощью разделения ресурсов, например, оперативной памяти, процессорного времени и т.п., сокращая требования к памяти, дисковому пространству и обслуживанию. Есть два типа гипервизоров:

✍🏻 первого типа, легковесная операционная система, запускаемая на оборудовании;
✍🏻 второго типа, программное обеспечение, запускаемое из операционной системы.
Опишите процесс запуска приложения внутри контейнера Linux, используя Docker

✍🏻 Установите и запустите Docker;
✍🏻 Скачайте базовый образ с Docker Hub;
✍🏻 Загрузите ваше приложение в базовый образ;
✍🏻 Запустите контейнер в интерактивном режиме, используя полученный образ;
✍🏻 Проверьте контейнеры в системе;
✍🏻 Запустите или остановите контейнер;
✍🏻 Зайдите внутрь контейнера;
✍🏻 Удалите контейнер и образ.
Расскажите о ключевом различии между виртуализацией и контейнеризацией

Виртуализация позволяет запустить несколько операционных систем на одном физическом сервере. Контейнеризация работает на одной и той же операционной системе, в которой приложения упакованы в контейнеры и запускаются на одном сервере/виртуальной машине.
Как определить состояние контейнера Docker?

Чтобы определить состояние, надо запустить команду:

docker ps -a

Эта команда выведет список всех доступных контейнеров с их состоянием на сервере. Из этого списка нужно выбрать требуемый контейнер и узнать его состояние.
Где хранятся тома Docker?

Тома, создаваемые и управляемые Docker (у не-Docker процессов к ним нет доступа), хранятся в файловой системе сервера Docker по пути /var/lib/docker/volumes/. Тома — наиболее эффективный способ сохранения данных в Docker.
Расскажите о рабочем процессе использования Docker

Краткое пояснение рабочего процесса с использованием Docker:

✍🏻 Все начинается c Dockerfile, поскольку это исходный код образа.
✍🏻 Как только он создан, его можно использовать для сборки образа контейнера. Образ — собранная версия Dockerfile.
✍🏻 Образ можно распространять, используя Registry, работающий как репозиторий образов.
✍🏻 Далее образ используется для запуска контейнеров. Контейнер при работе весьма похож на виртуальную машину, но без гипервизора.
Опишите процесс масштабирования контейнеров Docker

Контейнеры могут быть масштабированы с использованием команды docker-compose scale. Процесс масштабирования такой — масштабируем контейнер и запускаем n экземпляров:

$ docker-compose --file docker-compose-run-srvr.yml scale =

В вышеприведенном примере имя сервиса задается в файле docker-compose-run-srvr.yml, а также запускается n копий контейнеров, где n — любое целое положительное число.

После масштабирования контейнера для проверки можно использовать такую команду:

$ docker ps -a
🔎 Что такое Elasticsearch и Elastic Stack

Elasticsearch — это поисковая система, работающая в режиме реального времени. Позволяет хранить и обрабатывать огромные объёмы данных. Она работает и у Netflix, и у GitHub, и у Amazon.

Освоить её не так уж сложно. Это видео — вступительная часть. Здесь вы узнаете про Elasticsearch, Elastic Stack и зачем это нужно.

Смотреть видео
Самые полезные каналы для программистов в одной подборке!

Сохраняйте себе, чтобы не потерять 💾

🔥Для всех

Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы

🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion

#️⃣C#

Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel

☁️DevOps

Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования

🐘PHP

Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты

🐍Python

Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты

Java

Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков

👾Data Science

Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту

🦫Go

Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go

🧠C++

Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++

💻Другие каналы

Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности

📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈

Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT

Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *

* Организация Meta запрещена на территории РФ
Что такое CNM?

CNM или Container Network Model — описание, формально определяющее шаги, требуемые для предоставления сети контейнерам, где обслуживающая абстракция применяется для поддержки нескольких сетевых драйверов. CNM основан на трех компонентах: sandbox (песочница), оконечная точка и сеть.
Поясните разницу между docker run и docker create

Основное различие между этими двумя командами заключается в том, что вторая создаст контейнер в остановленном состоянии. Кроме того, docker create может быть использована для сохранения и вывода идентификатора контейнера для последующего использования. Рекомендуется использовать docker run с опцией --cidfile FILENAME, чтобы избежать перезаписи файла при повторном запуске.
Опишите Registry подробнее

Docker Registry используется для сохранения образов Docker. Существует два общедоступных сервиса хранения: Docker Hub и Docker Cloud. Docker Hub является наиболее важной общедоступной системой хранения образов контейнеров, которую полностью поддерживают многие разработчики и другие участники сообщества.