NLP-задачи на собеседовании Data Scientist
Зачем NLP спрашивают на собесе DS
NLP — одна из самых востребованных областей в 2026: модерация контента, чат-боты, поиск, классификация, NER, LLM-приложения. На собесе DS в NLP-команды (Яндекс Алиса, Sber AI / GigaChat, Тинькофф Олег, VK Mail) NLP-блок занимает 60-90 минут.
В applied-командах ждут понимания базы и production-стека. В research — глубокое знание архитектур, последние работы. На собес Data Scientist общего профиля NLP спрашивают на «понимаешь ли базу».
Токенизация
Превращаем текст в последовательность токенов (чисел).
Word-level: простой, но огромный словарь, проблемы с OOV (out-of-vocabulary).
Character-level: маленький словарь, но длинные последовательности.
Subword (BPE / WordPiece / SentencePiece): компромисс. Стандарт для BERT / GPT / T5. Решает OOV через разбиение редких слов на known subwords.
Что спросят: разница между BPE и WordPiece (как объединяются пары), почему subword победил.
Эмбеддинги
Превращаем токены в плотные векторы.
Word2Vec (2013): Skip-gram или CBOW. Каждое слово — один вектор. Не учитывает контекст.
GloVe: matrix factorization над co-occurrence statistics.
fastText: word2vec + subword embeddings. Лучше на редких словах.
Contextual embeddings (ELMo, BERT, GPT): один и тот же token имеет разные embeddings в зависимости от контекста. Стандарт с 2018.
Sentence embeddings (Sentence-BERT, OpenAI ada): для семантического поиска, кластеризации, similarity.
Классификация текста
Стандартная задача: классифицировать твит как позитивный / негативный, email как спам / не спам, обращение в support как категорию.
Baseline: TF-IDF + LogReg / SVM / XGBoost. Быстро, интерпретируемо, на коротких текстах часто достаточно.
Современный подход: fine-tune BERT / RoBERTa / DistilBERT под задачу. Кому-то достаточно zero-shot LLM.
Метрики:
- Imbalanced: F1, PR-AUC (см. precision-recall)
- Multi-class: macro F1
- Multi-label: hamming loss, label-wise F1
BERT и его семейство
BERT (Bidirectional Encoder Representations from Transformers, 2018): Transformer encoder, обученный на masked language modeling + next sentence prediction. Стандарт NLP до 2022.
Архитектура:
- 12-24 слоя Transformer encoder
- 110M (base) или 340M (large) параметров
- Pre-trained на BookCorpus + Wikipedia
Применение:
- Fine-tune на downstream-задачу (classification, NER, QA)
- Feature extraction (использовать [CLS] embedding)
- Sentence similarity (Sentence-BERT)
Варианты:
- RoBERTa — better pretraining
- DistilBERT — 40% меньше, 95% производительности
- DeBERTa — disentangled attention
- mBERT / XLM-R — multilingual
- RuBERT / sbert-russian — для русского
GPT и LLM
Decoder-only Transformer, autoregressive language modeling.
Применение:
- Generation (chatbots, content)
- Few-shot / zero-shot classification через prompt
- RAG (Retrieval-Augmented Generation)
- Function calling, agentic workflows
Что спросят на собесе:
- Чем encoder-only (BERT) отличается от decoder-only (GPT)
- Что такое RLHF
- Как обучать LLM на свои данные (fine-tuning vs LoRA vs prompt engineering)
- Как оценивать LLM (evals, human eval, LLM-as-judge)
NER и Sequence Labeling
Named Entity Recognition: «Иван работает в Яндексе» → (Иван, PER), (Яндекс, ORG).
Архитектуры:
- BiLSTM-CRF (классика до Transformer)
- BERT + linear classifier (стандарт сейчас)
Метрики: entity-level F1 (не token-level — частичное совпадение не считается).
Семантический поиск и RAG
Векторный поиск: документы → embeddings → ANN (FAISS / Qdrant / Pinecone) → top-k similar.
RAG: Retrieval + Generation. На запрос ищем релевантные documents → подаём в LLM как контекст → генерируем ответ.
Подробнее — cosine vs euclidean на собесе DS.
Что спросят:
- Как выбирать модель эмбеддингов
- Когда RAG лучше fine-tuning
- Как мерить retrieval quality (NDCG, recall@k)
Типичные вопросы
«Объясни механизм attention»
Каждый токен формирует Query, Key, Value. Attention(Q, K, V) = softmax(QK^T / √d) V. Веса показывают, насколько важен каждый токен из последовательности для текущего. Multi-head — параллельные attentions с разными projections.
«Почему subword tokenization?»
Word-level — большой словарь и OOV. Char-level — длинные последовательности, теряет морфологию. Subword (BPE / WordPiece) — баланс: частые слова целиком, редкие разбиваются на subword.
«Как обучить классификатор спама на 10k email?»
Baseline: TF-IDF + LogReg. Производство: DistilBERT fine-tune. Train/val/test split по timestamp (не random — utak в будущее). Метрика: F1 (если imbalanced) или Precision@high-recall (если важно не пропустить).
«Когда RAG, когда fine-tuning?»
RAG — для знаний, которые меняются (документы компании, новости). Fine-tuning — для стиля и domain-language (медицинский текст). Часто комбо.
Частые ошибки
- TF-IDF забыт. Для коротких текстов и маленьких данных он иногда лучше BERT
- «Возьму OpenAI API». Без понимания базы прозвучит слабо
- Игнор metrics для imbalanced. Email-спам обычно 1-5% — ROC-AUC не информативна, нужна PR-AUC
- Random split на текстах. Если данные temporal (новости, сообщения) — utak в будущее. Time-based split
- Учебниковая теория без production. Что такое BERT — знаешь. Сколько BERT-base весит, какая latency — теряешься
FAQ
Нужно ли уметь обучать LLM с нуля?
Нет, кроме research-команд. Применять / fine-tune / prompt-engineer — да.
Какие NLP-фреймворки учить?
Hugging Face Transformers — стандарт. spaCy — для production NLP pipelines. PyTorch — для кастомных архитектур. LangChain — для LLM-приложений.
Русский язык сложнее английского?
Морфологически — да (склонения, спряжения, свободный порядок слов). Современные мультилингвальные модели (XLM-R, mBERT) работают на русском хорошо.
Что такое prompt engineering?
Дизайн промптов так, чтобы LLM лучше выполняла задачу. Включает chain-of-thought, few-shot examples, role-playing, structured outputs.
LLM заменит классический NLP?
Для prototype — часто да. Для production на масштабе — нет: цена inference, latency, контроль. Гибрид: классика для рутины, LLM для сложных случаев.