Работаете ли вы с Python и Go
Что проверяют
Правда ли у вас два языка или второй вписан в резюме для веса. Вопрос обычно задают там, где нагруженные сервисы на Go, а Python держит интеграции, скрипты и обработку данных: важно, сможете ли вы починить чужой сервис, а не только свой.
Как отвечать
Разложите честно по уровням: на чём пишу каждый день, на чём читаю и правлю, на чём не писал совсем. Такой ответ выигрывает у расплывчатого «знаю оба», потому что его нельзя поймать на несоответствии.
По Python покажите глубину: аннотации типов и статическая проверка, асинхронность и чем она отличается от потоков, где мешает глобальная блокировка интерпретатора, тесты и фикстуры, сборка окружения и управление зависимостями.
По Go достаточно назвать то, что меняет мышление при переходе:
- ошибки это значения: исключений нет, ошибку возвращают, оборачивают и разбирают через
errors.Isиerrors.As; - горутины и каналы: конкурентность дешёвая, но за завершением следят руками, отсюда
sync.WaitGroupи аккуратное закрытие каналов; context: отмена и таймаут проходят сквозь всю цепочку вызовов, это не деталь, а стиль;- интерфейсы реализуются неявно, наследования нет, вместо иерархий композиция;
- сборка в один бинарь, встроенные тесты и профилирование.
Полезно объяснить, почему в проекте два языка: Go обычно берут под нагрузку и сетевые сервисы, Python под данные, интеграции и внутренние инструменты. И прямо обозначьте готовность писать на более слабом языке с ревью коллег.
Где спотыкаются
Записывают Go в навыки после одного учебника. Хватает пары вопросов про отмену по контексту или про то, почему интерфейс с вложенным нулевым указателем не равен nil, чтобы уровень стал понятен.
Второе: тащат в Go питоновские привычки. Паника вместо возврата ошибки, поиск декораторов и метаклассов, попытка выстроить иерархию классов: код собирается, но на ревью его разбирают по частям.
Третье: оставляют в рассказе следы шаблона, вроде пропущенных названий проектов и красивых миллисекунд из чужого примера. Такое замечают сразу, и дальше проверяют каждое утверждение, а не только спорное.