Собеседование в VK Middle Python: создаем ленту рекомендаций для соцсети!
Открытое мок-интервью Middle Python с разбором конкурентности и system design персонализированной ленты рекомендаций. После технической части команда Shortcut отвечает на вопросы о подготовке, менторстве и карьерном развитии.
ШОРТКАТ — менторская программа
Открыть на YouTube- Опубликовано на YouTube:
- Просмотры на YouTube: 4,2 тыс.
- Лайки на YouTube: 132
Таймлайн
Коротко о видео
Это публичное мок-интервью на позицию Middle Python backend-разработчика, организованное менторской платформой Shortcut, а не подтверждённое собеседование в VK. Кандидат разбирает asyncio, потоки, процессы и GIL, затем проектирует сервис персонализированной ленты: FastAPI, PostgreSQL, ML-сервис, Redis-кэш, реплики и наблюдаемость. В финале ведущие обсуждают фидбек по интервью, переход с Python на Go, подготовку Middle-разработчиков и формат менторства Shortcut.
Затронутые темы
Что взять на заметку
- Для I/O-bound нагрузки уместен async-подход с Event Loop; CPU-bound задачи стоит выносить в отдельные процессы с учётом числа ядер и стоимости процессов.
- Асинхронную библиотеку нужно проверять на реально неблокирующие операции: в опыте кандидата синхронная отправка метрик внутри «асинхронной» обёртки блокировала Event Loop и ухудшала производительность серверов.
- Для персонализированной ленты обсуждается схема: ML-сервис возвращает ID публикаций, а в Redis кэшируется список ID; сами публикации затем загружаются из основного хранилища.
- При росте задержки ML-сервиса предлагается заранее пересчитывать ленты активных пользователей в фоне, а для новых пользователей подготовить наборы лент по комбинациям онбординга.
- Тяжёлые операции в Redis, например получение всех ключей через KEYS *, могут заблокировать обработку других запросов; ключ кэша ленты стоит дополнять параметрами страницы или времени, а не ограничиваться User ID.
- Для деградировавших запросов PostgreSQL обсуждаются slow query logs, мониторинг, EXPLAIN/EXPLAIN ANALYZE, индексы и метрики в Prometheus; в микросервисах нужен correlation ID, передаваемый по всей цепочке.
- По мнению участников, на интервью полезнее связывать теорию с реальными случаями из продакшена, чем ограничиваться академическим определением технологии.