МОК-интервью по System Design / Проектируем ленту Twitter
Осознанная Меркантильность
Владимир Балун жестко проверил мои навыки проектирования архитектуры системы. Разобрали: требования → метрики → архитектуру → проблему «знаменитостей» → CDN и шардинг. Сейчас системный дизайн все чаще начинают спрашивать на любые позиции. Видео для тех, кто готовится к выходу на рынок. Это хороший референс, какие моменты важно подсветить интервьюеру, чтобы выделиться среди кандидатов и лутануть оффер. А если вам покажется сложным, не переживайте! Совсем скоро на ютубе выйдет полный гайд по системному дизайну. Подпишитесь, чтобы не пропустить. Таймкоды: 00:00 — Постановка задачи: проектируем Twitter 00:17 — Сбор функциональных требований 02:44 — Сбор нефункциональных требований 06:03 — Ключевые выводы из требований: Read-heavy система и "проблема знаменитости" 06:28 — Не трать время на ненужные формулы 07:09 — Оценка пользовательской активности, метрик системы, расчет нагрузки 10:30 — Как мы будем работать с картинками и реализация API 11:10 — Архитектура системы: разделение на сервисы 11:26 — Принцип работы медиасервиса 11:36 — Сервис создания твитов: структура сущности и база данных 12:54 — Сервис подписок (Follow): выбор базы данных и структура 13:28 — Timeline-сервис: преподготовка ленты и кэширование в Redis 14:25 — Асинхронное обновление ленты через Kafka 14:59 — Проблема консистентности и паттерны решения 15:24 — Обработка подписок и оптимизация нагрузки 15:54 — Проблема «знаменитостей» и стратегии решения 18:04 — Альтернативные подходы к решению "проблемы...