P
prepair.app
Пройти интервью →
EnglishУкраїнськаРусскийDeutsch
🐍

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

Senior · 5+ лет опыта

Собеседование Python-разработчика охватывает внутренности языка, асинхронность, Django или FastAPI и работу с базой. Ниже — самые частые вопросы с эталонными ответами. Senior: архитектуру, трейд-оффы, менторство и принятие решений.

Попробовать — без регистрации
Готовим вопрос…

Темы для подготовки

Типы данных и структуры
Декораторы и генераторы
GIL и конкурентность
asyncio и async/await
Django / FastAPI
ORM и оптимизация SQL

6 вопросов уровня Senior с ответами

1

Счётный эндпоинт работает слишком медленно. Какие варианты и чего они стоят?

Ответ

Грубо: вынести работу из запроса в очередь, распараллелить процессами, а не потоками, перенести горячий цикл в C или Rust расширением, либо сменить алгоритм. Последнее обычно самое дешёвое и его чаще всего пропускают. Мультипроцессинг стоит сериализации всего, что пересекает границу; расширение — усложнения сборки и второго языка в репозитории.

2

Как выкатить миграцию схемы без простоя?

Ответ

Этапами, каждый из которых обратно совместим: добавить колонку как nullable, писать в старую и новую, залить данные пачками, переключить чтение, удалить старую следующим релизом. Причина в том, что при постепенном деплое две версии кода работают с одной базой. Самый частый провал — миграция, блокирующая большую таблицу: в Postgres индекс нужно строить CONCURRENTLY.

3

Эндпоинт замедлился на проде. Как вы будете искать причину?

Ответ

Начать с того, что изменилось, дальше сужать по слоям, а не гадать: медленно у всех или у части пользователей, время уходит в базу, в Python или во внешний вызов. Трейсы APM или профилировщик на горячем пути отвечают на это за минуты. Оптимизировать только потом. Частая ловушка — профилировать локально на маленьких данных, где N+1, определяющий прод, попросту не виден.

4

Django или FastAPI для нового сервиса — как выбираете?

Ответ

Django, когда сервис насыщен контентом и админкой или когда ORM, миграции, аутентификация и админ-панель экономят месяцы. FastAPI, когда это тонкий API, когда доминирует асинхронный ввод-вывод или когда важен типизированный контракт со схемой. Выбор не про бенчмарки скорости. Вопрос, который стоит задать, — что из двух ваша команда сможет чинить в три часа ночи.

5

Где ставить кеш и как его инвалидировать?

Ответ

Как можно ближе к дорогой операции и не ближе: кеширование целой отрендеренной страницы скрывает, что именно было медленным. Инвалидация по явному ключу при записи правильна, но её легко забыть; короткий TTL неверен, зато самовосстанавливается, и для большинства читающих данных это лучший компромисс. Планировать нужно давку в момент, когда горячий ключ истёк и все запросы бросились его перестраивать.

6

Что дают аннотации типов и чего они не дают?

Ответ

Дают проверку, которая ловит целые классы ошибок до запуска, автодополнение и документацию, которая не может разойтись с кодом. Не дают проверки во время выполнения — аннотацию никто не валидирует, пока вы не добавите pydantic или аналог. На большой кодовой базе польза приходит от строгости на границах и прагматизма внутри: аннотировать каждую локальную переменную стоит дороже, чем приносит.

🦎

Прочитать ответы недостаточно

На собеседовании ты говоришь вслух под давлением. Кем задаст эти же вопросы, оценит каждый ответ и покажет, что именно подтянуть.

Пройти интервью Senior Python Backend →
Бесплатно · 3 интервью в месяц

Другие уровни — Python Backend

Junior Python BackendMiddle Python BackendВсе вопросы Python Backend

Другие специализации

🔍Senior QA Manual🤖Senior QA AutomationSenior Java Backend🐘Senior PHP Backend🦫Senior Go Backend🟢Senior Node.js Backend💎Senior Ruby on Rails🟣Senior .NET Backend Developer🔷Senior C++🟨Senior JavaScript