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

Магнит:
тестовое задание для аналитика данных

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

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

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

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

Задание #1

Таблица заказов (orders):

Каждый заказ содержит один товар. Уникальный ключ – `order_id`.

Таблица цен и наименований товаров (items):

В этой таблице содержится история свойств товара, действующих с определённого момента. Уникальный ключ – `item_id` и `update_date`.

1. Выведите список `user_id`, которые сделали 7 заказов и более после 2022-03-01.

2. Выведите состояние (`item_id`, `item_name`, `price`) товаров на определённую дату – 2022-06-01.

3. Выведите список `order_id` и `item_name` только тех заказов, где купленный товар был по цене больше 3.

Задание #2

Таблица A имеет N строк, таблица B имеет M строк.

Величина [SELECT COUNT(*) FROM A INNER JOIN B ON A.id = B.id] какое минимальное и максимальное значение может принять?

Задание #3

Напишите алгоритм, который определяет, является ли строка палиндромом.

Тестовые примеры:

`s1 = «qwerewq»` # палиндром

`s2 = «qwerrewq»` # палиндром

`s3 = «erubsqw»` # не палиндром

`s4 = «r»` # палиндром

`s5 = «rr»` # палиндром

1. Реализуйте алгоритм на Python.

2. Проверьте его на тестовых примерах.

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

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

01

Python

Обработка данных и расчёты: pandas, скрипты, автоматизация.

02

SQL

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

03

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

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

04 / как решать

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

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

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

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

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

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

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

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

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

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

08 / разборы в telegram

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

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

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

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

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