Вернуться в видеотекуВиталий Лихачев, Павел Мальцев: Публичное собеседование Senior Python Engineer
Публичное Senior Python-собеседование с задачами на устройство языка и разбором практики Django, конкурентности и производительности. Участники обсуждают ответы кандидата и связанные с ними инженерные ограничения.
- Направление
- Backend
- Формат
- Видео
- Грейд
- Senior
- Длительность
- 1 ч 14 мин
Коротко о видео
Это публичное собеседование по 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 от внешнего сервиса, ограничивать конкурентность семафором и не исчерпать файловые дескрипторы или сокеты.