Data engineering
Дата-платформа: тест с выбором ответа
Шесть вопросов, прошивающих весь трек. Каждый — проектное решение, которое ты принимаешь, когда один факт обязан жить сразу в нескольких хранилищах: не определение, а выбор хранилища, формата или контракта под реальную нагрузку.
Убедись, что умеешь направить нагрузку в подходящее хранилище и раскладку и рассуждать о стыках между ними — к этому синтезу вели юниты про OLTP/OLAP, ELT, Parquet, MV, event sourcing, поиск и векторы.
Один факт о товаре должен обслуживать точечные lookups на пути оформления заказа И полный скан таблицы для подсчёта выручки в аналитике. Какая архитектура верна для senior?
Команда выбирает между ETL (трансформация в отдельном движке до загрузки) и ELT (загрузка сырого, трансформация внутри склада через dbt). Данные грязные, а бизнес постоянно меняет определение «активного пользователя». Что подходит и почему?
Ночной запрос дашборда фильтрует event_date = '2026-05-01' AND country = 'US' по таблице Parquet/Iceberg на 2 ТБ и всё равно сканирует почти все данные. Что даёт наибольший рычаг?
Gold materialized view, обслуживающая дашборд, обновляется каждые 6 часов. Финансовый лид жалуется, что число «неверное» против живого SQL-подсчёта. Оба внутренне корректны. Что в дизайне сделано не так?
Сервис пишет заказ в Postgres, потом публикует 'OrderPlaced' в Kafka, чтобы среагировали поиск и аналитика. Иногда поисковый индекс так и не узнаёт о заказе. В чём корневая причина и фикс?
Поиск по каталогу должен находить опечатанные названия товаров, А RAG-ассистент — отвечать на «ноутбук, хороший для видеомонтажа». Одна команда предлагает использовать векторный индекс для обоих. Какое разделение верно?
Сквозная нить трека — одна привычка: направь каждую нагрузку в подходящие хранилище и раскладку, а потом спроектируй контракт на каждом стыке. Строковое OLTP для точечных записей, колоночный Parquet для сканов (с pruning по статистике футера), ELT поверх сохранённого сырого ради переигрываемых определений, MV ради задержки чтения с объявленным freshness SLA, outbox против dual-write, inverted index для лексического поиска и векторный ANN для семантического retrieval. Каждое хранилище корректно для своей задачи; система остаётся корректной, только когда ты владеешь схемой, гарантией доставки, freshness SLA и реконсиляцией между ними.