**Компания:** Озон
**Контекст:** Команда бэкенда добавляет новый столбец `delivery_type` в таблицу заказов. Другая команда переименовывает `discount` в `discount_amount`. ETL-пайплайн должен продолжать работать при любых изменениях схемы.
**Задание:**
1. Классифицируйте изменения схемы: backward-compatible vs breaking
2. Напишите Python-функцию для обнаружения изменений схемы (сравнение текущей и ожидаемой)
3. Реализуйте стратегию обработки: новый столбец, переименование, удаление
4. Предложите процесс управления schema evolution
schema evolution миграция backward compatibility версионирование
Это задание для уровня hard. Senior-уровень — глубокое понимание темы, опыт решения нестандартных задач, обсуждение trade-off на собеседовании.
Подобные задания в категории «data_engineering» регулярно дают на собеседованиях аналитика данных в Яндекс, Сбер, Ozon, Авито, Тинькофф, Wildberries, T-Bank, X5, ВТБ и других крупных IT-компаниях. Тематика: schema evolution, миграция, backward compatibility, версионирование.
На реальном собеседовании на подобную задачу отводится 30-60 минут с обсуждением подходов, оптимизаций и trade-off. Для тренировки рекомендуем сначала решить самостоятельно, потом сверить с эталонным решением и подсказками.
На zasqlpython.ru есть другие задания в категории «data_engineering», продуктовые кейсы, справочник метрик, AI мок-собеседование с разбором ваших ответов.
← Все задания