Расскажи про свой опыт с Python: как познакомился с языком, почему выбрал его, с какой версии начал и с какой сейчас работаешь
Что проверяют
Вопрос выглядит биографическим, а проверяет актуальность знаний. По ответу понятно, следите ли вы за языком или застряли на том, чему вас однажды научили: человек, который годами пишет одинаково и не знает, что появилось за последние релизы, обычно и код пишет соответствующий. Заодно смотрят на мотивацию: язык выбран осознанно или просто подвернулся.
Как отвечать
Коротко про начало и подробно про сейчас. История знакомства занимает пару предложений: где впервые столкнулись, что зацепило. Причину выбора формулируйте через задачи, а не через свойства языка вообще: скорость получения рабочего прототипа, экосистема под вашу область, читаемость чужого кода.
Дальше про версии, и здесь важно не просто назвать числа, а привязать их к практике:
- что реально используете:
dataclassвместо самописных классов с длинным конструктором, f-строки, аннотации типов с проверкой статическим анализатором,matchтам, где он уместнее цепочки условий, менеджеры контекста иasyncio; - что знаете про свежие релизы: интерпретатор заметно ускорили, сообщения об ошибках стали точнее, синтаксис обобщённых типов упростился;
- как версия фиксируется в проекте: образ, файл зависимостей, виртуальное окружение, и что делали при переезде на более новую версию.
Хорошо звучит признание вроде такого: в одном проекте версия старая, потому что её держит зависимость, и вы знаете, какая именно.
Где спотыкаются
Первое: называют версию, которой не пользовались. Сказали, что работаете на свежей, будьте готовы назвать хотя бы одно изменение, которое почувствовали сами.
Второе: путают версию языка с версией окружения. Кандидат уверенно называет релиз, а на вопрос, как создаётся окружение и откуда берутся зависимости, отвечает, что ставит пакеты глобально. Это сразу уровень ниже заявленного.
Третье: рассказ про любовь к языку вместо опыта. Простой синтаксис и большое сообщество интервьюеру известны и без вас. Ценнее пара фраз о том, где Python мешал: скорость вычислений, упаковка приложения, типизация, которую никто не проверяет во время работы программы.