Как оценить уровень владения Python и комфорт работы с языком
Что проверяют
Чаще всего это просьба оценить себя, иногда буквально «по шкале от 1 до 10». Интервьюеру важна не цифра, а точность самооценки: совпадёт ли то, что вы о себе скажете, с тем, что выяснится на следующих вопросах. Следом обычно идёт «хорошо, тогда расскажите, как работает...» по теме, которую вы назвали сильной.
Как отвечать
Вместо абстрактной цифры разложите владение языком на три зоны и в каждой назовите конкретику из своей работы:
- пишу без документации: встроенные типы и сложность их операций, генераторы и
yield, контекстные менеджеры, декораторы, исключения,dataclasses, аннотации типов; - понимаю, как устроено: модель данных и dunder-методы (
__eq__,__hash__,__iter__), изменяемые аргументы по умолчанию, области видимости и замыкания, GIL и почему потоки не ускоряют CPU-задачи, чемasyncioотличается от потоков и процессов; - знаю, где искать: метаклассы, дескрипторы, C-расширения, сборка без GIL, появившаяся в 3.13. Честно сказать «работал мало, представляю в общих чертах» лучше, чем плавать.
Добавьте инструменты, с которыми вам комфортно каждый день: pytest с фикстурами, ruff вместо связки линтеров, mypy или pyright, uv или poetry для зависимостей, профилирование через cProfile или py-spy. Это показывает, что ваш код живёт в продакшене, а не в учебных задачах.
Закрепите одной историей: задача, где знание языка реально помогло. Например, переписали обработку большого файла на генераторы и перестали падать по памяти. Нужны свои примеры и свои цифры, чужие легко распознаются по первому уточнению.
Если просят именно число, называйте его с расшифровкой: «семь, уверенно пишу и ревьюю сервисный код, в метапрограммировании плаваю».
Где спотыкаются
Ставят себе девять или десять. Это приглашение к вопросам про дескрипторы и устройство словаря, и после первого же провала доверие к остальным ответам падает.
Перечисляют библиотеки вместо языка. Знание Django и pandas не отвечает на вопрос, понимаете ли вы сам Python.
Прибедняются. Фраза «ну, я так, средне» без конкретики звучит как неуверенность, а не скромность. Лучше точно назвать сильные и слабые места.