Запускается ли система локально
Что проверяют
Насколько зрелая у вас была среда разработки и как вы работаете каждый день: можете ли поднять сервис с зависимостями на ноутбуке, отладить его и прогнать интеграционные тесты. Следом спрашивают, что делали, когда поднять всё локально было нельзя.
Как отвечать
Говорите о реальном проекте, а не о README. Каркас:
- сам сервис:
go run ./cmd/<имя>или цель вMakefileлибоTaskfile, конфиг через переменные окружения и.env.exampleв репозитории; - зависимости: PostgreSQL, Redis, Kafka поднимаются через
docker compose up, миграции накатываютсяgooseилиgolang-migrate; - внешние сервисы: моки из
mockeryилиgomockв тестах, WireMock для HTTP, для gRPC тестовый сервер на сгенерированных интерфейсах; - тесты: интеграционные на
testcontainers-go, чтобы база в тестах совпадала с продовой по версии; - отладка: Delve (
dlv) из GoLand или VS Code, при желанииairдля перезапуска при изменениях.
Если система состоит из десятков микросервисов, честно опишите компромисс: локально поднимали свой сервис и его прямые зависимости, остальное брали со стенда через kubectl port-forward или похожие инструменты. Хороший плюс: рассказать, что вы сами улучшили, например собрали compose-файл, после которого новичок запускает проект за вечер, а не за неделю. Цифры берите свои.
Если локального запуска не было, не скрывайте: объясните, почему, чем это мешало (долгий цикл через CI, отладка по логам стенда) и как вы с этим жили.
Этот же вопрос полезно задать компании: ответ многое говорит о том, как там устроена разработка.
Где спотыкаются
Пересказывают общую инструкцию: git clone, go mod tidy, go run main.go. К тому же go mod tidy меняет go.mod и go.sum, скачать зависимости можно через go mod download, а обычно не нужно и это: go build подтянет модули сам.
Говорят «у нас всё только на стенде» как о норме и не видят в этом проблемы. Интервьюер слышит, что вы готовы неделями отлаживать через деплой.
Не знают, как устроены зависимости их же сервиса: кто создал базу, откуда берутся топики Kafka, где лежит конфиг. Сразу видно, что окружение за вас настраивал кто-то другой.