Какой опыт есть с инфраструктурными инструментами
Что проверяют
Насколько вы самостоятельны за пределами кода: сможете ли собрать образ, выкатить сервис и понять, почему под перезапускается. От Go-разработчика этого ждут особенно, ведь Docker, Kubernetes, Terraform и Prometheus сами написаны на Go. Следом обычно просят рассказать про конкретный инцидент или про то, как устроен ваш деплой.
Как отвечать
Стройте ответ от задач, а не от списка логотипов, и на каждое звено давайте свою практику:
- контейнеризация: многоэтапный
Dockerfile, где сборка идёт в образеgolang, а в финальный слой уходит только статический бинарник (CGO_ENABLED=0) наdistrolessилиscratch; - Kubernetes:
readinessProbeиlivenessProbe, лимиты ресурсов, корректное завершение поSIGTERMчерезsignal.NotifyContextиhttp.Server.Shutdown. УпомянитеGOMAXPROCS: с Go 1.25 рантайм сам учитывает лимит CPU контейнера, раньше для этого подключалиautomaxprocs. Для памяти естьGOMEMLIMIT; - CI/CD: GitHub Actions или GitLab CI, в пайплайне
golangci-lint,go test -race, сборка образа и выкатка через Helm или Argo CD; - инфраструктура как код: Terraform, и честно, что вы в нём писали сами, а что только читали;
- наблюдаемость: метрики через
client_golang, трассировки OpenTelemetry,pprofдля разбора утечек горутин и памяти.
Одна история, где инструмент решил реальную проблему, сильнее перечисления. Например, сервис терял запросы при выкатке, пока вы не добавили обработку SIGTERM и паузу перед остановкой. Истории и цифры нужны ваши собственные. Если опыта с Kubernetes нет, так и скажите и покажите ближайшее: docker compose локально, чтение манифестов, которые писали DevOps-инженеры, учебный кластер на kind или minikube.
Где спотыкаются
Перечисляют всё подряд: Docker, Kubernetes, Terraform, Jenkins, Ansible. Первый же уточняющий вопрос показывает, что с половиной из них кандидат только стоял рядом.
Приносят результат без механизма: «деплой ускорился на 50%». Без объяснения, за счёт чего и как это измерили, цифра вызывает недоверие.
Не связывают инфраструктуру с кодом на Go. Сервис без обработки сигналов и без health-эндпоинта ломает любой, даже самый правильный пайплайн.