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

Виталий Лихачев, Павел Мальцев: Публичное собеседование Senior Python Engineer

Публичное Senior Python-собеседование с задачами на устройство языка и разбором практики Django, конкурентности и производительности. Участники обсуждают ответы кандидата и связанные с ними инженерные ограничения.

Источник: { между скобок }

Открыть на YouTube

Таймлайн

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

Это публичное собеседование по Python, ориентированное на уровень Senior: ведущий проверяет не LeetCode, а понимание внутренних механизмов языка и практических инженерных решений. Кандидат рассказывает о настраиваемой машине состояний для B2B-продукта Speechki, после чего разбирает задачи про изменяемые аргументы по умолчанию, списки, словари, замыкания, метаклассы, Django-транзакции, конкурентность и контекстные менеджеры. В финале интервьюер высказывает мнение, что кандидат соответствует уровню Senior Python, но это оценка в учебном публичном формате, а не результат реального найма.

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

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

  • Подготовьте рассказ о рабочем проекте через конкретные компромиссы: кандидат объясняет, зачем команда заменила Django FSM собственной настраиваемой машиной состояний с условиями переходов, уведомлениями и фоновыми задачами.
  • Нужно уверенно объяснять ловушку изменяемых значений по умолчанию: такой объект создаётся один раз и может сохранять данные между вызовами функции; безопасный вариант — использовать None и создавать список внутри функции.
  • Полезно различать особенности производительности list comprehension, генераторов и map, а также понимать, что проверка принадлежности в range не требует полного перебора и работает за O(1).
  • Для словарей стоит знать роль __hash__ и __eq__, коллизии, требования к ключам и различие между идентичностью объекта через id/is и равенством через ==.
  • На собеседовании могут спросить практику Django: смысл transaction.on_commit, риски сочетания транзакции с внешними действиями и нюансы вложенных транзакций при откате.
  • Повторите замыкания, nonlocal, декораторы, каррирование и ограничение глубины рекурсии в Python; это было отдельным блоком задач.
  • Для тысяч параллельных запросов надо учитывать 429 от внешнего сервиса, ограничивать конкурентность семафором и не исчерпать файловые дескрипторы или сокеты.

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

56 мин
BackendJunior

Михаил Выборный собеседование junior python разработчик

Пробное собеседование junior Python-разработчика с разбором софт-скиллов, базового Python-кодинга, декораторов и замыканий. В конце участнику дают предметную обратную связь и обсуждают смоделированные условия работы.

1 ч 6 мин
BackendJunior

Junior Python developer. Публичное собеседование Яков Варнаев

Учебное публичное собеседование Junior Python/Django-разработчика с живым разбором Django-проекта и демонстрацией личного API-проекта для Dungeons & Dragons. В финале участники разбирают вопросы кандидата и дают обратную связь.