Ctrl K
Аналитик данных · SQL · Senior · Код

Есть таблица events с колонками user_id и event_time, в ней миллиарды строк. Напишите SQL-запрос, который разобьёт события каждого пользователя на сессии: новая сессия начинается, если с предыдущего события прошло больше тридцати минут. Для каждой сессии верните пользователя, номер сессии, время начала и конца и число событий.

~15 мин голосом

Как подойти

Проверяют, знаете ли вы приём gaps and islands на оконных функциях: LAG, флаг разрыва, накопительная сумма. Для senior важно и другое: умеете ли вы пересчитывать такой запрос на миллиардах строк инкрементально, учитывать опоздавшие события и физическую организацию данных.

Встречал этот вопрос на настоящем собесе?
Ответов0
Средний балл—
Сильных—
Тренировали0
Темы

Ответь голосом

Интервьюер задаст этот вопрос и послушает. Думай вслух, проси подсказку, если нужно. Закончил — пауза или «Я ответил», через минуту здесь балл и какие пункты закрыты.

Войти, чтобы ответить

Лучше в наушниках · ~15 мин