Как вы выводите задачи в продакшен
Что проверяют
Знаете ли вы весь путь изменения после мержа и понимаете ли, где в нём риски. Интервьюер сверяет ваш опыт с процессом команды. Следом обычно спрашивают, как вы выкатываете миграции базы и что делаете, если релиз сломал прод.
Как отвечать
Расскажите про свой реальный процесс по шагам и обозначьте, что делали сами:
- ветки и ревью: trunk-based или короткие feature-ветки, пулл-реквест с обязательным апрувом и зелёной сборкой;
- CI:
dotnet build,dotnet test, анализаторы иTreatWarningsAsErrors. Docker-образ или артефакт собирается один раз и дальше без пересборки едет по стендам; - CD: Azure DevOps Pipelines, GitHub Actions, GitLab CI или TeamCity с Octopus Deploy, стенды dev, stage, prod, ручное подтверждение перед продом;
- миграции: в EF Core для прода обычно генерируют скрипт
dotnet ef migrations script --idempotentили собираютmigrations bundle, а не вызываютDatabase.Migrate()при старте. Схему меняют в два шага: сначала совместимое расширение, после выкладки кода удаление старого, иначе откат приложения невозможен; - стратегия выкладки: rolling update в Kubernetes с readiness-проверкой через
MapHealthChecks, blue-green или канарейка для рискованных изменений, фиче-флаги черезMicrosoft.FeatureManagement; - после релиза: ошибки и метрики в Application Insights или через OpenTelemetry в Grafana, логи через Serilog и заранее оговорённый критерий отката.
Хороший ответ содержит историю: релиз, который пошёл не так, как вы это заметили и что поменяли в процессе. Цифры только свои. Если в компании деплой был ручным, через копирование на сервер, честно так и скажите и объясните, что автоматизировали бы первым и почему.
Где спотыкаются
Отвечают «деплоем занимается DevOps». Разработчик всё равно должен понимать, как его код попадает на сервер и как его откатить.
Забывают про базу. Откат приложения при уже применённой несовместимой миграции не работает, и это частый источник ночных инцидентов.
Приводят круглые проценты вроде «багов стало на 40% меньше» без способа измерения. Уточняющий вопрос «как считали» ставит такой ответ под сомнение.