Перейти к содержимому

Вопросы на собеседовании аналитика данных

Команда Workbit · · 25 мин чтения · 55 вопросов

Собеседование аналитика данных обычно строится вокруг SQL, Excel и разбора метрик, и мы собрали вопросы, которые чаще всего задают по этим темам, вместе с ответами, которых ждёт интервьюер.

Что проверяют на собеседовании аналитика данных

Работодателю нужно понять, сможете ли вы сами достать данные, проверить их и объяснить вывод так, чтобы по нему приняли решение. Обычно для этого смотрят на шесть вещей.

  1. 1Запросы на SQL. Обычно на техническом интервью просят соединить таблицы, сгруппировать данные и не потерять строки с пустыми значениями. Эти вопросы собраны в разделе о SQL.
  2. 2Excel и отчёты. Во многих компаниях аналитик живёт в Excel и Power BI, поэтому могут спросить про ВПР, сводные таблицы и дашборды. Об этом рассказывает раздел об Excel и Power BI.
  3. 3Python и работа с данными. От кандидата ждут, что он умеет соединить таблицы в pandas и заметит дубли и пропуски до того, как начнёт считать. Такие вопросы разобраны в разделе о Python и pandas.
  4. 4Статистика и эксперименты. Если вакансия связана с продуктом, могут спросить про p-value, ошибки первого и второго рода и про то, как устроен A/B-тест. Им посвящены разделы о статистике и об A/B-тестах.
  5. 5Продуктовое мышление. Вам могут назвать метрику, которая вчера упала, и попросить найти причину. Метрики и такие задачи разобраны в разделах о метриках и о кейсах.
  6. 6Работа с заказчиком. Аналитик полезен, только если его вывод поняли и приняли, поэтому могут спросить, как вы объясняете результат и что делаете, когда с ним не согласны. Эти вопросы собраны в разделе об опыте и мотивации.

Как проходит собеседование на аналитика данных

Обычно отбор идёт в несколько шагов:

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

Перед техническим интервью иногда дают тест на логику, статистику, SQL и Python. Тестовое задание бывает до встречи, после неё, а бывает, что его нет совсем. На самом интервью SQL часто пишут прямо на месте по схеме таблиц, а продуктовый кейс разбирают в разговоре. Требования к дата-аналитику в разных компаниях отличаются, и один этап может быть почти целиком про Excel.

Вопросы по SQL

11 вопросов

Чем INNER JOIN отличается от LEFT JOIN?

Вопрос простой, но от типа соединения зависит, какие строки молча не попадут в отчёт.

INNER JOIN оставляет только строки, у которых нашлась пара в обеих таблицах. LEFT JOIN сохраняет все строки левой таблицы, а там, где пары нет, ставит NULL в столбцы правой. Если соединить клиентов с заказами через INNER JOIN, клиенты без заказов исчезнут, а через LEFT JOIN останутся с пустыми полями заказа.

Что случится с LEFT JOIN, если условие на правую таблицу перенести из ON в WHERE?

Так отчёт «по всем клиентам» молча теряет часть строк, и ошибку замечают уже по цифрам.

Условие в ON проверяется во время соединения, а WHERE фильтрует уже готовый результат. Если после LEFT JOIN написать «WHERE o.status = 'paid'», клиенты без заказов отпадут, потому что у них status равен NULL, и LEFT JOIN по сути превратится в INNER. Чтобы сохранить всех клиентов, условие пишут в ON: «LEFT JOIN orders o ON o.client_id = c.id AND o.status = 'paid'».

Чем WHERE отличается от HAVING?

Ответ легче запомнить, если держать в голове порядок выполнения запроса.

WHERE отбирает строки до группировки, а HAVING отбирает группы после того, как посчитаны агрегаты. Это следует из порядка выполнения запроса: сначала FROM и WHERE, потом GROUP BY и HAVING и только затем SELECT. Клиентов, у которых больше трёх оплаченных заказов, найдёт запрос «SELECT client_id, COUNT(*) FROM orders WHERE status = 'paid' GROUP BY client_id HAVING COUNT(*) > 3».

Частая ошибка. написать условие на COUNT или SUM в WHERE, и запрос упадёт с ошибкой.

Почему условие «= NULL» не находит строки с пустым значением?

Пустые значения встречаются во многих выгрузках, а ошибка с ними даёт неверные цифры без всякого сообщения.

NULL означает, что значение неизвестно, поэтому сравнение «phone = NULL» даёт не «истину», а тоже NULL, и строка в результат не попадает. Пустые значения ищут через «IS NULL» и «IS NOT NULL». С агрегатами похожая история: «COUNT(*)» считает все строки, а «COUNT(phone)» только те, где телефон заполнен.

Как вывести всех клиентов и сумму их оплат, если у части клиентов оплат не было?

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

«SELECT c.id, COALESCE(SUM(p.amount), 0) AS paid_total FROM clients c LEFT JOIN payments p ON p.client_id = c.id AND p.status = 'paid' GROUP BY c.id». LEFT JOIN сохраняет клиентов без оплат, условие на статус стоит в ON, а COALESCE превращает пустую сумму в ноль.

Чем оконная функция отличается от GROUP BY?

Оконные функции нужны в отчётах с рейтингами и динамикой, а без них такие задачи приходится решать громоздкими подзапросами.

GROUP BY схлопывает строки группы в одну, а оконная функция считает значение по набору строк и оставляет каждую строку на месте. Например, «SUM(amount) OVER (PARTITION BY client_id)» добавит к каждому заказу общую сумму покупок клиента, и сами заказы из результата не исчезнут.

Как посчитать скользящее среднее выручки за последние 7 дней?

В задаче важнее всего рамка окна, а условие про строку на каждый день стоит проговорить вслух.

Если в таблице по строке на каждый день без пропусков, подойдёт запрос «SELECT day, AVG(revenue) OVER (ORDER BY day ROWS BETWEEN 6 PRECEDING AND CURRENT ROW) AS avg_7d FROM daily_revenue». Рамка берёт текущую строку и шесть предыдущих, а ORDER BY задаёт, какие строки считаются предыдущими.

Чем ROW_NUMBER отличается от RANK и DENSE_RANK?

Разница видна только на одинаковых значениях, и ответ лучше показать на примере.

ROW_NUMBER нумерует строки подряд, даже если значения равны. RANK даёт равным одинаковый ранг и пропускает следующие номера, а DENSE_RANK пропусков не делает. Для сумм 500, 500 и 300 ROW_NUMBER выдаст 1, 2, 3, RANK выдаст 1, 1, 3, а DENSE_RANK выдаст 1, 1, 2. Если нужен строгий топ-3, берут ROW_NUMBER, потому что остальные функции при равенстве значений вернут больше строк.

Как оставить по одной последней записи на каждого пользователя?

Так чистят дубли в логах и снимают «последний статус».

Пронумерую записи внутри каждого пользователя от новой к старой и оставлю первую: «SELECT * FROM (SELECT *, ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY created_at DESC, id DESC) AS rn FROM events) t WHERE rn = 1». Второй ключ сортировки нужен на случай одинакового времени, иначе запрос будет возвращать разные строки от запуска к запуску.

Частая ошибка. убирать дубли через DISTINCT. Он скрывает лишние строки, но не объясняет, откуда они взялись, например после соединения с таблицей, где на одного пользователя несколько записей.

Зачем нужен CTE?

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

CTE — это именованный подзапрос, который объявляют через WITH в начале запроса, и он живёт только в рамках этого запроса. Так каждый шаг расчёта получает имя: сначала «paid_orders», потом «client_totals», потом итоговый SELECT.

Что такое схема «звезда»?

Если в компании есть хранилище данных, аналитик пишет запросы к его таблицам, и устройство схемы помогает не путаться в них.

В центре схемы стоит таблица фактов с событиями и числами, например продажи с суммой и количеством. Вокруг неё лежат таблицы измерений с описаниями: товары, клиенты, даты, магазины. Факты ссылаются на измерения по ключам. Если измерения дополнительно разбить на связанные таблицы, получится «снежинка».

Любую из тем этой статьи, начиная с SQL, можно отработать отдельно в тренировке с ИИ.

Начать тренировку

Вопросы по Excel и Power BI

Вопросы по Excel и Power BI задают, когда аналитику предстоит готовить отчёты для бизнеса.

8 вопросов

Чем ВПР отличается от ПРОСМОТРX?

ВПР спрашивают и у начинающих, а разницу с другими способами поиска чаще обсуждают с опытными кандидатами.

ВПР ищет значение только в первом столбце диапазона и возвращает данные из столбцов правее. ПРОСМОТРX ищет в любом столбце, возвращает значение слева или справа, по умолчанию ищет точное совпадение и умеет выводить свой текст вместо ошибки #Н/Д. В Excel 2016 и 2019 ПРОСМОТРX нет, поэтому там используют связку ИНДЕКС и ПОИСКПОЗ, которая тоже ищет в любую сторону.

Для чего нужны сводные таблицы?

С новой выгрузкой в Excel аналитик обычно начинает именно со сводной таблицы.

Сводная таблица считает итоги по выбранным разрезам без формул. Из выгрузки продаж быстро получится выручка по месяцам и категориям. Срезы позволяют фильтровать отчёт кнопками, а расчётные поля добавляют показатели вроде доли или маржи.

Зачем нужен Power Query, если есть формулы?

Отчёт, который каждую неделю собирают руками, рано или поздно соберут с ошибкой.

Power Query подключается к файлам, базам и другим источникам, чистит и объединяет таблицы и записывает каждый шаг обработки. Когда приходит новая выгрузка, отчёт обновляется одной кнопкой, и не нужно заново удалять дубли и править форматы.

В выгрузке продаж за месяц удалите дубли, добавьте столбец маржи и постройте сводную по категориям.

Это типичное тестовое на Excel. На удалении дублей легко потерять нужные строки, поэтому итог стоит сверить с исходными данными.

Сначала разберусь, что считать дублем: полностью одинаковые строки или повтор номера заказа. Удалю дубли и сверю, сколько строк ушло. Потом добавлю столбец маржи как разницу выручки и себестоимости и построю сводную, где в строках категории, а в значениях сумма выручки и маржи. В конце сравню итог сводной с суммой по исходному столбцу.

Как выбрать тип графика?

Выбор типа графика начинается с вопроса, что именно нужно сравнить.

Тип графика зависит от вопроса. Категории сравнивают столбцами, динамику показывают линией, а круговую диаграмму берут, только чтобы показать долю целого, и только когда категорий немного.

Как понять, что в дашборд пора перестать добавлять графики?

Дашборд, на котором собрано всё, превращается в кашу, а просьбы добавить «ещё один график на всякий случай» всё равно появляются.

Перед сборкой я выясняю, какое решение будет приниматься по дашборду и кто его смотрит. Каждый график должен отвечать на один из этих вопросов. Если просят график, который ни на что не отвечает, предлагаю вынести его в отдельный отчёт с детализацией, потому что один понятный дашборд по теме полезнее десяти.

Что вы проверите в дашборде, прежде чем отдать его заказчику?

Ошибка в дашборде может вскрыться уже на совещании у руководителя, и проверить работу лучше до того.

Сверю цифры с источником и с ожиданиями заказчика: если выручка вдвое больше привычной, сначала ищу ошибку у себя. Проверю, что фильтры работают так, как подписано, а пропуски в данных не замазаны соединённой линией. В конце дам будущему пользователю решить на дашборде пару реальных задач.

Чем мера отличается от вычисляемого столбца в Power BI?

Без этой разницы трудно написать формулу на DAX, языке формул Power BI, которая правильно работает с фильтрами отчёта.

Вычисляемый столбец считается для каждой строки таблицы при обновлении данных и хранится в модели, например маржа по каждой продаже. Мера считается в момент показа, с учётом фильтров и разрезов отчёта, например общая выручка за выбранный месяц и регион. Поэтому итоги и доли, которые должны меняться вместе с фильтрами отчёта, считают мерами.

Вопросы по Python и pandas

Python спрашивают не на каждой вакансии, но если он есть в требованиях, вопросы обычно про pandas и подготовку данных.

6 вопросов

Чем loc отличается от iloc?

Синтаксис легко выучить, а путаница начинается после фильтрации, когда индекс таблицы идёт с пропусками.

loc выбирает строки и столбцы по меткам, а iloc выбирает их по порядковым номерам. После фильтрации индекс таблицы идёт с пропусками, например 0, 3, 7, и тогда «df.loc[3]» вернёт строку с меткой 3, а «df.iloc[1]» вернёт вторую строку по порядку, то есть ту же самую.

Чем merge отличается от concat?

Обе функции «объединяют таблицы», и их часто путают.

merge соединяет таблицы по ключу, как JOIN в SQL, а параметр how задаёт тип соединения: inner, left, right или outer. concat склеивает таблицы друг под другом или рядом без поиска совпадений, например выгрузки за январь и февраль с одинаковыми столбцами.

Почему после merge строк стало больше, чем было в таблице?

Строки в результате соединения размножаются незаметно, и сумма выручки после такого merge вырастет без всякой причины в данных.

Значит, ключ не уникален. Если у одного клиента три строки в одной таблице и две в другой, merge выдаст по нему шесть строк, все сочетания. Перед соединением проверю уникальность ключа, а в самом merge поставлю «validate='many_to_one'», и pandas выдаст ошибку, если справа ключ повторяется.

Как посчитать несколько показателей по группам в pandas?

Это тот же GROUP BY из SQL, только записанный средствами pandas.

Через groupby и agg: «df.groupby('city').agg(orders=('order_id', 'count'), revenue=('amount', 'sum'))». Так за один проход получится и число заказов, и выручка по каждому городу, а имена новых столбцов задаются сразу.

Как найти и обработать пропуски в данных?

Универсального способа нет, и выбор зависит от того, откуда взялись пропуски.

Посчитаю пропуски по столбцам через «df.isna().sum()» и посмотрю, случайны ли они. Если их мало и они разбросаны случайно, строки можно удалить через dropna. Если пропусков много, заполню медианой или самым частым значением через fillna, а во временном ряду соседним значением.

Что вы проверите в данных, прежде чем начать анализ?

На собеседовании данные нередко дают грязными нарочно, и сильный кандидат сначала задаёт вопросы о них, а уже потом пишет код.

Проверю, свежие ли данные и пришли ли они целиком, ведь успешная загрузка ещё не значит, что источник не был пустым. Посмотрю на дубли, пропуски и форматы дат. Потом проверю данные на здравый смысл: нет ли отрицательного количества товара и пропусков только по выходным.

Вопросы по статистике

Статистику обычно спрашивают, когда вакансия связана с продуктом и экспериментами.

8 вопросов

Когда медиана полезнее среднего?

Среднее легко сдвигают несколько крупных значений, поэтому от аналитика ждут, что он сначала посмотрит на распределение.

Когда в данных длинный хвост или выбросы. Медиана — это середина ряда, и несколько огромных значений на неё почти не влияют, а среднее тянется к ним. Если у большинства сотрудников зарплата около 100 тысяч, а у двух директоров по миллиону, среднее покажет «типичную» зарплату, которую почти никто не получает. Поэтому сначала смотрю на распределение, а потом выбираю показатель.

Чем дисперсия отличается от стандартного отклонения?

Оба показателя говорят о разбросе, но только один можно сравнить с самими данными.

Дисперсия — это средний квадрат отклонения от среднего, поэтому она выражена в квадратных единицах, например в рублях в квадрате. Стандартное отклонение — корень из дисперсии, оно в тех же единицах, что и данные, и его проще объяснить. Оба показателя чувствительны к выбросам.

Что вы сделаете с выбросами в данных?

Выброс бывает ошибкой выгрузки, а бывает крупным клиентом, ради которого и работает бизнес.

Сначала найду их, например через ящик с усами или по отклонению больше трёх стандартных отклонений от среднего. Потом разберусь, ошибка это или реальное значение. Ошибку исправлю или уберу, а реальные значения оставлю или ограничу общим порогом. Если это A/B-тест, порог задаю один для обеих групп, потому что при отдельной чистке групп растёт число ложных срабатываний.

О чём говорит центральная предельная теорема?

Теорему легко понять как «данные должны быть нормальными», хотя она говорит о распределении средних.

Если брать много выборок и считать по каждой среднее, распределение этих средних с ростом выборки приближается к нормальному, даже когда сами данные скошены, как доходы или чеки. Поэтому для t-теста в A/B-эксперименте нормальность самих данных не требуется, достаточно большой выборки.

Что такое p-value?

Определение помнят многие, а объяснить, что из него следует для решения, получается не у всех.

p-value — это вероятность получить такой же или ещё более сильный результат, если на самом деле эффекта нет. Если p-value меньше выбранного заранее уровня значимости, обычно 0,05, разницу считают статистически значимой. Вероятность того, что гипотеза верна, p-value не показывает.

Чем ошибка первого рода отличается от ошибки второго рода?

В бизнесе обе ошибки стоят денег. Из-за ошибки первого рода раскатывают бесполезную фичу, а из-за ошибки второго рода упускают улучшение. С ошибкой второго рода связана мощность теста, то есть вероятность найти эффект, если он есть.

Ошибка первого рода — увидеть эффект, которого нет, то есть отвергнуть верную нулевую гипотезу. Её вероятность и есть уровень значимости, например 5%. Ошибка второго рода — не заметить эффект, который есть.

Как объяснить доверительный интервал человеку без статистики?

Руководителю важно понять, насколько можно доверять цифре, и формула ему в этом не поможет.

«Средний чек по выборке 1 500 рублей, но это оценка по части покупателей. Интервал от 1 420 до 1 580 рублей — диапазон, в котором с надёжностью 95% лежит настоящий средний чек всех покупателей. Чем больше данных, тем уже этот диапазон».

Тест на болезнь с высокой точностью дал положительный результат, а болеет один человек из тысячи. Какова вероятность, что человек болен?

Это классическая задача на формулу Байеса. Числа в ней условные, а ловушка в том, насколько редка сама болезнь.

Если тест ошибается в 1% случаев, то из 1 000 человек болен один, и тест его, скорее всего, найдёт. Ещё примерно у 10 здоровых тест ошибочно окажется положительным. Значит, среди 11 положительных результатов болен один, и вероятность около 9%.

Вопросы о продуктовых метриках

О метриках спрашивают, чтобы понять, видите ли вы за цифрами поведение пользователей.

6 вопросов

Что показывает отношение DAU к MAU?

Аудитория может расти, а пользователи при этом заходить всё реже, и это отношение помогает такое заметить.

DAU — это число уникальных пользователей за день, а MAU считает их за месяц. Их отношение называют stickiness, оно показывает, как часто месячная аудитория возвращается. Если DAU 5 000, а MAU 50 000, stickiness равен 10%.

Как посчитать retention 7-го дня по когортам?

Общий retention по всем пользователям смешивает старых и новых, а когорты делят их по дате первого входа.

Разобью пользователей на когорты по дню первой активности. Для каждой когорты посчитаю, какая доля вернулась на седьмой день после первого входа. В SQL это первый день пользователя через «MIN(event_date)» в CTE, соединение с событиями и деление числа вернувшихся на размер когорты.

Чем ARPU отличается от ARPPU?

Знаменатель у этих показателей разный, и ответ лучше дать формулой.

ARPU — это выручка, делённая на всех пользователей за период, ARPPU — выручка, делённая только на платящих. Они связаны: ARPU равен ARPPU, умноженному на долю платящих.

Как посчитать LTV?

Пользователи, пришедшие в разные месяцы, ведут себя по-разному, поэтому LTV удобнее считать по когортам.

LTV — это сколько денег в среднем приносит пользователь за всё время, пока он пользуется продуктом. Простой способ — взять когорту и сложить выручку от неё за каждый месяц жизни, а потом разделить на размер когорты. Сравнение когорт показывает, растёт ли ценность новых пользователей.

Как может быть, что конверсия в покупку выросла, а выручка упала?

Конверсия — только один множитель выручки, и ответ строится на остальных.

Выручка равна трафику, умноженному на конверсию и на средний чек. Конверсия выросла, значит, просел другой множитель: стало меньше посетителей или упал средний чек. Один из возможных сценариев связан со скидками: они поднимают конверсию, но часть покупок случилась бы и без скидки, поэтому выручка может упасть.

Почему нельзя считать эффектом промокода разницу между теми, кто его применил, и остальными?

В оценке акций легко принять связь двух событий за причину.

Промокод чаще применяют те, кто и так активно покупает, поэтому такие группы различаются ещё до акции. Разница между ними покажет вовлечённость, а не эффект промокода. Причину проверяют экспериментом со случайной контрольной группой. Если его не провели, используют квазиэксперименты, например сравнение динамики до и после акции с похожей группой, и прямо называют допущения.

Вопросы по A/B-тестам

A/B-тесты спрашивают на продуктовые позиции, и вопросы часто строят вокруг ошибок, которые легко сделать в реальном эксперименте.

5 вопросов

Как вы спроектируете A/B-тест новой функции?

Исправить ошибку в дизайне теста после запуска трудно, и план описывают заранее.

Гипотезу и целевую метрику, которую должна сдвинуть функция, определю до запуска. Добавлю защитные метрики, которые нельзя уронить, например отмены или жалобы. Посчитаю размер выборки и длительность, договорюсь о правиле остановки и о сегментах, которые будем смотреть.

От чего зависит размер выборки в A/B-тесте?

Если эту цифру не посчитать заранее, тест останавливают на глаз, и результату трудно доверять.

От уровня значимости, мощности, разброса метрики и минимального эффекта, который хотим заметить, то есть MDE. Чем меньше эффект мы хотим поймать и чем больше разброс метрики, тем больше нужно пользователей. Поэтому MDE согласуют с бизнесом до запуска, чтобы понять, какой рост вообще стоит внедрения.

Почему нельзя остановить тест, как только результат стал значимым?

Желание закончить тест пораньше понятно, особенно когда цифры уже зелёные.

Каждый раз, когда мы проверяем результат по ходу теста, растёт шанс случайно поймать «значимость» без реального эффекта. При частых проверках ложные срабатывания случаются в разы чаще заложенных 5%. Поэтому правило остановки фиксируют заранее, а если проверять по ходу всё-таки нужно, используют методы с поправкой на повторные проверки.

Что вы сделаете, если в тесте с делением 50 на 50 в группы попало 45 и 55% пользователей?

С такой разбивкой результату теста верить нельзя, пока не найдена причина расхождения.

Это SRM, расхождение размера групп с планом. Проверю его критерием хи-квадрат. Если оно значимо, результат интерпретировать не буду, пока не найду причину, потому что попадание в группу зависит от неизвестного фактора, который может влиять и на метрику. Искать стоит в механизме разбиения, в условиях попадания в тест, в фильтрах и в логировании, а смотреть удобно в разрезах платформы и версии приложения.

Можно ли раскатывать изменение, если из десяти метрик теста значимо выросла одна?

Чем больше метрик и вариантов в тесте, тем выше шанс, что одна из них «прокрасится» случайно.

Без поправки на множественные сравнения нельзя, потому что при десяти независимых проверках на уровне 5% шанс хотя бы одной ложной находки около 40%. Бонферрони делит уровень значимости на число проверок, метод Холма даёт тот же контроль с меньшей потерей мощности, а Бенджамини-Хохберг контролирует долю ложных находок, когда гипотез много.

Кейсы на собеседовании аналитика данных

Кейс обычно разбирают в разговоре, и в нём смотрят, как вы раскладываете проблему и в каком порядке проверяете гипотезы.

3 вопроса

Что вы будете делать, если вчера DAU упал на 15%?

Плохой ответ — сразу искать виноватую фичу. Хороший начинается с проверки, не сломались ли сами данные.

Сначала проверю, не сломался ли сбор событий и пришли ли данные за весь день. Потом сравню с тем же днём неделю назад и учту праздники и сезонность. Дальше найду, где именно падение, в разрезах платформы, версии приложения, региона и источника трафика, и проверю технические сбои. Изменения в продукте и маркетинге смотрю последними.

Как разложить выручку сервиса доставки еды на метрики?

Декомпозиция нужна, чтобы разговор о росте выручки шёл от конкретных рычагов.

Начну с цели, то есть с выручки, и разложу её на число заказов и средний чек. Заказы — это активные пользователи, умноженные на частоту заказов, а пользователи — это новые плюс вернувшиеся. Средний чек равен числу позиций в заказе, умноженному на среднюю цену позиции.

Какое решение вы примете, если тест пейволла в одной стране дал рост выручки, а в другой нет?

Цифры теста здесь только начало, ведь решение потом придётся защищать перед бизнесом.

Проверю, значимы ли результаты в каждой стране и хватило ли выборки во второй. Если в первой эффект значим, а во второй тест просто не набрал данных, раскатаю в первой и продолжу тест во второй. Если во второй эффект достоверно нулевой или отрицательный, поищу причину в различиях стран: цены, платёжные привычки, состав аудитории.

Вопросы об опыте и мотивации

Здесь собраны вопросы о вашем опыте, ошибках, мотивации и зарплатных ожиданиях.

8 вопросов

Расскажите о себе.

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

«Два года работаю аналитиком в интернет-магазине. Пишу запросы на SQL, собираю отчёты в Power BI и считаю результаты A/B-тестов. Последний большой проект — анализ оттока по когортам: я нашёл, что треть ушедших клиентов не дошла до второго заказа из-за долгой доставки, и мы запустили бесплатную доставку второго заказа. Хочу больше работать с экспериментами, поэтому меня заинтересовала ваша вакансия».

Расскажите о проекте, который сильнее всего повлиял на решение бизнеса.

Голая схема «ситуация, задача, действие, результат» для аналитика звучит как ответ менеджера, поэтому рассказывают и о технической части, то есть о том, какой метод выбрали и почему.

«Продакт хотел понять, нужна ли новая лента рекомендаций. Я спроектировал A/B-тест на две недели с конверсией в заказ как целевой метрикой и отменами как защитной. Конверсия выросла, отмены не изменились, и ленту раскатили на всех».

Расскажите о своей ошибке в анализе.

Ошибка ценна выводом, который вы из неё сделали.

«Я посчитал рост конверсии после редизайна и не заметил, что в тот же период стартовала скидочная акция. Руководитель спросил про акцию, и вывод пришлось пересчитать. С тех пор перед любым сравнением до и после я проверяю календарь акций и релизов».

Почему вы хотите работать аналитиком данных?

Интерес к продукту компании говорит о мотивации больше, чем общие слова о профессии.

Расскажу, какие задачи в аналитике мне интересны и почему именно в этой компании: например, что я пользуюсь их сервисом и хотел бы разбираться, почему пользователи возвращаются или уходят.

Как вы расскажете о результатах анализа руководителю за пару минут?

Анализ, который не поняли, не превратится в решение, поэтому вывод формулируют на языке бизнеса.

Начну с вывода и рекомендации в двух-трёх предложениях, а цифры и метод оставлю на вопросы. Например: «Новая форма оплаты подняла конверсию на 3%, эффект значимый. Рекомендую оставить её для всех. Подробный расчёт и ограничения могу показать».

Что вы сделаете, если заказчик не согласен с вашим выводом?

Плохие ответы здесь два: защищаться любой ценой или сразу сдаться.

Выясню, на чём основано несогласие, и, если заказчик нашёл изъян в анализе, пересмотрю вывод. Если изъяна нет, разделю, что известно точно, что вероятно, а что пока открыто, и предложу, как проверить спорную часть и сколько это займёт. «Не знаю» без плана проверки звучит как отписка, а с планом проверки звучит как честный ответ.

Почему вы уходите с текущего места?

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

Назову причину фактами и без эмоций: «Компания небольшая, и аналитика там сводится к отчётам. Я хочу работать с экспериментами и продуктом, а на текущем месте таких задач нет».

На какую зарплату вы рассчитываете?

Слишком высокая цифра может закончить разговор, а слишком низкая заставит усомниться в вашем уровне.

Заранее подготовлю три цифры: минимум, комфортный уровень и рыночный уровень для похожих вакансий. Назову цифру чуть выше рыночной или минимум, оговорив, какой уровень для меня комфортен. Деньги предложу обсудить после разговора о задачах.

Что спросить у работодателя

Вопросы работодателю помогают проверить, совпадает ли работа с описанием вакансии. Спрашивайте о том, на что можно ответить фактом.

  • Какие задачи я буду решать в первые месяцы? Ответ покажет, чем вы будете заниматься на деле и совпадает ли это с вакансией.
  • По каким критериям оценят мою работу на испытательном сроке? Если цели и критерии назвать не могут, результат будут оценивать на глаз.
  • Сколько человек в команде аналитики и кому я буду подчиняться? Если вы окажетесь единственным аналитиком, это повод насторожиться: учиться будет не у кого.
  • Как в компании помогают расти? Хороший ответ звучит конкретными примерами: обучение, наставник, переход на следующий грейд.
  • Какой график и бывают ли переработки? По ответу видно, считают ли здесь переработки нормой.

Как подготовиться к собеседованию на аналитика данных

  1. 1Повторите SQL. Прорешайте задачи на JOIN, группировки, NULL и оконные функции.
  2. 2Посчитайте retention по когортам на любых открытых данных, потому что в этой задаче сходятся SQL и продуктовые метрики.
  3. 3Соберите один дашборд под конкретный вопрос и попробуйте объяснить, зачем на нём каждый график.
  4. 4Повторите статистику эксперимента. Освежите p-value, ошибки первого и второго рода, размер выборки и SRM, то есть расхождение размера групп с планом.
  5. 5Подготовьте две-три истории из опыта, где есть задача, метод, метрика и результат.
  6. 6Пройдите пробное собеседование по реальной вакансии. Вставьте ссылку на вакансию с hh.ru в ИИ-интервью, и ИИ задаст вопросы по её требованиям и покажет слабые ответы.
  7. 7Прокачайте трудные темы. В тренажёре ИИ задаст вопросы по выбранному навыку и разберёт каждый ответ.

Пройдите пробное ИИ-собеседование по реальной вакансии

Вставьте ссылку на вакансию с hh.ru, и нейросеть подготовит вопросы на основе требований работодателя.