Вернуться в каталог собеседований

Собеседование в VK Middle Python: создаем ленту рекомендаций для соцсети!

Открытое мок-интервью Middle Python с разбором конкурентности и system design персонализированной ленты рекомендаций. После технической части команда Shortcut отвечает на вопросы о подготовке, менторстве и карьерном развитии.

ШОРТКАТ — менторская программа
  • Опубликовано на YouTube:
  • Просмотры на YouTube: 4,2 тыс.
  • Лайки на YouTube: 132
Открыть на YouTube

Таймлайн

Коротко о видео

Это публичное мок-интервью на позицию 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, передаваемый по всей цепочке.
  • По мнению участников, на интервью полезнее связывать теорию с реальными случаями из продакшена, чем ограничиваться академическим определением технологии.

Рекомендуем посмотреть