Не останавливайтесь на «как написать». Объясняйте, какой Python-протокол вызывается, где живёт объект, что блокирует выполнение и как решение ведёт себя в тестах и production.
План
Пройдите этапы по порядку
- 01
Ядро языка и модель объектов
Mutability, hashability, identity/equality, data model, descriptors, MRO, dataclasses и memory references. На каждый механизм подготовьте короткий пример и типичную ошибку.
- 02
Итераторы, генераторы и контекстные менеджеры
Разберите iter/next, lazy evaluation, yield/send, generator close и протокол with. Сравните память и обработку исключений с обычной коллекцией.
- 03
Concurrency и async
GIL, threads, processes, asyncio event loop, cancellation, TaskGroup и blocking I/O. Выбирайте модель по workload и показывайте bounded concurrency.
- 04
Backend и данные
HTTP, ASGI/WSGI, Django/FastAPI, ORM, N+1, транзакции, индексы, кеш и фоновые задачи. Проследите один request от входа до commit и ответа.
- 05
Качество и тесты
Typing, pytest, fixtures, property-based cases, mocking boundaries, logging и packaging. Напишите тест на failure path, а не только happy path.
- 06
Production case и system design
Спроектируйте API с PostgreSQL и очередью, добавьте timeouts, retry policy, idempotency, observability и rollout. Объясните, когда Python действительно становится bottleneck.
Что обычно мешает
Частые ошибки
- Сводить GIL к фразе «нет многопоточности».
- Учить декораторы без descriptor model.
- Мокать ORM вместо проверки контракта.
- Игнорировать N+1 и транзакции.
Перед следующим этапом
Чек-лист готовности
- Объясняю object model и protocols.
- Пишу async-код с cancellation.
- Диагностирую N+1.
- Использую typing как контракт.
- Проектирую production failure path.
Коротко
Частые вопросы
Django или FastAPI — что учить?
Глубоко учите стек целевой вакансии, но понимайте HTTP, транзакции и async независимо от фреймворка. Не указывайте оба только ради ключевых слов.
Нужны ли алгоритмы Python-разработчику?
Да, хотя глубина зависит от компании. Коллекции, строки, сложность и умение написать чистое решение полезны для live coding и ежедневной работы.
Как готовиться data/ML-кандидату?
Сохраните ядро Python, затем добавьте numpy/pandas, статистику, валидацию, data pipelines и воспроизводимость. Backend-фреймворки можно заменить ML system design.
Источники
Источники и редакционная политика
Материалы RecallDeck сопоставлены с официальной документацией и открытыми публикациями компаний, когда первичный источник доступен. Мы не связаны с упомянутыми работодателями, не публикуем конфиденциальные задания и не продаём места в подборках. Формат найма может меняться — уточняйте его у рекрутера.
От чтения к воспроизведению
Отрепетируйте полный цикл интервью.
RecallDeck возвращает сложные темы по расписанию и помогает удерживать в памяти язык, SQL, архитектуру и поведенческие истории.