Подготовка к собеседованию Data Scientist
Содержание:
Чем DS отличается от аналитика и ML-инженера
Data Scientist — мост между аналитикой и ML-инженерией. Аналитик строит дашборды и отвечает на вопросы; DS строит модели и проверяет гипотезы; ML-инженер деплоит модели в прод. На практике границы размыты, и вакансии «DS» иногда означают любое из трёх.
Что обычно ждут от DS на собесе:
- Понимание классического ML (линейные модели, деревья, градиентный бустинг, кластеризация)
- Базы deep learning (нейросети, CNN, transformers)
- Знание метрик качества и валидации
- Python для ML (numpy, pandas, sklearn, иногда PyTorch/TensorFlow)
- Понимание MLOps на уровне «как мы деплоим модель и мониторим её в продакшене»
- Бизнес-чутьё — какую модель выбрать под задачу, как объяснить результат стейкхолдерам
Этапы найма
Типичный найм DS в IT-компании или R&D-команде занимает 3–6 недель и включает 4–6 этапов.
1. Скрининг с рекрутером
20–30 минут. Опыт, проекты, ожидания.
2. Технический скрининг (онлайн-тест или live)
60 минут. Задачи на ML-теорию (вопросы вроде «в чём разница между bagging и boosting», «как работает кросс-валидация»), базовый Python, SQL.
3. Live-coding на Python
60–90 минут. Чаще всего — задача на feature engineering и обучение простой модели на готовом датасете. Иногда LeetCode-стиль.
4. ML-интервью
60–90 минут. Глубже по моделям, метрикам, валидации, частые edge cases. Иногда дают кейс «у нас такие данные, такая задача — что бы ты сделал» и проверяют процесс мышления.
5. Take-home или презентация проекта
Часто просят рассказать про прошлый ML-проект: задача, данные, выбор модели, метрики, deployment, результат для бизнеса.
6. Финал с нанимающим менеджером / тимлидом
Behavioral, культурный фит, обсуждение, как DS встраивается в команду продукта.
Темы, которые проверяют
Python для ML
- numpy: операции с массивами, broadcasting
- pandas: feature engineering, мержи, оконные операции
- sklearn: pipelines, transformers, cross-validation
- joblib для сохранения моделей
Классический ML
- Линейные модели: регрессия, регуляризация (L1, L2), elastic net
- Logistic regression: интерпретация коэффициентов, multiclass через one-vs-rest
- Деревья и градиентный бустинг: XGBoost, LightGBM, CatBoost. Когда что
- Кластеризация: k-means, DBSCAN, иерархическая. Метрики оценки кластеров
- Feature engineering: масштабирование, кодирование категорий, обработка пропусков
Подробно — Классический ML на собесе DS.
Метрики и валидация
- Классификация: accuracy, precision, recall, F1, ROC AUC, PR AUC, log loss
- Регрессия: RMSE, MAE, MAPE, R²
- Когда нельзя использовать accuracy (несбалансированные классы)
- Кросс-валидация: K-Fold, Stratified, TimeSeriesSplit
- Train/val/test split — почему важно
- Утечки данных (data leakage)
Deep Learning
- Базовый MLP, обратное распространение
- CNN: сверточные слои, pooling, transfer learning
- RNN/LSTM/GRU: для последовательностей
- Transformers: attention, self-attention, encoder/decoder
- Регуляризация: dropout, batch normalization
- Optimizers: SGD, Adam, AdamW. Learning rate schedule
Подробно — Deep Learning на собесе DS.
NLP
- Токенизация: word, subword, BPE, WordPiece
- Word embeddings: Word2Vec, GloVe, fastText
- Transformers: BERT, GPT, T5
- Fine-tuning vs prompt engineering
- Базовые задачи: классификация текста, NER, summarization, QA
Подробно — NLP на собесе DS.
MLOps
- Pipelines: обучение, валидация, деплой
- Serving: batch vs online inference, latency requirements
- Мониторинг: data drift, model drift
- A/B тестирование моделей в проде
- Feature store, эксперимент-трекинг (MLflow, Weights & Biases)
Подробно — MLOps на собесе DS.
План на 4 недели
| Неделя | Фокус | Что делать |
|---|---|---|
| 1 | Python + классический ML | Прорешать 30+ задач по Python для ML, повторить sklearn, базовые модели |
| 2 | Метрики + валидация | Прокачать понимание ROC AUC, log loss, кросс-валидации. Решить задачи на data leakage |
| 3 | Deep Learning + NLP | Базы CNN, RNN, transformers. Понять fine-tuning. Сделать 1 мини-проект на huggingface |
| 4 | MLOps + презентация проекта | Подготовить презентацию своего лучшего проекта. Mock-интервью |
Закрепляющая практика — Карьерник: 6 DS-тем, вопросы по ML, deep learning, NLP, MLOps в формате квиза.
Что любят в разных компаниях
- Яндекс, Sber AI, X5 — глубокий классический ML, метрики, валидация. На junior — feature engineering и линейные модели глубоко
- Tinkoff, Ozon, Avito — рекомендации и ранжирование, метрики ranking, online-эксперименты
- Sber AI Lab, VK — deep learning и transformers, fine-tuning LLM
- Стартапы и небольшие команды — практичность, общий уровень в ML, бизнес-понимание задачи
Частые ошибки
Знать только теорию. На собесе спросят: «У нас такая задача — что бы ты сделал». Если в ответе только «обучу логистическую регрессию» без EDA, без feature engineering, без понимания бизнес-контекста — слабый ответ.
Не знать метрики. Использовать accuracy на несбалансированных данных, не понимать, что такое ROC AUC интуитивно, путать precision и recall — типичные ошибки джунов.
Игнорировать data leakage. Самая дорогая ошибка в реальной работе и на собесе. Если в ответе на задачу не упоминается train/test split и преобразования fit_transform vs transform — это сразу видно.
Перегружать deep learning. На junior-DS почти всегда классический ML и feature engineering решают задачу. Кандидат, который сразу хочет нейросеть на табличных данных — слабый сигнал.
Не уметь интерпретировать модель. «Я обучил CatBoost, accuracy 95%» — недостаточно. SHAP, feature importance, понимание решений модели — must-have для middle+.
Слабая презентация прошлого проекта. Если вы не можете за 5 минут рассказать про задачу, данные, модель, метрики, бизнес-эффект — это сигнал, что проекты были слабые или вы их не понимаете.
FAQ
Сколько готовиться к собесу DS с нуля?
С математическим бэкграундом и Python — 4–6 месяцев. Без бэкграунда — 1–2 года. ML без понимания linear algebra и теории вероятностей — это карго-культ.
Нужно ли знать LLM и transformers для junior DS?
Базы — да (что такое attention, fine-tuning, prompt engineering). Глубоко — для NLP-команд обязательно, для других ролей опционально.
Сколько проектов в портфолио нужно?
2–3 крепких проекта с полным циклом (задача → EDA → модель → деплой → результат). Лучше меньше глубоких, чем больше поверхностных.
Это официальная информация?
Нет. Статья основана на публичных источниках и опыте кандидатов. Процессы найма меняются, актуальные требования — на карьерной странице компании.