Вернуться в видеотеку

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

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

Источник: ШОРТКАТ — менторская программа

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

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

1 ч 41 мин
BackendMiddle

Открытое собеседование на Middle Go-разработчика в Wildberries: код-ревью

Учебное мок-собеседование Middle Go-разработчика с теоретическим блоком и подробным код-ревью сервиса генерации PDF. В конце разбираются ответы кандидата и вопросы зрителей по Go, TLS, кэшированию и конкурентности.

1 ч 56 мин
BackendJunior

Сильный джун или почти миддл? / Техсобес студента-программиста на позицию Junior Python Dev.

Разбор мок-собеседования студента на позицию Junior Python Developer: проекты, Python Core, конкурентность, ООП, SQL/ORM, базы данных и микросервисная архитектура. В конце — обратная связь и рекомендации по подготовке к реальным интервью.