ProfiNow Jobs  · IT-вакансии из открытых Telegram-каналов
ProfiNow JobsСобеседованияPython-разработчик

Вопросы на собеседовании: Python-разработчик

25 реальных вопросов с собеседований на позицию Python-разработчика — по навыкам, которые работодатели требуют в живых вакансиях. К каждому вопросу — что проверяет интервьюер и как звучит сильный ответ.

Прямо сейчас в нашем фиде 802 активных вакансий по профессии Python-разработчика из открытых Telegram-каналов.

Медиана зарплаты по живым вакансиям: примерно 200 000 ₽ — 250 000 ₽ (по 337 вакансиям с указанной зарплатой).

Что чаще всего требуют работодатели

Топ-навыки из реальных вакансий профессии:

pythonsqlpostgresqldockerkubernetesjavarestkafkaci/cdgit

🤖 ИИ-тренажёр ответов: на этой странице можно написать свой ответ на любой вопрос — ИИ разберёт его как реальный интервьюер (оценка, сильные стороны, что добавить, пример сильного ответа). Бесплатно, 5 разборов в неделю.

Язык Python — навык требуют в 229 активных вакансиях профессии

Чем list отличается от tuple? Когда использовать что?

Что проверяют: База: list изменяемый, tuple — нет (и поэтому hashable — может быть ключом словаря). Tuple — для фиксированных структур и защиты от случайной мутации.

Что такое изменяемый аргумент по умолчанию и почему def f(x=[]) — баг?

Что проверяют: Классическая ловушка: значение по умолчанию создаётся один раз при определении функции и разделяется между вызовами. Правильно: x=None + создание списка внутри.

Как работают генераторы? Чем yield отличается от return?

Что проверяют: Ленивые вычисления: генератор отдаёт значения по одному, не держит всё в памяти. Сильный ответ — пример обработки большого файла построчно.

Что такое GIL и на что он влияет?

Что проверяют: Global Interpreter Lock: в CPython потоки не исполняют байткод параллельно. CPU-bound задачи ускоряют процессами (multiprocessing), IO-bound — потоками или asyncio.

Объясните декоратор. Напишите простейший @timer.

Что проверяют: Функция, оборачивающая другую функцию. Живой код: замер времени через functools.wraps + time.perf_counter. Проверяют понимание замыканий.

Чем is отличается от ==?

Что проверяют: == сравнивает значения, is — идентичность объектов (один ли это объект в памяти). Отсюда правило: с None сравниваем через is.

Как устроен dict внутри? Какая сложность у поиска по ключу?

Что проверяют: Хеш-таблица, амортизированный O(1). Плюс — упомянуть требование hashable-ключей и сохранение порядка вставки с Python 3.7.

ООП и архитектура

Назовите принципы ООП с примерами из своих проектов.

Что проверяют: Инкапсуляция, наследование, полиморфизм, абстракция — но ценится не перечисление, а пример: «в пет-проекте базовый класс Parser и наследники под форматы».

Что такое магические методы? Зачем __init__, __repr__, __eq__?

Что проверяют: Протоколы языка: __repr__ — отладочное представление, __eq__ + __hash__ — сравнение и работа в set/dict. Упомянуть dataclass, который генерирует их сам.

Композиция против наследования — что предпочесть и почему?

Что проверяют: Зрелый ответ: наследование — для «является», композиция — для «содержит/использует»; глубокие иерархии хрупкие, композиция гибче.

Что такое SOLID? Расскажите про единственную ответственность.

Что проверяют: Достаточно уверенно объяснить S и D с примером: класс, который и парсит, и сохраняет в БД, и шлёт уведомления — кандидат на разделение.

Веб и API

Что такое REST? Какие методы HTTP и коды ответов используете?

Что проверяют: Ресурсы + стандартные методы: GET/POST/PUT/PATCH/DELETE. Коды: 200/201/204, 400/401/403/404/422, 500. Идемпотентность GET и PUT — плюс.

Чем FastAPI отличается от Django? Когда что выбрать?

Что проверяют: FastAPI — лёгкий async-фреймворк для API (Pydantic, автодоки), Django — «батарейки в комплекте» (ORM, админка, auth) для полноценных продуктов. Выбор от задачи.

Что такое ORM? Плюсы и минусы против сырого SQL.

Что проверяют: Объектное отображение таблиц: безопасность (параметризация), миграции, читаемость — против контроля над сложными запросами. Упомянуть проблему N+1 — сильный ход.

Как работает async/await? Когда асинхронность не поможет?

Что проверяют: Кооперативная многозадачность на event loop: выигрыш на IO-bound (сеть, БД). Не поможет CPU-bound коду — там процессы.

Как бы вы спроектировали endpoint регистрации пользователя?

Что проверяют: Проверяют практику: валидация (Pydantic), хеширование пароля, обработка дубликата email (409), не возвращать пароль, статус 201.

Базы данных — навык требуют в 195 активных вакансиях профессии

Чем JOIN отличается от подзапроса? Что такое индекс?

Что проверяют: Индекс — структура для быстрого поиска (B-tree), ускоряет чтение, замедляет запись. Понимать, когда индекс не сработает (функция над колонкой, LIKE '%…').

Что такое транзакция и ACID?

Что проверяют: Атомарность, согласованность, изоляция, долговечность. Живой пример: перевод денег — списание и зачисление либо вместе, либо никак.

Как избежать SQL-инъекций?

Что проверяют: Параметризованные запросы / ORM, никогда не собирать SQL f-строками из пользовательского ввода.

Инструменты и практики — навык требуют в 109 активных вакансиях профессии

Опишите ваш git-workflow: ветки, merge против rebase, конфликты.

Что проверяют: Feature-ветки от main, PR + ревью. Merge сохраняет историю, rebase выпрямляет. Уметь словами разрешить конфликт — обязательный минимум.

Как вы тестируете код? Что такое фикстуры и моки в pytest?

Что проверяют: Юнит-тесты на логику, фикстуры — подготовка окружения, моки — изоляция внешних вызовов (API, БД). Плюс — привычка писать тест на найденный баг.

Зачем виртуальное окружение и файл requirements/pyproject?

Что проверяют: Изоляция зависимостей проекта и воспроизводимость окружения у коллег/на сервере.

Поведенческие

Расскажите о самом сложном баге, который вы поймали.

Что проверяют: STAR + техническая конкретика: как локализовали (логи, отладчик, бинарный поиск по коммитам), что оказалось причиной, какой тест добавили.

Как вы разбираетесь в чужом коде большого проекта?

Что проверяют: От точки входа по стеку вызовов, чтение тестов как документации, маленькие правки для проверки гипотез. Проверяют самостоятельность.

Почему Python и что вы будете делать, если понадобится другой язык?

Что проверяют: Честная мотивация + готовность учиться: язык — инструмент, фундаментальные навыки переносимы.

Как проходить собеседование: советы

Подготовка и вакансии