Real-time fraud detection через SummingMergeTree + dictGet

Senior SQL Fintech

Условие задания

**Данные:** Tinkoff-like fintech. Транзакции приходят real-time из Kafka:

[см. код в задании]

Также есть таблица user-info (~50M юзеров) которая обновляется ежедневно через CDC из MySQL.

**Задание:**

Спроектировать **real-time fraud scoring** систему:

1. **Dictionary** для быстрого lookup user-info (account_age_days, kyc_level, trust_score)
2. **SummingMergeTree** для running totals по user_id за 1 час (sum_amount_1h, tx_count_1h)
3. **MaterializedView** обновляющий running totals в real-time
4. **SELECT** для фрод-скоринга: если user spent > 3× обычного OR tx_count > 20 за час → flag

Пример данных

Структура для ориентира — реальные значения из эталонного решения.

CREATE TABLE user_hourly_stats (
  hour DateTime,
  user_id UInt64,
  total_amount Decimal(18, 2),
  tx_count UInt32,
  countries_array Array(LowCardinality(String))  -- список стран за час
)
ENGINE = SummingMergeTree((total_amount, tx_count))
ORDER BY (hour, user_id)
PARTITION BY toYYYYMM(hour);

Темы

ClickHouse SummingMergeTree dictionary fraud real-time

Подсказки

Все тестовые задания →

Частые вопросы

Какой уровень знаний нужен для задачи "Real-time fraud detection через SummingMergeTree + dictGet"?

Это задание для уровня Senior. Senior-уровень — глубокое понимание темы, опыт решения нестандартных задач, обсуждение trade-off на собеседовании.

На каких собеседованиях встречается такая задача?

Подобные задания в категории «SQL» регулярно дают на собеседованиях аналитика данных в Яндекс, Сбер, Ozon, Авито, Тинькофф, Wildberries, T-Bank, X5, ВТБ и других крупных IT-компаниях. Тематика: ClickHouse, SummingMergeTree, dictionary, fraud, real-time.

Сколько времени даётся на решение?

На реальном собеседовании на подобную задачу отводится 30-60 минут с обсуждением подходов, оптимизаций и trade-off. Для тренировки рекомендуем сначала решить самостоятельно, потом сверить с эталонным решением и подсказками.

Где ещё потренироваться по теме «SQL»?

На zasqlpython.ru есть 520+ SQL задач в песочнице с автопроверкой кода, конспекты SQL для аналитика, AI мок-собеседование с разбором ваших ответов.

← Все задания