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

Сбер:
тестовое задание для инженера данных

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

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

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

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

В таблице 1 представлена витрина, хранящая информацию о режимах работы сотрудников Банка.

Таблица 1 – Режимы работы

tab_numstart_datefinish_datewday_type01wday_type02wday_type03wday_type04wday_type05wplace_typeend_da1512302.09.202031.12.999900000031.10.20201623420.09.202030.10.2020001102 1734528.09.202025.10.2020100002 1734526.10.202031.12.2020111111 1845602.09.202031.12.999922222330.09.20201956702.09.202031.12.2020333334

Задание #2

Необходимо преобразовать витрину из таблицы 1 к формату, представленному в таблице 3, по следующим правилам:

диапазон дат новой витрины: 01.09.2020 – 31.12.2020гг.;

по каждому табельному номеру должны быть представлены все даты из диапазона;

если finish_date == '31.12.9999', значит необходимо вместо него использовать значение поля end_da (только если оно не пусто);

значения флага to_be_at_office для каждой пары (табельный номер, дата) могут принимать только три допустимых значения (0, 1, null)

to_be_at_office == 0, когда сотрудник должен работать дома (не в офисе)

to_be_at_office == 1, когда сотрудник должен находиться в офисе (не дома)

to_be_at_office is null в 2-х случаях:

когда для сотрудника в таблице 1 отсутствует режим работы, покрывающий конкретную дату;

когда день недели – это сб или вс (выходной день).

особенности работы с режимами, для которых значения wplace_type принадлежат [3, 4]:

если wplace_type == 3, значит 1-я (даже неполная) неделя в рамках этого режима является полностью дистанционной, а вторая (уже точно полная) – в офисе. Чередование «Неделя через неделю» сохраняется вплоть до finish_date (end_da);

если wplace_type == 4, значит первые 2 недели в рамках этого режима являются полностью дистанционными, а вторая пара недель – офисными. Чередование «две недели через две» сохраняется вплоть до finish_date (end_da).

Таблица 3 – Целевой формат витрины с режимами работы

tab_numymd_dateto_be_at_office1512301.09.2020 1512302.09.202011512303.09.20201………1623421.09.202011623422.09.202011623423.09.202001623424.09.202001623425.09.20201………1734523.10.202011734524.10.2020 1734525.10.2020 1734526.10.202001734527.10.20200………1845602.09.202001845603.09.202001845604.09.202001845605.09.2020 1845606.09.2020 1845607.09.202011845608.09.202011845609.09.202011845610.09.202011845611.09.20201………

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

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

01

Pandas

Трансформация и агрегация табличных данных.

02

Python

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

03

SQL

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

04 / как решать

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

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

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

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

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

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

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

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

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

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

08 / разборы в telegram

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

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

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

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

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