Задача про streak-и (серии). Есть таблица ежедневной активности пользователей. Нужно найти для каждого пользователя все непрерывные серии активных дней (islands) и вернуть начало серии, конец и длину. Это классический gaps-and-islands.
Таблица `daily_active`:
| user_id | activity_date |
|---------|---------------|
| 1 | 2026-02-01 |
| 1 | 2026-02-02 |
| 1 | 2026-02-03 |
| 1 | 2026-02-07 |
| 1 | 2026-02-08 |
| 2 | 2026-02-05 |
Для пользователя 1 должно получиться две серии: 01–03 (длина 3) и 07–08 (длина 2).
Это задание для уровня hard. Senior-уровень — глубокое понимание темы, опыт решения нестандартных задач, обсуждение trade-off на собеседовании.
Подобные задания в категории «SQL» регулярно дают на собеседованиях аналитика данных в Яндекс, Сбер, Ozon, Авито, Тинькофф, Wildberries, T-Bank, X5, ВТБ и других крупных IT-компаниях.
На реальном собеседовании на подобную задачу отводится 30-60 минут с обсуждением подходов, оптимизаций и trade-off. Для тренировки рекомендуем сначала решить самостоятельно, потом сверить с эталонным решением и подсказками.
На zasqlpython.ru есть 520+ SQL задач в песочнице с автопроверкой кода, конспекты SQL для аналитика, AI мок-собеседование с разбором ваших ответов.
← Все задания