01 / тестовое задание

Самокат:
тестовое задание для продуктового аналитика

Реальное тестовое с собеседования на Intern Product Analyst: исходный текст задания, как решать и частые ошибки.

02 / оригинальный текст

Текст тестового задания

Исходный текст задания без редактуры — так, как его прислали кандидату.

При написании sql-запроса можно использовать любой синтаксис sql - MS SQL, mysql, Postgesql и так далее). Представим, что у нас есть 3 таблицы с данными:

orders (заказы): order_id - номер заказа Тип данных - integer warehouse_id - id склада Тип данных - integer delivered_at - время доставки Тип данных - timestamp created_at - время создания Тип данных - timestamp Поле order_id уникальное

order_lines (состав заказа): order_id - номер заказа Тип данных - integer product_id - id продукта Тип данных - integer quantity - кол-во штук в заказе Тип данных - integer

В одном заказе может быть несколько продуктов, следовательно для заказа может быть больше 1-й строки в этой таблице.

products (продукты): product_id - id продукта Тип данных - integer product_name - название продукта Тип данных - text Поле product_id уникальное

Задание #1

Написать sql-запрос, который выведет 5 лучших и 5 худших продуктов на каждом складе за последний месяц. Лучших и худших определяем по количеству проданных штук.

Задание #2

Написать sql-запрос, который считает долю опозданий от всех заказов в разбивке по дням. Опоздание — это когда между временем доставки и созданием заказа прошло более 15 минут.

Задание #3

У нас есть проблема: курьеры таскают очень тяжелые заказы. Мы решили сделать в приложении ограничение на заказ бутылок воды.

Есть список sku, ты можешь заказать каждый из них, но не больше 1 штуки. Раньше мог взять любое количество. Через 2 недели после запуска мы решили посмотреть, изменилось ли что-то.

Вопросы:

1. На какие метрики смотреть, чтобы оценить результаты?

2. Как пользователи могли обойти ограничение?

3. Как это проверить с помощью имеющихся трех таблиц (запрос не нужен, достаточно описать логику)?

03 / что проверяют

Что проверяет это задание

01

SQL

Выборки, агрегаты, джойны и оконные функции для анализа данных.

02

Продуктовый кейс

Разложить задачу, выбрать метрики и сделать выводы.

03

Аналитическое мышление

Как разложить задачу, выбрать подход и обосновать решение.

04 / как решать

Как подойти к решению

  1. 1

    Разберите условие: что именно просят посчитать и в каких разрезах.

  2. 2

    Сверьтесь с данными: какие таблицы есть, период и нужные фильтры.

  3. 3

    Решайте по шагам и фиксируйте промежуточные результаты и допущения.

  4. 4

    Доведите до финальных чисел и коротких выводов или рекомендаций.

05 / частые ошибки

Частые ошибки

  • Неверный период, разрез или единицы измерения.
  • Не учтены фильтры и сегменты из условия.
  • Решение без промежуточных шагов — только финальная цифра.
  • Нет выводов и рекомендаций по результату.
06 / хороший ответ

Каким должен быть сильный ответ

Хороший ответ — это не просто финальные числа или код. Работодатель должен увидеть, как вы думаете, как проверяете ограничения задачи и как оформляете результат.

  • короткое описание логики решения;
  • промежуточные таблицы, запросы и фильтры;
  • финальные значения по каждому пункту задания;
  • понятные выводы и рекомендации.
07 / похожие задания

Похожие задания

08 / разборы в telegram

Хочешь больше таких разборов?

В Telegram-канале разбираю тестовые с собеседований, метрики и типичные ошибки кандидатов.

Подписаться в Telegram →
09 / следующий шаг

Разбираешь тестовые, но не уверен в решении?

На интенсиве разбираем реальные кейсы, A/B-секции, метрики, SQL, Python и типовые ошибки кандидатов.