Почему предпочитаешь развиваться в Python, а не писать на Go?
Что проверяют
Зачем вы пришли на собеседование по Go, если в резюме в основном Python. Вопрос провокационный: проверяют мотивацию перехода и то, не собираетесь ли вы писать на Go как на Python. Ответ «так исторически сложилось» разговор закрывает, нужна причина.
Как отвечать
Переформулируйте вопрос под себя: рассказывайте не про любовь к прошлому языку, а про то, что привело вас в Go и что вы на нём уже сделали.
Называйте свойства, которые чувствуются в работе:
- конкурентность встроена в язык: горутины дешевле потоков, а
contextдаёт понятную отмену и сроки; - статическая типизация и компиляция ловят то, за что в Python отвечают тесты и аннотации;
- доставка это один бинарник без окружения и зависимостей времени выполнения;
- инструменты идут в коробке:
go test, детектор гонок,pprof, форматтер, снимающий споры о стиле.
Дальше честно про переучивание: ошибки возвращаются значением и оборачиваются через %w вместо исключений, интерфейсы маленькие и объявляются на стороне потребителя, магии и метапрограммирования нет намеренно. Если в Go у вас пока только свой проект, так и скажите, назвав, что именно в нём удивило.
Где спотыкаются
Отвечают буквально и хвалят Python десять минут. Спрашивали про вашу мотивацию писать на Go, а длинная защита прежнего языка читается как «я здесь ненадолго».
Второе: обещают принести привычки. Паника вместо возврата ошибки, тяжёлый контейнер внедрения зависимостей, динамика через пустой интерфейс и рефлексию, попытка собрать декораторы. Такие планы слышно сразу, и пугают они сильнее, чем нехватка опыта.
Третье: заявляют, что Go учится за выходные. Синтаксис да, но не управление жизнью горутин, не утечки на незакрытых каналах, не общий массив у срезов после append, не разница между пустым интерфейсом и лежащим в нём нулевым указателем. Лучше признать пробел и показать, что уже щупали руками.