Пройдите шаги: уточните требования, оцените нагрузку, выберите решения, нарисуйте схему.
Человек открывает приложение и видит посты друзей и сообществ, на которые подписан. Новый пост друга должен появиться в ленте за 5–10 секунд.
Для расчёта: 55 млн человек заходят в день, каждый открывает ленту в среднем 10 раз, вечером нагрузка втрое выше средней. В день публикуют 20 млн постов.
У обычного человека 200–300 друзей и подписок. У крупного паблика с мемами или у сообщества футбольного клуба подписчиков 5–10 млн.
В работе: Лента — главный экран соцсети: от её задержки и свежести зависит, сколько времени человек проведёт в приложении.
Как проверяем
Шаги с вариантами и расчётами проверяем автоматически: число засчитано, если оно в пределах допуска от эталона. Схему вы оцениваете сами по чек-листу. Зачёт — схема набрала 60 % чек-листа и верны 70 % остальных пунктов. Ответ один на подход: после него показываем разбор.
Источник: на задачах VK: лента друзей и сообществ. Условие пересказано своими словами.
Давали на собеседовании?
- Уточнить требования — Что спросить у интервьюера до схемы?
- Оценить нагрузку
- Модель раздачи — Как собирать ленту при таком разбросе числа подписчиков?
- Хранилище готовой ленты — Где держать список последних 500 записей ленты каждого человека?
- Схема — Опишите путь поста от публикации до экрана подписчика и путь открытия ленты.