Собеседование аналитика в Ozon: гайд и подготовка

Ozon — топ-2 e-commerce России и один из главных работодателей для product- и data-аналитиков. Собеседование 3-4 раунда: HR, технический скрининг (SQL/Python), продуктовый кейс с метриками маркетплейса, finals. **РЕАЛЬНЫЙ кейс «10 ГБ лог-файл» (по материалам habr.com/articles/995600 — реальные задачи Yandex/VK/Ozon/Сбер):** дан лог-файл на 10 ГБ, не влезает в RAM. Нужно посчитать топ-10 URL-адресов. **Ожидаемое решение**: построчное чтение через **генераторы Python + collections.Counter** с `most_common(10)`. Кандидаты, использующие `file.readlines()`, проваливают задачу — это нарушает constraint «не влезает в память». Escalation: «что если уникальных URL миллионы и Counter тоже не влезет?» (тогда — внешняя сортировка, спарк/map-reduce). **Формат «пулемёт»**: несколько мелких задач подряд на скорость (монотонность массива, проверка степени двойки). Также SQL с оконной функцией (по опыту кандидата та же задача потом встретилась в Т-Банке). ClickHouse — основная аналитическая БД Ozon.

Зарплата аналитика в Ozon (2026)

Junior
~183K/мес total comp (L17)
Middle
~320K/мес total comp (L18)
Senior
~410K/мес total comp (L19)
Lead
450K+

Источник: Levels.fyi/Ozon/data-analyst (updated 26.05.2026): RUB 1.85M-4.1M+/год total comp, median 2.7M/год. ВАЖНО: stock=$0 на всех уровнях, нет RSU. Bonus до $8.5K/год.

Grade ladder: Уровни L17-L19+ согласно Levels.fyi (L17 ~$24.6K/год, L18 ~$42.8K/год, L19 ~$54.7K/год). На Levels.fyi отображается как Trainee/Junior/Middle/Senior соответствующих уровней. ВНИМАНИЕ: stock-компонент = $0 (в отличие от Яндекса) — почти вся компенсация в базовой части + bonus.

Раунды собеседования

Основные темы

ClickHouse SQL (array functions, MergeTree) Marketplace метрики (GMV, take rate, CR funnel) A/B на маркетплейсе (network effects) Python для ETL Продуктовое мышление seller↔buyer

Практика — что решать перед собесом

Открыть SQL-тренажёр → Открыть Python-тренажёр → AI-собеседование →

3 реальных вопроса с собесов аналитика — из публичных отчётов

Каждый вопрос задокументирован в публичной статье (Habr, vc.ru). Источник проверен.

Хочешь ещё 323+ верифицированных вопросов?

Плюс 3000+ обучающих вопросов, 520+ SQL-задач, 530+ Python — бесплатно первые 5 каждого типа.

Открыть тренажёр →

FAQ

Какой SQL спрашивают в Ozon?

ClickHouse — главный диалект. По опыту кандидата на Habr (926214): на собесе была задача с **оконной функцией**, причём в Т-Банке потом встретилась идентичная. Темы — окна (ROW_NUMBER, RANK, LAG/LEAD), array functions ClickHouse (arrayJoin, groupArray), MergeTree оптимизации. Для middle+ — JOIN-ограничения CH и обходы через dictionaries.

Какие НЕ-аналитические темы спрашивают в Ozon (для full-stack ролей)?

Из реального опыта (habr.com/articles/926214): Code Review с поиском проблем синхронизации («неверное использование lock»), темы про поколения сборщика мусора, IO-bound в асинхронном контексте, параллельное чтение из кэша и БД. System Design: Instagram-like архитектура. Для чистых DA/PA-ролей это не релевантно, но для DS/MLE — встречается.

Сколько раундов в Ozon?

Обычно 3-4: HR → технический → продуктовый кейс → finals. На senior+ может добавиться отдельный раунд по A/B и system thinking.

Сколько платят Data Analyst в Ozon (по Levels.fyi 26.05.2026)?

Total comp в год: L17 ~$24.6K (~183K/мес), L18 ~$42.8K (~320K/мес), L19 ~$54.7K (~410K/мес). RUB range 1.85M-4.1M+/год total, median 2.7M/год. ВАЖНОЕ открытие в данных Levels.fyi: stock-компонент = $0 на всех уровнях. Бонус до $8.5K/год. То есть почти всё в базе + bonus, без RSU (в отличие от Яндекса где RSU значительная часть).

Какие специфические темы Ozon?

Marketplace-метрики (GMV, take rate), фрод-аналитика, акции/промо. Понимание seller↔buyer mechanics. ClickHouse как обязательный.

Какие Python-задачи на скорость в Ozon («пулемёт»)?

По публичным источникам — несколько мелких задач подряд: проверить монотонность массива, проверить является ли число степенью двойки, посчитать количество слов в строке без split, простые арифметические задачи. Цель — оценить базовую алгоритмическую грамотность за минимальное время.

Как решать «большой файл не влезает в RAM» в Ozon?

Ожидаемый шаблон: открывать файл через `with open(...)`, итерироваться построчно (генератор `for line in file:`), накапливать через `collections.Counter`, на финале вызывать `.most_common(10)`. КЛЮЧЕВАЯ ошибка кандидатов: `file.readlines()` грузит весь файл в память — это сразу провал. Также есть тестовое задание Ozon на nodatanogrowth.com/test-tasks/ozon с похожими сценариями.

Источники

Полный гайд в блоге →

Другие компании

Яндекс · Т-Банк (Tinkoff) · Авито · Wildberries · VK · X5 Group · Сбер · Lamoda · МегаФон · Tutu.ru · Альфа-Банк