Следишь ли за версиями Python
Что проверяют
Живой ли у вас интерес к языку и отличаете ли вы новости от того, что реально меняет код. Заодно смотрят, как в вашей команде вообще обновляются: тот, кто следит за релизами, обычно знает и про сроки поддержки, и про цену перехода.
Как отвечать
Отвечайте конкретикой, а не «да, слежу». Назовите то, что помните и понимаете зачем:
- Python 3.10 принёс
match, то есть разбор структуры с привязкой имён, и записьX | Yв аннотациях; - Python 3.11 заметно ускорил интерпретатор, добавил группы исключений с
except*,Selfв аннотациях иtomllibв стандартной библиотеке; - Python 3.12 дал компактный синтаксис параметров типов и ключевое слово
typeдля псевдонимов, а f-строки стали частью грамматики, так что вложенные кавычки больше не ломают разбор; - Python 3.13 добавил экспериментальную сборку без глобальной блокировки интерпретатора и обновлённый интерактивный режим.
Дальше про процесс, он интереснее списка фич: релизы выходят раз в год, каждая версия несколько лет получает исправления, и на проде разумно держать ту, которую ещё чинят. Расскажите, как обновляетесь: версия закреплена в образе и в pyproject.toml, в CI параллельно гоняется сборка на следующей версии, предупреждения об устаревании включены как ошибки.
Где спотыкаются
Пересказывают список фич, не объяснив, зачем они нужны. match это не замена цепочке if, а разбор формы данных, и на уточняющем вопросе разница вылезает сразу.
Второе: путают версию языка с версией окружения. Переход почти никогда не ломается на самом языке, ломается он на зависимостях, у которых ещё нет сборок под свежий интерпретатор.
Третье: отвечают «всегда беру самую новую». Это признак того, что человек не поддерживал прод: у свежей версии часто нет готовых пакетов для тяжёлых библиотек, и установка превращается в сборку из исходников на каждой машине.