Программы
Подготовка к собеседованиямA/B-тесты для аналитиковML и Causal InferenceA/B-тесты для менеджеровОбучение для команд
Бесплатные материалы
База знаний185+ тестовых заданийRoadmap по A/BЧеклист A/B-тестаОтзывыО проектеОставить заявку
01 / тестовое задание

Rekor:
тестовое задание для позиции «Data Engineer»

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

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

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

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

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

Rekor — компания, работающая с данными в сфере транспорта. Данные приходят от множества провайдеров и сохраняются в datalake. Каждое событие-инцидент сохраняется с уникальным id, временем логирования (log_time), статусом (CREATED, CONFIRMED, REJECTED) и segment_id — участком дороги, на котором произошёл инцидент.

Задание #1 — SQL

Таблица Incidents: log_time, incident_id, status, segment_id. Таблица Account_segments: account_id, segment_id (например: Ayalon → a, e; Texas → b, c; California → d; New-York → g). Таблица Segment_metadata: segment_id, length_meters (a — 400, b — 500, c — 100, d — 150, e — 700).

BI-команде нужно найти все инциденты, которые были «живыми» (live) на участках, принадлежащих аккаунтам Ayalon, Texas и California. «Живой» инцидент — это инцидент в статусе CREATED или CONFIRMED. Результат должен содержать: incident_id, segment_id, segment_length, account_id. Напишите SQL-запрос.

Задание #2 — метод

Дан файл вида Time_stamp, incident_id, где у каждого инцидента два появления: первое — создание инцидента, второе — его завершение.

Напишите метод, который принимает путь к файлу и временную метку (timestamp) и выводит число «живых» инцидентов на эту дату. Например, для 2020-10-08 метод вернёт 5, для 2020-10-10 — 2.

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

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

01

SQL

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

02

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

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

03

Работа с данными

Аккуратная выборка, фильтрация и проверка ограничений задачи.

04 / как решать

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

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

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

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

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

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

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

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

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

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

08 / следующий шаг

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

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