К реальным собесам
Реальный собес2026-04-16

System Design: realtime CTR dashboard для рекламы

System design кейс про realtime dashboard CTR рекламных кампаний: оценка потока событий, Kafka/event schema, stream aggregation и OLAP storage.

Таймлайн собеседования

Компактный список вопросов и задач по ходу записи: раскрывайте только нужные детали.

00:05:18-00:06:32Вопрос

Постановка: dashboard CTR рекламных кампаний

00:06:32-00:07:50Вопрос

Какие события и числа уточнить перед дизайном

00:07:50-00:11:34Вопрос

Как посчитать поток событий для CTR dashboard

00:11:34-00:14:49Вопрос

High-level pipeline: event log, stream aggregation, storage

00:15:04-00:16:04Вопрос

Какие счетчики считать по campaign_id и минуте

00:16:25-00:20:40Вопрос

Kafka, S3 и ClickHouse: роли компонентов

00:20:40-00:22:33Вопрос

Схема события в Kafka

00:20:40-00:36:33Вопрос

Какие события класть в Kafka и как партиционировать

00:22:33-00:24:10Вопрос

Как выглядит Spark job для оконной агрегации

00:22:33-00:32:29Вопрос

Как агрегировать CTR по минутам и где хранить результат

00:24:29-00:31:00Вопрос

API и разные bucket sizes для графика

00:32:29-00:35:39Вопрос

Сколько Kafka/Spark workers нужно на миллионы events/sec

00:36:33-00:38:20Вопрос

Как event попадает на нужный worker

00:38:20-00:41:14Вопрос

Output stream job: campaign_id, window_start, impressions, clicks, CTR

00:42:11-00:51:04Вопрос

Что делать с падениями, offset и partial windows

Выводы и как готовиться

  • Начинать нужно с capacity planning: 200 млрд показов в день превращаются примерно в 2.3 млн events/sec.
  • Kafka key и partitioning выбираются под основную агрегацию и hot-key риски.
  • Dashboard должен читать агрегаты из OLAP storage, а не сырые events.