На собеседовании Junior Data Analyst могут проверить SQL, очистку данных, Python, статистику экспериментов и продуктовые метрики за одну встречу. Сильный ответ начинается с короткого вывода, а затем показывает механизм на простом примере. Разбираем вопросы реального интервью без личных данных участников.
Чем INNER JOIN отличается от FULL JOIN?
INNER JOIN оставляет только совпавшие пары строк, а FULL JOIN сохраняет строки обеих таблиц. Там, где пары нет, поля второй стороны будут NULL. Если ключ повторяется два раза слева и три раза справа, результат содержит шесть комбинаций — это частая ловушка в задачах.
ClickHouse отличается не только синтаксисом. Это колоночная аналитическая СУБД: запрос читает нужные столбцы, а движок и ключ сортировки определяют хранение и скорость. Конструкция PREWHERE позволяет раньше отфильтровать данные, но на собеседовании важнее объяснить, почему столбцовое хранение удобно для агрегаций.
Чтобы проверить уникальность идентификатора в SQL, используйте GROUP BY id HAVING COUNT(*) > 1. В pandas метод duplicated возвращает маску повторов.
import pandas as pd
# В примере идентификатор 102 встречается дважды.
users = pd.DataFrame({"user_id": [101, 102, 102, 103]})
# keep=False отмечает все строки, участвующие в дубле.
duplicates = users[users.duplicated("user_id", keep=False)]
print(duplicates)Как найти мусор в датасете и объяснить boxplot?
Проверяйте пропуски, дубли, типы, форматы, диапазоны, категории и единицы измерения. Число 999 может быть реальным значением или кодом пропуска — решение зависит от предметной области, а не только от статистики.
Boxplot показывает медиану, межквартильный размах и точки за границами усов. Точка за усом — кандидат на проверку, но не автоматическая ошибка: редкая крупная покупка может быть настоящей.

Boxplot помогает быстро сравнить центр, разброс и крайние значения нескольких распределений. Источник: Matplotlib.
Типичная ошибка. Удалить все выбросы по правилу 1,5 × IQR.
Как лучше. Сначала проверить источник, единицы и бизнес-смысл значения, затем решить: исправить, оставить, ограничить или исключить.
Что такое линейная регрессия?
Линейная регрессия оценивает ожидаемое значение цели как линейную комбинацию признаков. В простом случае модель выглядит как y = b0 + b1 × x: коэффициент b1 показывает, насколько меняется прогноз y при увеличении x на единицу при прочих равных.
Сильный ответ включает три ограничения. Связь может быть нелинейной, остатки могут иметь неодинаковую дисперсию, а корреляция не доказывает причинность. Модель проверяют на отложенных данных и сравнивают с простым базовым прогнозом.
Как посчитать нарастающую сумму и максимум в SQL?
Нарастающую сумму считают оконным SUM: строки сохраняются, а сумма растёт внутри пользователя и месяца. В PostgreSQL агрегат с OVER и сортировкой образует running sum — это описано в официальной документации.
SELECT
user_id,
purchase_date,
amount,
SUM(amount) OVER (
PARTITION BY user_id, DATE_TRUNC('month', purchase_date)
ORDER BY purchase_date
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
) AS month_running_total
FROM purchases;
Максимум проще всего найти через MAX(value). Если функцию запрещено использовать, можно отсортировать ORDER BY value DESC и взять первую строку. Перебор циклом технически возможен, но в SQL это лишняя процедурная работа.
Чем отличаются pass, continue и break?
pass ничего не делает, continue переходит к следующей итерации, break завершает ближайший цикл. pass используют как допустимую синтаксическую заглушку, например в ещё не реализованной функции. Он не пропускает итерацию и не выходит из цикла.
На интервью приведите один короткий пример: continue отбрасывает некорректную строку, а break останавливает поиск после найденного значения. Это сразу снимает двусмысленность определения.
Как правильно проектировать A/B-тест?
Гипотезу, основную метрику, размер выборки и правило остановки фиксируют до запуска. Статистическая значимость отвечает, насколько данные совместимы с нулевой гипотезой при выбранной процедуре. Мощность — вероятность обнаружить эффект заданного размера, если он существует.
Постоянное «подглядывание» и остановка при первом p < 0,05 повышают риск ложноположительного результата. При множестве проверок применяют коррекции, например Бонферрони, Холма или Benjamini–Hochberg, либо заранее выделяют одну основную метрику.
Пользователей распределяют по устойчивому идентификатору: хэш переводит user_id в бакет, и человек остаётся в одной группе. До анализа проверяют SRM — неожиданное расхождение фактических размеров групп с заданным распределением.
Что показывают LTV, DAU, MAU и North Star?
Эти метрики нельзя заменять друг другом. DAU и MAU считают активных пользователей за день и месяц. LTV оценивает ценность клиента за весь срок отношений с продуктом. Формула ARPU × среднее время жизни подходит как грубое приближение, но точный расчёт зависит от маржи, удержания и горизонта.
North Star Metric должна отражать ценность, которую регулярно получает пользователь, и быть связана с ростом продукта. Выручка важна, но может увеличиться разовой акцией и ничего не сказать об удержании. Поэтому рядом нужны защитные метрики: жалобы, возвраты, отток или качество сервиса.
Итог: получил бы кандидат оффер?
Фактический результат встречи не раскрыт. По показанной части кандидат скорее прошёл бы дальше, но уверенного решения об оффере недостаточно. Он хорошо описал опыт, JOIN, поиск дублей, A/B-тесты и продуктовые метрики. Слабее прозвучали линейная регрессия, точный синтаксис нарастающей суммы и различия управляющих операторов Python.
Мы бы дали шанс на следующий этап, если роль предполагает поддержку команды, а не полностью самостоятельное ведение сложных экспериментов. Перед повторным интервью стоит решить SQL-задачи вслух и пройти тематический блок в тренажёре ЮНИКОД.
Источники
частые вопросы
Короткие ответы
Какой SQL нужен Junior Data Analyst?
Нужно уверенно владеть JOIN, GROUP BY, HAVING, подзапросами, CTE и базовыми оконными функциями, а также уметь предсказать результат запроса.
Нужно ли аналитику знать статистику для A/B-тестов?
Да. Минимум — гипотезы, ошибки первого и второго рода, мощность, доверительный интервал, множественные сравнения и правила остановки теста.
Как понять, что ответ на собеседовании достаточно глубокий?
После определения назовите механизм, рабочий пример, ограничение и способ проверить результат. Если все четыре части есть, ответ обычно выдерживает уточнения.


