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 для сложных случаев.

Смотрите также