На каких операционных системах вы работали?
Что проверяют
Вопрос звучит анкетно, но проверяет другое: понимаете ли вы, чем среда выполнения отличается от среды разработки. Для Go это особенно заметно, код собирается на macOS, а живёт в контейнере на Linux. Следом спрашивают, как вы собираете бинарь под другую платформу и что ломалось при переезде.
Как отвечать
Назовите системы и сразу привяжите к задачам, а не перечисляйте списком.
- Linux: основная среда прода: Ubuntu LTS, Debian, Alpine внутри образов, юниты systemd и логи в journald, диагностика через
strace,lsof,ss, лимиты черезulimitи cgroups; - macOS: рабочая машина, ядро на базе BSD, поэтому флаги
sed,dateиfindотличаются от GNU, а профилировать под прод всё равно приходится в Linux; - Windows: чаще всего через WSL2, свои грабли с переводом строк, регистронезависимой файловой системой и разделителями путей.
Для Go добавьте конкретику кросс-компиляции: GOOS=linux GOARCH=amd64 go build собирает под прод с ноутбука, CGO_ENABLED=0 даёт статический бинарь, который поедет и в scratch, и в distroless. С включённым cgo вы привязаны к libc, и бинарь, собранный на glibc, в Alpine с musl падает на старте. Ноутбук на Apple Silicon и сервер на amd64 это разные цели, мультиархитектурный образ собирается через docker buildx.
Сильнее всего звучат примеры различий, которые вы правда ловили: обработка SIGTERM при остановке контейнера и корректное завершение через signal.NotifyContext, упёршийся лимит файловых дескрипторов, разрешение имён внутри контейнера. Свежий факт в тему: с Go 1.25 рантайм читает лимит CPU из cgroup и сам выставляет GOMAXPROCS по квоте, до этого сервис с лимитом в половину ядра видел все ядра хоста.
Где спотыкаются
Отвечают одним словом «Linux» и замолкают. Вопрос открытый, и молчание после него читается как отсутствие опыта, а не как краткость.
Перечисляют дистрибутивы, но не могут сказать, чем они отличаются на практике: пакетный менеджер, версия ядра, libc, система инициализации.
Утверждают, что раз Go кросс-платформенный, разницы нет. Она есть ровно там, где код трогает файловую систему, пути, сигналы и сеть, и её и просят вспомнить.