Вернуться в видеотеку

Моковое собеседование на Senior Python-разработчика | Solvery & Moscow Python

Запись мокового Senior Python-интервью с разбором практических задач, ошибок в Python-коде, тестов, фоновых задач и асинхронности. Ведущий объясняет решения и даёт кандидату развёрнутую обратную связь.

Источник: MoscowPython

Открыть на YouTube

Таймлайн

Коротко о видео

Публичное моковое собеседование на Senior Python-разработчика: Никита Соболев задаёт Николаю Коваленко вопросы и разбирает его ответы. Обсуждаются запуск Python и импорт модулей, типизация и dataclass, `__slots__`, тестирование, декораторы, фоновые задачи и `asyncio`. В финале интервьюер даёт кандидату обратную связь и рекомендует углубить понимание объектной модели Python и асинхронности.

Затронутые темы

Что взять на заметку

  • `python -m pip` запускает `pip`, связанный с конкретным выбранным интерпретатором Python; активация виртуального окружения меняет приоритет путей в `PATH`.
  • Для изменяемых значений по умолчанию в `dataclass` следует использовать `field(default_factory=list)`, чтобы не разделять один список между экземплярами.
  • `__slots__` ограничивает набор атрибутов экземпляра и не делает класс неизменяемым; при наследовании нужно отдельно учитывать наличие `__dict__`.
  • В тестах полезно проверять разобранные составляющие URL, а не одну длинную строку, а генерацию тестовых данных выносить в фабрики или фикстуры, например с Polyfactory.
  • Для поддерживаемых тестов повторяющуюся сборку запросов и проверки стоит централизовать в функции или фикстуре; тогда изменение набора параметров правится в одном месте.
  • В задачи очереди лучше передавать сериализуемый идентификатор модели, а не ORM-объект; повторы должны быть ограничены, использовать backoff и jitter, а их число зависит от бизнес-сценария и UX.
  • При типизации декораторов применяются `ParamSpec` и `functools.wraps`; для сочетания декоратора и контекстного менеджера обсуждается `contextlib.ContextDecorator`.

Рекомендуем посмотреть