Вопросы на собеседовании аналитика данных: блоки и задачи
Собеседование аналитика данных — это разговор о задачах, а не экзамен на память. Разберём блоки вопросов и логику ответов — от SQL до A/B-тестов.
- Что проверяют и чем отличаются уровни
- SQL: соединения и группировки
- SQL: оконные функции, дубли и пропуски
- Python и pandas: выгрузка и сводная таблица
- Статистика: среднее, медиана и гипотезы
- A/B-тесты: гипотеза, метрика, длительность
- Продукт, метрики, визуализация и хранилища
- Практическая часть и вопросы работодателю
Что проверяют и чем отличаются уровни
От Джуна ждут уверенного SQL и базовых метрик: он сам пишет запрос и замечает пропуски в выгрузке. От Мидла — самостоятельности: метрика, A/B-тест, испорченные данные. Сеньору дают задачу без постановки.
Общий знаменатель один: думайте вслух. Проговаривайте допущения, называйте альтернативы и честно помечайте то, чего ещё не знаете. Молчаливый верный ответ проигрывает рассуждению, где вы сами нашли и поправили ошибку.
- пример вопроса: как вы считали метрику, которую защищали, и что сделали бы иначе
- пример вопроса: заказчик просит цифру к вечеру, а надёжные данные будут завтра — что вы ответите
SQL: соединения и группировки
SQL — основной блок, и он почти всегда практический: дают две-три таблицы и просят написать запрос. Соединения проверяют на понимании, что LEFT JOIN сохраняет все строки левой таблицы, а INNER JOIN молча выкидывает всё без пары.
Вопрос «сколько пользователей сделали заказ» — ловушка: через INNER JOIN вы потеряете тех, кто не купил. Считайте через LEFT JOIN и COUNT(DISTINCT o.user_id) и проговорите выбор. И помните: COUNT(*) считает строки, а COUNT(column) пропускает NULL.
- пример вопроса: для каждого месяца выведите активных пользователей и средний чек
- чем HAVING отличается от WHERE и где тут прячется ошибка в отчёте?
SQL: оконные функции, дубли и пропуски
Оконные функции отделяют Мидла от Джуна. Классика — «выведите последний заказ каждого пользователя»: нужен ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY created_at DESC) и фильтр rn = 1.
Дубли ищут через GROUP BY по ключу с HAVING COUNT(*) > 1, а дальше решают, удалять их или помечать. Пропуски видны обратным соединением: календарь дат LEFT JOIN факты, где факт IS NULL. Метрику считайте, проговаривая числитель и знаменатель: половина ошибок — путаница в знаменателе.
- пример вопроса: найдите пользователей с двумя аккаунтами по одному номеру телефона
- посчитайте накопительную выручку по дням внутри каждого региона
Python и pandas: выгрузка и сводная таблица
Python спрашивают мягче, но проверяют, что вы не боитесь выгрузки на миллион строк: прочитать файл, посмотреть типы, привести даты к datetime, разобраться с пропусками и понять, почему после merge строк стало больше.
Дальше группировка: groupby по пользователю с agg по числу заказов и сумме. Сводная таблица нужна, когда просят матрицу «месяцы на пользователей», — pd.pivot_table с values, index и aggfunc решает её в одну строку.
- пример вопроса: в колонке суммы много пустых значений — что вы сделаете и что скажете заказчику
- как из длинной таблицы сделать широкую, не потеряв строки?
Статистика: среднее, медиана и гипотезы
Статистику спрашивают через бизнес-язык: средний чек вырос, а клиенты жалуются — как так? Ответ про выбросы и медиану: среднее тянет длинный хвост, медиана устойчива, и честнее показать оба числа.
Дальше распределения и проверка гипотез: нулевая гипотеза, уровень значимости, мощность, размер выборки, доверительный интервал как диапазон для истинного эффекта. p-value читают неверно чаще всего: он показывает, насколько данные несовместимы с нулевой гипотезой, и молчит о размере эффекта.
- пример вопроса: среднее время доставки — 40 минут, медиана — 25: что покажете руководству
- почему маленькое p-value не значит, что эффект важен для продукта?
A/B-тесты: гипотеза, метрика, длительность
A/B-тест — задача на структуру. Сначала гипотеза, потом метрика: одна главная, несколько вторичных и guardrail-метрики, которые не должны упасть. Длительность считают заранее — от эффекта, разброса метрики и объёма трафика.
Останавливать тест, как только он показал плюс, нельзя: поймаете случайный всплеск. Если трафика не хватает — три пути: увеличить срок, укрупнить метрику, провести квазиэксперимент.
- пример вопроса: главная метрика выросла, guardrail упала — запускаете?
- тест идёт неделю и показывает плюс на грани значимости: можно ли останавливать?
Продукт, метрики, визуализация и хранилища
Продуктовые метрики — про логику: воронка с конверсиями между шагами, когорты по месяцу первой покупки, удержание с уточнением, что считаете возвратом. Без этого спорят о цифрах, а не о продукте.
Визуализацию выбирают от задачи: сравнение — столбцы, динамика — линия, распределение — гистограмма, связь — рассеяние. Не начинайте ось Y с произвольного значения: так рождается рост, которого нет. Хранилище обсуждают на уровне идей: сырой слой, очищенный слой, витрины и регулярные загрузки с проверкой полноты.
- пример вопроса: почему удержание по неделям падает, хотя выручка растёт?
- как вы узнаете, что ночная загрузка прошла успешно?
Практическая часть и вопросы работодателю
Практическая задача почти никогда не решается с ходу, и это нормально. Проговорите план: какие таблицы нужны, какой ключ, что идёт в числитель и знаменатель, какие допущения вы берёте. Пишите код по шагам и проверяйте себя на пяти строках.
Если решение не идёт — не молчите: скажите, где застряли, и предложите упрощение. Поведенческие вопросы разбирайте схемой «ситуация — действие — результат — вывод», а в конце спросите про данные, процессы и ожидания от первых месяцев.
- пример вопроса: расскажите про ошибку в отчёте, которую нашли вы сами
- что вы спросите у руководителя про данные и метрики команды?
Что сделать: короткий чеклист
- Решите тридцать задач на соединения, группировки и оконные функции на своих таблицах.
- Соберите шпаргалку по pandas: типы, пропуски, groupby, pivot_table, merge.
- Перечитайте про p-value, мощность и доверительные интервалы и объясните их вслух простыми словами.
- Разберите два своих проекта по схеме «гипотеза — метрика — результат — вывод».
- Пройдите бесплатную диагностику уровня из 20 вопросов и закройте слабые темы на курсах.
- Отрепетируйте вопросы работодателю про данные, процессы и метрики команды.
Где тренировать
Темы из гайда разобраны в тестах портала — каждый вопрос с объяснением ответа:
- Тесты по SQL для аналитика данных
- Статистика и A/B-тесты: вопросы с разбором
- Python для аналитиков: практические задачи
- Вопросы для роли аналитика данных — Data-аналитик
- Вопросы уровня Джун — Тесты для уровня Джун
Готовиться к собеседованию аналитика данных быстрее, когда вы отвечаете на вопросы и сразу видите разбор. Начните с бесплатной диагностики уровня из 20 вопросов, затем возьмите экзамен по уровню или режим «Собеседование» с адаптивной сложностью. Вводная тема каждого курса открыта без регистрации, а полный доступ идёт по подписке: 590 ₽ в месяц, 3 990 ₽ в год или 7 490 ₽ навсегда, автоматических списаний нет. Это тренажёр для подготовки, а не сертификация, и гарантий трудоустройства он не даёт.
Диагностика из 20 вопросов покажет ваш уровень и темы, которые стоит подтянуть. Вводная тема любого курса открыта бесплатно и без регистрации.
Создать аккаунт — вводная тема бесплатна Пройти демо-тест без регистрации