Расчёт SLA для data pipeline

hard data_engineering Общие

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

**Компания:** Тинькофф

**Контекст:** Руководство требует формальные SLA для аналитических пайплайнов. Нужно определить метрики SLA, настроить их измерение и построить дашборд соблюдения.

**Задание:**
1. Определите метрики SLA для data pipeline (минимум 5)
2. Спроектируйте таблицы для хранения измерений SLA
3. Напишите SQL для расчёта SLA compliance за месяц
4. Определите эскалацию: что происходит при нарушении SLA

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

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

-- Конфигурация SLA
CREATE TABLE sla_config (
    pipeline_name VARCHAR(200) PRIMARY KEY,
    owner_team VARCHAR(100),
    freshness_hours NUMERIC(5,1),
    completeness_pct NUMERIC(5,2),
    max_latency_min INT,
    min_daily_rows BIGINT,
    max_daily_rows BIGINT,
    tier VARCHAR(10)  -- P0, P1, P2
);

-- Измерения SLA
CREATE TABLE sla_measurements (
    measurement_id BIGSERIAL PRIMARY KEY,
    pipeline_name VARCHAR(200),
    measured_at TIMESTAMP DEFAULT NOW(),
    dt DATE,                           -- дата данных
    -- Freshness
    actual_delay_hours NUMERIC(10,2),
    freshness_ok BOOLEAN,
    -- Completeness
    total_rows BIGINT,
    valid_rows BIGINT,
    completeness_pct NUMERIC(5,2),
    completeness_ok BOOLEAN,
    -- Latency
    etl_duration_min NUMERIC(10,1),
    latency_ok BOOLEAN,
    -- Volume
    volume_ok BOOLEAN,
    -- Общий статус
    overall_ok BOOLEAN
);

INSERT INTO sla_config VALUES
('mart_transactions', 'payments', 2.0, 99.5, 30, 4000000, 7000000, 'P0'),
('mart_users', 'user_analytics', 6.0, 99.0, 60, 50000, 200000, 'P1'),
('mart_content', 'content_team', 4.0, 99.0, 45, 1000000, 5000000, 'P1');

Темы

SLA freshness completeness мониторинг метрики

Подсказки

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

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

Какой уровень знаний нужен для задачи "Расчёт SLA для data pipeline"?

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

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

Подобные задания в категории «data_engineering» регулярно дают на собеседованиях аналитика данных в Яндекс, Сбер, Ozon, Авито, Тинькофф, Wildberries, T-Bank, X5, ВТБ и других крупных IT-компаниях. Тематика: SLA, freshness, completeness, мониторинг, метрики.

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

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

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

На zasqlpython.ru есть другие задания в категории «data_engineering», продуктовые кейсы, справочник метрик, AI мок-собеседование с разбором ваших ответов.

← Все задания