Обработка естественного языка
NLP на собеседовании (FAANG)
Google ML Research interview. Кандидат с 5 годами опыта и публикацией в ACL. Вопрос: 'Как построить spell checker для поисковой строки?'. Кандидат начинает с BERT-based sequence correction, не спрашивает требования. Latency requirement (50ms) делает его подход невозможным. Правильный ответ начинается не с модели - с вопросов. Технические знания без умения задавать правильные вопросы - половина ответа.
- **Google NLP interview loop**: coding (implement TF-IDF), ML design ('design text search for Gmail'), research discussion (последние NLP работы которые нашли интересными). Три разных типа, каждый требует разной подготовки.
- **Meta AI Research**: фокус на модели и research - объяснить RLHF, предложить улучшение существующего подхода, обсудить ablation studies. ML System Design менее интенсивный чем в Google.
- **Яндекс ML**: сильный фокус на coding ML алгоритмов от scratch (k-means, gradient boosting), NLP задачи специфичные для поиска, рекомендательных систем. Русскоязычные NLP особенности.
Предварительные знания
- Весь NLP toolkit: классификация, NER, embeddings, трансформеры, LLM
- Метрики evaluation и когда какая нужна: F1, precision/recall, NDCG, ROUGE, BLEU
- Production NLP system design: serving, latency, стоимость, monitoring
- RAG и fine-tuning как два главных способа адаптировать модель под задачу
Как эпоха трансформеров изменила найм в NLP
Собеседование по NLP всегда следовало за состоянием области. В начале 2010-х роль в NLP часто означала computational linguist: кандидатов спрашивали про парсинг, морфологию, HMM, CRF и feature engineering под конкретную задачу. Годы word-embeddings (2013-2017, word2vec, GloVe) сместили вопросы в сторону representation learning и нейросетевых последовательностных моделей вроде LSTM и seq2seq с attention. BERT в 2018 году снова изменил дисциплину: дообучение предобученного трансформера стало ответом по умолчанию, и собеседования стали проверять transfer learning, токенизацию и режим данных больше, чем самодельные признаки. К 2020-2024 годам, когда размещённые LLM и RAG вышли в production, NLP-собеседования в FAANG превратились в разговоры о system design: от кандидата ждут, что он прояснит требования, предложит baseline до тяжёлой модели, обоснует выбор build-versus-buy и компромисс cost-versus-latency, выберет метрики, соответствующие цели, и порассуждает о режимах отказа вроде distribution shift. Закономерность во всём этом одна: интервьюеры ценят структурированное рассуждение и понимание production выше заученных мелочей про архитектуры.
Вопросы по NLP моделированию
NLP ML вопросы на собеседованиях проверяют: понимание алгоритмов, способность выбирать подход под задачу, знание современного стека. Типичный формат: 'Как ты построишь модель для X?' - ожидается structured approach, а не просто 'использую BERT'.
**Другие частые NLP вопросы**: 'Как построить spell checker?', 'Как определить дубликаты текстов?', 'Как ранжировать поисковые результаты?', 'Как извлечь ключевые слова?'. Для каждого - тот же подход: requirements -> baseline -> когда нужно что-то сложнее -> trade-offs.
**Что ценится на FAANG NLP интервью**: знание baseline методов (не только нейросети), умение предлагать самое простое решение которое работает, production awareness (latency, throughput, стоимость), знание конкретных инструментов и чисел.
Интервьюер: 'Как определить является ли email спамом?' Лучший первый ответ кандидата:
Вопросы по evaluation и метрикам
Evaluation вопросы - одни из самых частых на ML собеседованиях. Проверяют понимание разницы между offline и online метриками, умение выбирать правильную метрику под задачу.
**A/B тестирование NLP систем**: offline метрики не всегда предсказывают online результат. Модель с F1 90% может конвертировать хуже чем F1 85% из-за latency. Правильный процесс: offline -> статистически значимые результаты -> canary 1-5% -> A/B полноценный -> rollout.
NER модель: F1 на test set 88%. После деплоя команда видит жалобы на неверные сущности. Что могло пойти не так?
Production и масштабирование NLP
Production NLP вопросы проверяют понимание реальных ограничений. Latency, throughput, стоимость, reliability - это не детали после модели, это первичные ограничения. Хороший кандидат думает о production от начала.
**Числа которые нужно знать**: BERT-base на T4 GPU: ~50-100 req/s. BERT-base на CPU (int8): ~20 req/s. DistilBERT: 2x быстрее. fastText classify: 100K req/s на CPU. text-embedding-3-small: $0.02/1M tokens. Эти числа помогают быстро оценить feasibility на интервью.
Нужно классифицировать 10M email в день (за ночь). Latency не критична - важен throughput. Лучший подход:
Trade-offs: правильные компромиссы
Самые интересные вопросы на Senior+ позициях - это trade-off вопросы. Нет правильного ответа - есть обоснованный выбор с явными компромиссами. Способность озвучить trade-offs отличает Senior от Junior.
**Structuring trade-off ответа**: 1) Обозначить оси trade-off (quality vs cost, latency vs throughput). 2) Показать варианты на этих осях с конкретными числами. 3) Привязать к требованиям задачи. 4) Рекомендовать с объяснением. 5) Упомянуть что изменит выбор. Не утверждать что один вариант 'всегда лучше'.
На NLP интервью нужно знать математику всех алгоритмов - трансформеры, attention, backprop формулы
Математика базовая важна, но старшие роли больше ценят: системное мышление, production опыт, умение обосновывать trade-offs
Senior NLP Engineer не пишет attention математику каждый день - он выбирает между Elasticsearch и Qdrant, обосновывает fine-tuning vs RAG, проектирует monitoring. Математика - фундамент, engineering decisions - ежедневная работа.
Стартап выбирает: fine-tuned DistilBERT vs GPT-4o API для классификации отзывов. 50K отзывов/день. Лучший ответ:
Ключевые идеи
- **Modeling вопросы**: requirements first -> baseline first -> когда нужно что-то сложнее -> trade-offs. Не начинай с BERT без анализа задачи.
- **Evaluation**: выбор метрики зависит от распределения классов и cost of errors. Recall vs Precision - это выбор под задачу, не универсальный ответ.
- **Production**: числа наизусть (latency, throughput, стоимость). Batch vs online, caching, quantization как первые инструменты оптимизации.
- **Trade-offs**: озвучить оси компромисса, варианты с числами, привязать к требованиям. 'Лучшее решение' всегда conditional.
- **Что ценится в FAANG**: structured thinking, умение задавать уточняющие вопросы, production awareness, конкретные числа.
Связанные темы
Интервью проверяет все NLP знания в комплексе:
- NLP System Design — ML System Design на интервью - это NLP System Design под давлением времени с trade-off аргументацией
- RAG: Retrieval-Augmented Generation — RAG - одна из самых частых тем на NLP-ориентированных интервью в 2024-2025
Вопросы для размышления
- Интервьюер: 'Как бы ты улучшил Яндекс Поиск?' Как структурировать ответ чтобы показать понимание реальной системы, а не теоретических улучшений?
- Тебя спрашивают о недавней NLP статье. Ты читал RLHF paper Ouyang et al. Как рассказать о нём за 3 минуты - ключевая идея, вклад, ограничения?
- ML design: 'Построй систему суммаризации новостей в реальном времени'. Какие уточняющие вопросы задать в первую минуту?
Связанные уроки
- nlp-22 — Дизайн систем - самый сложный раунд собеседования
- nlp-15 — Внутренности LLM - частая тема собеседований
- nlp-12 — Сравнение BERT и GPT - классический вопрос
- ml-55-ml-system-design — Повторяет структуру общего ML-собеседования
- aie-42-ai-system-design — Дизайн AI-систем пересекается с подготовкой к NLP-собеседованию
- ml-01-intro