Обработка schema evolution

hard data_engineering Общие

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

**Компания:** Озон

**Контекст:** Команда бэкенда добавляет новый столбец `delivery_type` в таблицу заказов. Другая команда переименовывает `discount` в `discount_amount`. ETL-пайплайн должен продолжать работать при любых изменениях схемы.

**Задание:**
1. Классифицируйте изменения схемы: backward-compatible vs breaking
2. Напишите Python-функцию для обнаружения изменений схемы (сравнение текущей и ожидаемой)
3. Реализуйте стратегию обработки: новый столбец, переименование, удаление
4. Предложите процесс управления schema evolution

Темы

schema evolution миграция backward compatibility версионирование

Подсказки

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

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

Какой уровень знаний нужен для задачи "Обработка schema evolution"?

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

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

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

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

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

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

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

← Все задания