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

Лиги Цифровой Экономики:
тестовое задание для аналитика

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

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

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

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

Данные к заданиюОткрыть данные →

Задание #1

Есть база объявлений orders состоящая из: номер объявления, владелец, дата публикации и дата снятия объявления, марка:

Задача 1. Для каждого пользователя вывести кол-во объявлений.

Задача 2. Для каждого пользователя вывести кол-во уникальных марок.

Задача 3. Для каждого пользователя вывести дату публикации первого опубликованного объявления.

Задача 4. Вывести дату первого снятия объявления.

Задача 5. Найти пользователей у которых есть заказы с маркой M1 и нет заказов с маркой M4.

Задача 6. Найти пользователей, которые размещают ТОЛЬКО ТАКОЙ ЖЕ НАБОР марок, как и u2.

Задача 7. В таблицах T1 и T2 4 и 5 строк соответственно. Какое min и max кол-во записей может быть, если сделать:

1. T1 inner join T2 (MIN =... MAX = …)

2. T1 left join T2 (MIN =… MAX =… )

3. T1 full outer join T2 (MIN =… MAX =… )

Задача 8. Написать скрипт для поиска дублей поля name в таблице table.

Задача 9. Написать скрипт для поиска четвёртого по величине уникального значения поля salary из таблицы table (необходимо использовать оконные функции).

Задача 10. В исходной таблице (table) одно поле date в формате DD.MM.YYYY, функция YEAR() возвращает год от даты: SELECT YEAR(date) AS Year_Date FROM table WHERE Year_Date >= 2019

Какая ошибка в данном запросе

Бонусное задание:

В исходной таблице table хранятся связки клиентов (client) и их типов (type), поле type может принимать только значения «a» или «b»:

Каким запросом возможно подсчитать кол-во уникальных клиентов в каждом типе при условии, что если клиент связан с обоими типами, то он относится к типу «a»?

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 и типовые ошибки кандидатов.