Есть ли технические релизы
Что проверяют
Бывают ли в вашей практике релизы без продуктовых изменений и умеете ли вы выпускать их так же аккуратно, как фичи. Технический релиз это обновление Go и зависимостей, переезд на новую инфраструктуру, смена драйвера базы, рефакторинг. Следом спрашивают, как вы выбили на это время у бизнеса и как откатывались. Если формулировка непонятна, уточните, о чём речь: о выкатке сервиса или о версиях внутренней Go-библиотеки.
Как отвечать
Опишите реальный случай по каркасу «зачем, как готовили, как выкатывали»:
- зачем: уязвимость из отчёта
govulncheck, конец поддержки версии Go (поддерживаются две последние мажорные версии, новая выходит раз в полгода), заброшенная библиотека, выросшее время сборки; - как готовили: обновление директив
goиtoolchainвgo.mod,go mod tidy, прогон тестов с-race, обновление зависимостей через Renovate или Dependabot небольшими пачками; - как выкатывали: отдельным релизом без фич, чтобы откат не забирал с собой продуктовые изменения; канареечная выкатка на часть подов, сравнение латентности, доли ошибок и потребления памяти в Prometheus до и после;
- для библиотек: семантическое версионирование через git-теги вида
v1.4.0, а ломающее изменение означаетv2и новый путь модуля с суффиксом/v2.
Подставьте свои цифры: сколько сервисов, с какой версии на какую обновлялись, что поймали на канарейке. Если сами технические релизы не вели, скажите об этом и расскажите, в чём участвовали: ревью, тестирование, дежурство во время выкатки.
Где спотыкаются
Смешивают технические изменения с фичами в одном релизе. Когда растут ошибки, непонятно, что откатывать, а откат отнимает у пользователей новую функциональность.
Поднимают директиву go в go.mod общей библиотеки, не думая о потребителях. Начиная с Go 1.21 это жёсткое минимальное требование: сервисы на старом тулчейне либо перестанут собираться, либо начнут скачивать новый.
Пересказывают семантическое версионирование из учебника и добавляют выдуманное «ускорили деплой на 30%». Интервьюеру важнее, что вы проверяли после выкатки и по каким признакам решили бы откатиться.