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