Data contracts на собеседовании Data Engineer
Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.
Содержание:
Зачем разбирать на собесе
Data contracts — modern подход к производственным data pipelines. На собесе DE: «как ты coordinate между producers и consumers».
Что включает контракт
Schema. Колонки, типы, constraints (nullable, unique).
Quality SLA. Freshness, completeness, accuracy thresholds.
Ownership. Кто owner producer, кто accountable.
Versioning. Текущая version, history.
Breaking change policy. Notification period, deprecation rules.
Compliance flags. PII, regulatory.
Формат
name: orders
owner: orders-team
version: 1.2
schema:
- name: order_id
type: bigint
nullable: false
unique: true
- name: amount
type: decimal(10,2)
nullable: false
range: [0, 1000000]
- name: created_at
type: timestamp
nullable: false
sla:
freshness: 1 hour
completeness: 99.9%
uniqueness: 100%
compliance:
contains_pii: false
deprecation:
notice_period: 90 daysВ git as code, reviewed как regular PR.
Enforcement
CI checks. При schema change в producer — проверка breaking change.
Runtime monitoring. Соответствует ли real data контракту (Great Expectations / Soda).
Alerting. SLA нарушение → notification owner.
Schema registry (Confluent или альтернативы) — runtime enforcement для Kafka.
Tools
Soda Contracts. YAML-based, CI-friendly.
Great Expectations. Expectation suites как контракты.
dbt schema tests. Простой вариант.
OpenLineage. Lineage with contracts.
Apache Iceberg. Schema evolution с гарантиями.
В РФ: чаще custom + dbt tests / GE.
Связанные темы
- Great Expectations для DE
- Schema evolution для DE
- Data lineage для DE
- DQ dimensions для DE
- Подготовка к собесу Data Engineer
FAQ
Это официальная информация?
Нет. Статья основана на материалах Soda / Great Expectations / data contracts community.
Тренируйте Data Engineering — откройте тренажёр с 1500+ вопросами для собесов.