Какой формат собеседования: лайфкодинг, системный дизайн или теоретические вопросы?
Что проверяют
Этот вопрос чаще задаёте вы рекрутеру, и он полезен: по ответу вы понимаете, к чему готовиться, а рекрутер видит, что вы подходите к процессу осознанно. Если его задают вам, речь о том, в каком формате вы чувствуете себя увереннее и почему.
Как отвечать
Спрашивайте рекрутера конкретно:
- этапы: сколько их, сколько длится каждый, кто проводит: разработчик, тимлид, архитектор;
- лайфкодинг: алгоритмические задачи или прикладная (написать эндпоинт, распарсить лог, найти баг в чужом коде), в какой среде (своя IDE с демонстрацией экрана или онлайн-редактор), можно ли запускать код и заглядывать в документацию;
- теория: только по языку или ещё по базам данных, сетям, асинхронности;
- системный дизайн: будет ли он на вашем грейде. На позиции junior его обычно нет, для senior он часто решающий.
Дальше готовьтесь под формат. На лайфкодинге пригодятся collections (Counter, defaultdict, deque), heapq, bisect, умение оценить сложность и привычка проговаривать решение вслух. На теории спрашивают изменяемые и неизменяемые типы, изменяемый аргумент по умолчанию, генераторы, декораторы, контекстные менеджеры, GIL и то, что начиная с 3.13 есть отдельная сборка без него, asyncio и случаи, когда он не поможет. На системном дизайне: требования, оценка нагрузки, выбор базы, кэш в Redis, очереди и фоновые задачи (Celery, Kafka, RabbitMQ), идемпотентность обработчиков.
Если спрашивают о предпочтениях, отвечайте честно, но не отказывайтесь от остальных форматов: «Увереннее всего чувствую себя на прикладном лайфкодинге, системный дизайн тренирую на разборе своих сервисов».
Где спотыкаются
Не спрашивают о формате и готовят алгоритмы, а на встрече получают проектирование сервиса. Узнать заранее почти всегда можно, рекрутеры отвечают охотно.
Молчат на лайфкодинге. Интервьюер оценивает ход мысли, и молчаливое верное решение ценится ниже, чем рассуждение с исправленной по ходу ошибкой.
Готовят к бэкенд-позиции pandas и NumPy. Python-разработчику сервисов важнее веб-фреймворк, базы данных и конкурентность.