Собеседование на Data Scientist

Чем дата-сайентист отличается от аналитика данных

Аналитик данных описывает, что произошло и почему. Дата-сайентист идёт дальше — строит модели, которые предсказывают, что произойдёт, и автоматизируют принятие решений.

На практике разница проявляется так:

Аналитик данных считает retention, строит дашборды, проводит A/B-тесты, отвечает на вопросы продуктовой команды. Его инструменты — SQL, Python (pandas), BI-инструменты. Подробнее — в материале о подготовке к собеседованию аналитика.

Дата-сайентист строит модели: предсказание оттока, рекомендательные системы, скоринг, NLP, компьютерное зрение. Его инструменты — Python (sklearn, PyTorch, XGBoost), статистика на более глубоком уровне, линейная алгебра.

Граница размыта — в стартапах одна роль часто совмещает обе. Но на собеседованиях вопросы различаются принципиально: аналитику дают SQL-задачи и кейсы про метрики, дата-сайентисту — задачи на ML, статистику и проектирование моделей.

Этапы собеседования

Типичный процесс для DS — 4–5 этапов:

1. HR-скрининг. Мотивация, ожидания, общий опыт. «Какие модели строили?», «С какими данными работали?», «Какой ваш самый успешный ML-проект?»

2. SQL-интервью. Да, SQL спрашивают и у дата-сайентистов. Уровень — средний: JOIN, оконные функции, подзапросы. Цель — убедиться, что вы можете самостоятельно подготовить данные для модели без помощи аналитика.

3. Статистика и теория ML. Теоретический блок: bias-variance tradeoff, переобучение, метрики качества, A/B-тесты, проверка гипотез. Могут быть задачи на вероятность и статистику.

4. Код и моделирование. Практическая задача: построить модель на реальных данных, feature engineering, оценить качество, объяснить выбор подхода. Формат — Jupyter notebook или live coding.

5. System design / ML design. Для middle+ позиций: спроектировать ML-систему end-to-end — от постановки задачи до деплоя и мониторинга.

Machine Learning: ключевые вопросы

Bias-Variance Tradeoff

Один из самых частых вопросов на собеседовании DS. Bias (смещение) — ошибка модели из-за слишком упрощённых предположений. Variance (разброс) — ошибка из-за чрезмерной чувствительности к обучающим данным.

Простая модель (линейная регрессия на сложных данных) — высокий bias, низкий variance. Она одинаково плохо работает на любых данных. Сложная модель (глубокое дерево решений) — низкий bias, высокий variance. Она идеально подстраивается под обучающую выборку, но ломается на новых данных.

На собеседовании ожидают, что вы не только объясните концепцию, но и скажете, как управлять tradeoff на практике: регуляризация, ансамбли, кросс-валидация, сбор дополнительных данных.

Переобучение (Overfitting)

Переобучение — модель запоминает обучающие данные вместо того, чтобы выучить закономерности. Признаки: высокое качество на train, низкое на test.

Как бороться:

  • Регуляризация. L1 (Lasso) — занулает неважные признаки. L2 (Ridge) — уменьшает веса, не занулая. ElasticNet — комбинация обоих.
  • Кросс-валидация. K-fold вместо одного train/test split. Даёт более надёжную оценку качества.
  • Early stopping. Для градиентного бустинга и нейросетей — останавливаем обучение, когда качество на валидации перестаёт расти.
  • Увеличение данных. Больше данных — сложнее переобучиться.
  • Упрощение модели. Меньше глубина дерева, меньше признаков, меньше слоёв в нейросети.

Feature Engineering

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

Типичные приёмы:

  • Агрегации. Средний чек за последние 30 дней, количество визитов за неделю, доля отменённых заказов.
  • Временные признаки. День недели, час, время с последнего действия, тренд за период.
  • Кодирование категорий. One-hot encoding, target encoding, frequency encoding. Каждый метод имеет свои ограничения.
  • Взаимодействия. Произведение признаков, отношения (цена / площадь), разности.
  • Текстовые признаки. Длина текста, количество слов, TF-IDF, эмбеддинги.

Частый вопрос: «У вас категориальный признак с 10 000 уникальных значений. Как его использовать?» One-hot encoding создаст 10 000 колонок — неприемлемо. Решения: target encoding, frequency encoding, эмбеддинги, группировка редких значений.

Метрики качества моделей

На собеседовании ожидают, что вы знаете, какую метрику выбрать и почему.

Классификация:

  • Accuracy — доля правильных предсказаний. Бесполезна при дисбалансе классов: модель, которая всегда предсказывает «не фрод», даст accuracy 99%, но ни одного мошенника не поймает.
  • Precision — из всех предсказанных положительных, сколько реально положительных. Важна, когда цена ложного срабатывания высока.
  • Recall — из всех реально положительных, сколько мы нашли. Важна, когда цена пропуска высока (фрод, болезни).
  • F1-score — гармоническое среднее precision и recall.
  • ROC-AUC — способность модели разделять классы. Не зависит от порога.

Регрессия: MAE (средняя абсолютная ошибка), RMSE (корень из средней квадратичной ошибки), MAPE (средняя процентная ошибка), R-squared.

Частый вопрос: «Вы строите модель предсказания оттока. Какую метрику выберете?» Зависит от бизнес-контекста. Если удержание дешёвое (отправить промокод) — оптимизируйте recall, чтобы не пропустить уходящих. Если удержание дорогое (персональный менеджер) — важнее precision, чтобы не тратить ресурсы на лояльных пользователей.

Статистика: глубже, чем для аналитика

Дата-сайентисту нужна статистика не только для A/B-тестов, но и для понимания моделей и данных.

Распределения. Нормальное, биномиальное, пуассоновское — когда какое применимо. Центральная предельная теорема — почему средние стремятся к нормальному распределению.

Проверка гипотез. t-тест, хи-квадрат, Mann-Whitney. Когда использовать параметрические тесты, а когда непараметрические. p-value — что это реально означает (не «вероятность, что гипотеза верна»). Подробнее — в статье Статистика для аналитика.

Байесовская статистика. Теорема Байеса, априорное и апостериорное распределение, байесовский подход к A/B-тестам. Не на всех собеседованиях спрашивают, но для strong middle+ это ожидаемое знание.

Корреляция и причинность. Корреляция между мороженым и утоплениями не означает, что мороженое убивает. На собеседовании могут дать пример и попросить объяснить, почему корреляция не равна причинности, и как установить причинную связь (эксперимент, инструментальные переменные, разность разностей).

Python: sklearn и работа с моделями

На кодинг-интервью дата-сайентисту дают задачу уровня: «Вот датасет. Постройте модель, оцените качество, объясните решения».

Ожидаемый ход:

  1. Разведочный анализ. Посмотреть распределения, пропуски, выбросы, корреляции.
  2. Подготовка данных. Обработка пропусков (заполнение медианой, удаление, флаг пропуска), кодирование категорий, масштабирование числовых признаков.
  3. Выбор модели. Начать с baseline (логистическая регрессия или случайный лес), затем попробовать более сложные модели (градиентный бустинг).
  4. Оценка. Кросс-валидация, правильный выбор метрики, анализ ошибок.
  5. Интерпретация. Feature importance, SHAP values, partial dependence plots — уметь объяснить, почему модель принимает те или иные решения.

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

SQL для дата-сайентиста

SQL проверяют почти на каждом собеседовании DS. Уровень — средний, с упором на подготовку данных для моделей:

  • JOIN нескольких таблиц для сборки датасета.
  • Оконные функции: LAG, LEAD, ROW_NUMBER, RANK — для создания временных признаков.
  • Агрегации с GROUP BY для создания агрегированных признаков.
  • Подзапросы и CTE для сложных трансформаций.

Типичная задача: «Есть таблицы users и orders. Для каждого пользователя посчитайте: количество заказов за последние 90 дней, средний чек, дни с последнего заказа».

Готовиться к SQL-блоку можно в SQL-тренажёре и по примерам вопросов.

Как готовиться

Статистика и теория ML — основа. Не зубрите формулы, а разберитесь в интуиции: почему регуляризация помогает, что реально показывает ROC-AUC, зачем нужна кросс-валидация. Объясняйте вслух — на собеседовании оценивают умение объяснять, а не вспоминать.

Практика на реальных данных. Возьмите 2–3 датасета с Kaggle и пройдите полный цикл: EDA, feature engineering, моделирование, оценка. Напишите для каждого отчёт с обоснованием решений — это ваше портфолио.

SQL — не игнорируйте. Многие DS-кандидаты проваливают SQL-этап, потому что считают его неважным. Потратьте неделю на подготовку — это окупится. Подробнее — в разделе SQL-вопросов.

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

Читайте также

FAQ

Нужна ли дата-сайентисту высшая математика?

Зависит от области. Для классического ML (скоринг, рекомендации, предсказание оттока) достаточно линейной алгебры на базовом уровне, теории вероятностей и математической статистики. Для deep learning и NLP нужно больше — градиентный спуск, backpropagation, оптимизация. На большинстве собеседований проверяют не умение доказывать теоремы, а интуитивное понимание: зачем нужна регуляризация, как работает градиентный спуск, почему нормализация данных помогает.

Чем Data Scientist отличается от ML Engineer?

Data Scientist фокусируется на исследовании: анализ данных, выбор подхода, построение и оценка модели. ML Engineer — на продакшене: деплой модели, инфраструктура, мониторинг, масштабирование. DS отвечает на вопрос «какая модель решает задачу», ML Engineer — «как эта модель будет работать в продакшене 24/7». Во многих компаниях роли совмещены, особенно на уровне middle.

С чего начать, если я аналитик и хочу перейти в DS?

У вас уже есть SQL, понимание данных и бизнес-контекста — это сильная база. Добавьте: основы ML (курс Andrew Ng или аналог), практику на sklearn (2–3 проекта на Kaggle), статистику на более глубоком уровне (байесовская статистика, bootstrap). Переход занимает 3–6 месяцев при активной подготовке.

Нужен ли дата-сайентисту Docker и DevOps?

Для junior — нет. Для middle — базовое понимание Docker (собрать контейнер с моделью, запустить локально). Для senior — уже ближе к ML Engineering: CI/CD для моделей, мониторинг предсказаний, drift detection. На собеседованиях junior/middle Docker почти никогда не спрашивают, но на senior-позициях это может быть отдельным блоком.


Потренируйтесь решать аналитические задачи — откройте тренажёр с вопросами по SQL, статистике и продуктовым метрикам.