Как проходит собеседование на Python-разработчика

⏱ 30 мин · 🧩 заданий: 4

Воронка найма

Типичный процесс в продуктовой компании занимает 2–6 недель:

Отклик / рекомендация │ ▼ Скрининг с рекрутером (20–30 мин) ── мотивация, опыт, ожидания, формат работы │ ▼ Техническое интервью (60–90 мин) ─── вопросы по Python, БД, вебу + небольшая задача │ ▼ Live coding / алгоритмы (45–60 мин) ─ или тестовое задание на дом │ ▼ System design (60 мин, middle+) ──── спроектировать сервис │ ▼ Интервью с командой / руководителем ─ поведенческие вопросы, культура │ ▼ Оффер

Бывают и варианты: в стартапе всё может уместиться в один разговор с CTO, в крупной компании — пять-шесть секций и «комитет». Спросите рекрутера заранее, какие будут этапы и что на них проверяют: это нормальный вопрос, и ответ на него экономит недели подготовки не к тому.

Чего ждут на разных уровнях

Junior Middle Senior
Язык синтаксис, коллекции, функции, ООП, исключения модель данных, генераторы, декораторы, контекстные менеджеры, typing, GIL и конкурентность внутренности CPython, производительность, архитектурные компромиссы
Задачи простые алгоритмы, аккуратный код алгоритмы среднего уровня, оценка сложности, тесты быстрое решение + обсуждение вариантов
БД и веб SQL-запросы, HTTP, REST индексы, транзакции, N+1, кеш, очереди масштабирование, консистентность, отказоустойчивость
Проектирование — спроектировать модуль или API system design целиком
Опыт учебные и пет-проекты самостоятельное ведение задач влияние на команду, менторство, решения

Резюме

Резюме читают 30 секунд, а часто сначала его фильтрует ATS по ключевым словам. Что работает:

  • 1–2 страницы, сверху — желаемая позиция («Python-разработчик (backend)»), контакты, GitHub.
  • Навыки — те, что в вакансии и что вы реально готовы обсуждать: Python, Django/FastAPI, PostgreSQL, Redis, Docker, Git, pytest, Linux.
  • Опыт — результатами, а не обязанностями: не «занимался разработкой API», а «перевёл каталог на FastAPI и Redis-кеш: p95 время ответа с 800 до 120 мс». Глагол + что сделали + измеримый эффект.
  • Без опыта работы — проекты: что за проект, стек, ваша роль, ссылка на репозиторий с README, тестами и инструкцией по запуску. Один доведённый до конца проект с CI и деплоем лучше десяти учебных.
  • Адаптируйте резюме под вакансию: переставьте акценты, используйте её формулировки.
  • Сопроводительное письмо — 3–5 предложений: почему именно эта компания и чем вы полезны для этой роли.

Пет-проект, который помогает на собеседовании

API на FastAPI или Django с PostgreSQL, миграциями, аутентификацией, тестами (pytest, покрытие), Docker Compose, CI на GitHub Actions и деплоем. На интервью его можно обсуждать часами — и это лучше любых вопросов «по билетам».

План подготовки на 2–4 недели

  1. Язык (неделя 1): пройдите вопросы из уроков «Топ вопросов по языку» и «ООП, внутренности, конкурентность». Для каждого вопроса сформулируйте ответ вслух за 1–2 минуты и проверьте себя кодом в REPL.
  2. Каверзный код: урок «Что выведет код?» — изменяемые аргументы по умолчанию, замыкания в цикле, is и ==, копирование.
  3. Алгоритмы (неделя 2): модуль «Алгоритмы и структуры данных» — по 2–3 задачи в день, сначала легкие, вслух, с оценкой сложности. Шаблоны важнее количества.
  4. БД, веб, инструменты: SQL (JOIN, GROUP BY, индексы, транзакции), HTTP и REST, Git, Docker — модуль «Python в работе».
  5. Проектирование (middle+): урок «Основы system design».
  6. Поведенческое: подготовьте 5–6 историй по STAR — урок «Поведенческое интервью».
  7. Репетиция: пробное собеседование и мок-интервью с другом или на платформах взаимных интервью.

Как вести себя на интервью

  • Думайте вслух. Интервьюер оценивает ход мысли, а не только ответ. Молчание 5 минут — худший сценарий, даже если в итоге решение верное.
  • Уточняйте условие перед решением: входные данные, граничные случаи, ограничения по памяти и времени.
  • Не знаете — так и скажите, и порассуждайте. «Не сталкивался, но предполагаю, что… проверил бы так…» — хороший ответ. Выдуманный уверенный ответ — плохой: его почти всегда видно.
  • Примеры из опыта делают ответ сильнее: «у нас был N+1 на странице заказов, нашли через логирование SQL, починили через prefetch_related».
  • Задавайте вопросы в конце (см. урок о поведенческом интервью) — это тоже оценивают.
  • Технически: удобное место, наушники, проверенная связь, редактор или онлайн-доска, на которой вы уже пробовали писать код.

Тестовое задание

  • Уточните объём и срок; разумно — 4–8 часов работы. Если задание тянет на неделю — можно вежливо спросить, нельзя ли заменить его живым интервью.
  • Сдавайте как рабочий код: README с запуском одной командой (docker compose up), тесты, линтер, понятная структура, осмысленные коммиты.
  • Опишите в README принятые решения и что бы вы улучшили при большем времени — на ревью об этом спросят.

Зарплата и оффер

  • Исследуйте рынок: вилки в вакансиях, обзоры зарплат, знакомые. Называйте вилку с верхней границей чуть выше желаемого.
  • Если можно, пусть первую цифру назовёт компания: «Какая вилка заложена на эту позицию?»
  • Сравнивайте всю компенсацию: оклад, премии, опционы, ДМС, обучение, оборудование, формат работы, испытательный срок, задачи и команда.
  • Оффер можно и нужно обсуждать; встречный оффер от другой компании — сильный, но честный аргумент.
  • Отказ — не приговор. Попросите обратную связь, запишите вопросы, на которых споткнулись, и закройте пробелы к следующему интервью.

Итог

  • Этапы: скрининг → техническое интервью → live coding/тестовое → system design (middle+) → команда → оффер.
  • Резюме — результатами и ключевыми навыками из вакансии; пет-проект с тестами, Docker и CI.
  • На интервью: уточнять, думать вслух, честно признавать незнание и рассуждать.
  • Готовьтесь по плану: язык → каверзный код → алгоритмы → БД и веб → проектирование → поведенческие истории → репетиция.

Практика решено 0 из 4

Вы не вошли — ответы проверяются, но прогресс не сохранится. Войти или зарегистрироваться.
Задание 1 Заполнить таблицу

Что в первую очередь проверяют на каждом этапе?

мотивацию и соответствие вакансиизнание языка и инструментовумение решать задачи и писать кодпроектирование систем
Скрининг с рекрутером
Техническое интервью «вопрос — ответ»
Live coding / алгоритмическая секция
System design (обычно для middle+)
Отметьте ячейку — «+», пустая — «−».
Задание 2 Несколько вариантов

Что стоит сделать, если на интервью вы не знаете ответа на вопрос?

Задание 3 Один вариант ответа

Рекрутер спрашивает о зарплатных ожиданиях на первом звонке. Какой ответ лучше?

Задание 4 Ввод ответа

Как называется метод структурирования ответов на поведенческие вопросы: Ситуация, Задача, Действия, Результат? (аббревиатура латиницей)

Войдите, чтобы отмечать пройденные уроки.