**Компания:** Озон
**Контекст:** В таблицу `orders` из-за сбоя в ETL попали дубли. Одна и та же строка может повторяться несколько раз. Нужно оставить только уникальные записи.
[см. код в задании]
**Задание:**
1. Напишите запрос, который находит все полные дубли (совпадение по всем полям)
2. Напишите запрос для удаления дубликатов, оставив только одну копию каждой записи
3. Предложите способ защиты от повторного появления дубликатов
Структура для ориентира — реальные значения из эталонного решения.
CREATE TABLE orders_clean AS
SELECT DISTINCT * FROM orders;
DROP TABLE orders;
ALTER TABLE orders_clean RENAME TO orders;
ROW_NUMBER дедупликация CTE оконные функции
Это задание для уровня easy. Senior-уровень — глубокое понимание темы, опыт решения нестандартных задач, обсуждение trade-off на собеседовании.
Подобные задания в категории «data_engineering» регулярно дают на собеседованиях аналитика данных в Яндекс, Сбер, Ozon, Авито, Тинькофф, Wildberries, T-Bank, X5, ВТБ и других крупных IT-компаниях. Тематика: ROW_NUMBER, дедупликация, CTE, оконные функции.
На реальном собеседовании на подобную задачу отводится 30-60 минут с обсуждением подходов, оптимизаций и trade-off. Для тренировки рекомендуем сначала решить самостоятельно, потом сверить с эталонным решением и подсказками.
На zasqlpython.ru есть другие задания в категории «data_engineering», продуктовые кейсы, справочник метрик, AI мок-собеседование с разбором ваших ответов.
← Все задания