Собеседование Senior Python-инженера: backend, данные и архитектура
Интервью охватывает совместимость API, Python-паттерны, Redis, Kafka, ClickHouse и архитектуру сервисов мобильной аналитики. Кандидат рассуждает о надёжности, кэше и диагностике инцидентов.
- Опубликовано на YouTube:
- Просмотры на YouTube: 2,7 тыс.
- Лайки на YouTube: 55
Таймлайн
Коротко о видео
Собеседование начинается с backend для мобильного приложения: поддержка старых клиентов, канареечные релизы, A/B-тесты, откаты и совместимость API. Затем кандидат отвечает о декораторах, абстрактных классах, протоколах и наследовании в Python. В инфраструктурной части обсуждаются идемпотентная загрузка файлов, TTL, Redis для кэша и rate limit, а также критерии кэширования. Далее кандидат проектирует сбор событий из мобильного приложения с Kafka, партициями и ClickHouse, рассматривает обновление данных и расследует рост latency из-за исчерпанного пула соединений. Финальный блок посвящён CRUD, Unit of Work, Message Bus, DI в FastAPI, архитектуре команды и планам перейти с Django 3 на FastAPI.
Затронутые темы
Что взять на заметку
- Совместимость API и стратегия отката критичны для мобильных клиентов с разными версиями.
- Кэширование следует выбирать по данным и рискам устаревания, а не применять автоматически.
- Для защиты от повторной загрузки нужен атомарно установленный ключ идемпотентности, а TTL ограничивает зависание состояния при сбое.
- При инциденте latency полезны трассировки, медленные запросы и проверка пула соединений.
- Архитектурные паттерны стоит объяснять через границы слоёв и ответственность обработчиков.