DEVOPS
TRAINER
Вопросы
/ Git и CI/CD
Вопросы по Git и CI/CD с собеседований
45 вопросов с ответами.
Что означает конструкция `when: always` в stage блоке в gitlab CI?
Что выполняет конструкция `extends: .plan` в gitlab CI?
В gitlab CI необходимо, чтобы джоба выполнялась всегда только при ручной активации. Что для этого необходимо сделать?
Что такое GitFlow?
Чем `merge` отличается от `rebase`?
Чем `tag` отличается от `branch`?
В ветке *develop* есть коммит с изменениями, которые нужно перенести в ветку *master*. Как это сделать?
Для чего нужна команда `git commit --amend`?
Что такое Trunk-based development?
Состояние репозитория ушло на много коммитов вперед. Как откатить весь репозиторий к определенному коммиту?
В репозиторий запушен коммит с изменениями в двух файлах. Как откатить изменения этого коммита?
В чем разница между Continuous Integration, Continuous Delivery и Continuous Deployment?
Почему процессы CI и CD часто разделяют, и почему на продакшен рекомендуется использовать manual вместо полной автоматизации?
Что такое GitOps и в чем преимущество использования инструментов вроде Argo CD по сравнению со стандартным CD через GitLab?
Как настроить политику развертывания Canary Deployment средствами CI/CD?
Как настроить политику развертывания Blue/Green Deployment средствами CI/CD?
Что такое статический (SAST) и динамический (DAST) анализ кода в конвейере? В чем между ними разница?
Как реализовать механизм, при котором сборка артефакта блокируется, если статические анализаторы кода (SAST/линтеры) нашли ошибки?
Как интегрировать инструменты качества кода (например, SonarQube) в процесс сборки?
Как настроить автоматическую генерацию тикетов в Jira при обнаружении уязвимостей в процессе сборки?
Что такое GitFlow и какие основные типы веток в нем используются (master, release, feature, hotfix)?
В чем разница между командами git commit --amend и squash?
Как работает механизм cherry-pick и в каких ситуациях он полезен?
В чем разница между git merge и git rebase? Когда что использовать?
Чем git reset (soft/mixed/hard) отличается от git revert? Когда что использовать?
В чем разница между git fetch и git pull?
Что такое git stash и как им пользоваться?
Что такое git reflog и как восстановить «потерянные» коммиты (например, после reset --hard)?
Чем annotated-теги отличаются от lightweight-тегов в Git?
Как Git устроен внутри: что такое blob, tree, commit и как работает HEAD?
Какие типы раннеров (Runners) существуют в GitLab (Shared/Instance vs Specific/Project)?
Как работают теги для раннеров и как гарантировать, что конкретная Job уйдет на определенный сервер?
Назовите основные типы экзекьюторов (Docker, Shell, Kubernetes) и в чем их принципиальное отличие.
Что произойдет с пайплайном, если для джобы указан тег раннера, который в данный момент недоступен?
В чем разница между кэшем (Cache) и артефактами (Artifacts) в GitLab CI? Что и когда лучше использовать?
Можно ли хранить тяжелые артефакты (бинарники, образы) внутри самого GitLab и почему это может считаться антипаттерном?
Как реализовать сборку Docker-образов внутри пайплайна: разница между подходом Docker-in-Docker (dind) и использованием Kaniko?
Как передавать чувствительные данные (пароли, ключи) в пайплайны (Variables, GitLab Secrets)?
Как интегрировать GitLab с внешними хранилищами секретов, такими как HashiCorp Vault?
Для чего используется ключевое слово include и как оно помогает при работе с микросервисной архитектурой?
Как реализовать переиспользование джоб и блоков кода, чтобы избежать «простыни» в YAML-файле?
Что такое якоря (anchors) в YAML и как они помогают сократить объем конфигурационного файла?
Как настраиваются триггеры пайплайна в зависимости от веток или тегов (GitFlow)?
Как организовать пайплайн для микросервисной архитектуры, чтобы не пересобирать неизмененные компоненты?
Опишите этапы «идеального» пайплайна: от пуша разработчика до выкладки в продакшен.
Готовишься к DevOps-собеседованию?
Полные разборы вопросов, карточки с интервальным повторением, квизы и песочница с реальными сломанными Linux-серверами — бесплатно после входа.
Открыть тренажёр →