Вопросы на собеседовании: LLM-инженер
100 реальных вопросов с образцовыми ответами и пояснениями для уровня Junior.
Смотреть пример резюме: LLM-инженер →Тренировка флешкарточками
Интервальное повторение · Hunter Pass
Вопросы
LLM последовательно предсказывает распределение вероятностей следующего токена по токенам, уже находящимся в контексте.
- Правило декодирования выбирает один токен из распределения и добавляет его к последовательности.
- Расширенная последовательность снова подаётся модели до stop condition или лимита вывода.
- Модель создаёт статистически вероятное продолжение, а не извлекает ответ из встроенной базы фактов.
Зачем это спрашивают: Интервьюер проверяет понимание генерации как последовательного предсказания следующего токена.
Transformer представляет собой архитектуру нейросети, которая обрабатывает представления токенов через attention и feed-forward layers.
- Attention позволяет каждому токену объединять информацию из релевантных токенов доступной последовательности.
- Feed-forward blocks преобразуют представление каждого токена после смешивания контекста механизмом attention.
- Residual connections и normalization помогают множеству слоёв обучаться и надёжно передавать информацию.
Зачем это спрашивают: Сильный ответ называет основные блоки и не сводит transformer только к attention.
Токенизация преобразует текст в числовые ID токенов из фиксированного словаря модели.
- Токен может представлять целое слово, часть слова, пунктуацию, пробел или последовательность байтов.
- Модель принимает ID и сопоставляет им обученные векторные представления до обработки transformer layers.
- Разные семейства моделей могут по-разному токенизировать один текст, поэтому число токенов зависит от tokenizer.
Зачем это спрашивают: Интервьюер оценивает различие токенов модели со словами и символами.
Количество токенов определяет доступный объём ввода, оставшийся объём вывода и часто стоимость запроса к API.
- Prompt, история диалога, retrieved context и сгенерированный ответ разделяют общий context budget модели.
- Длинный ввод увеличивает вычисления и может размыть полезные evidence, даже если технически помещается.
- Подсчёт нужно выполнять tokenizer выбранной модели, а не оценивать по числу слов.
Зачем это спрашивают: Сильный ответ связывает токены с объёмом контекста, latency, cost и зависимостью подсчёта от модели.
Context window является максимальной последовательностью токенов, которую модель может учитывать в одном запросе генерации.
- В неё входят instructions, examples, user input, retrieved documents, tool results, history и обычно сгенерированное продолжение.
- Содержимое за пределами переданного окна не запоминается моделью автоматически.
- Большее окно увеличивает вместимость, но не гарантирует точное использование каждой детали.
Зачем это спрашивают: Интервьюер проверяет понимание context как ограниченного ввода запроса, а не постоянной памяти.
Attention вычисляет, насколько сильно представление одного токена должно использовать информацию из других представлений токенов последовательности.
- Queries сравниваются с keys для получения weights, которые объединяют соответствующие values.
- Разные attention heads могут изучать разные отношения, например синтаксис, ссылки и локальные шаблоны.
- Attention weights являются промежуточными вычислениями и не дают полного объяснения рассуждений модели.
Зачем это спрашивают: Сильный ответ объясняет смешивание информации и не считает attention weights полным объяснением модели.
Causal self-attention позволяет каждой позиции учитывать только себя и предыдущие позиции, но не будущие токены.
- Causal mask обеспечивает поток информации слева направо во время обучения и генерации.
- Модель может параллельно обучаться на множестве целей следующего токена, хотя inference выдаёт токены последовательно.
- Модели вроде Llama и Qwen используют decoder-only transformer design для autoregressive generation.
Зачем это спрашивают: Интервьюер оценивает связь masking с генерацией следующего токена.
Attention сам по себе не кодирует порядок токенов, поэтому модели нужна positional information для различения последовательностей с разным порядком.
- Position embeddings или rotary position encodings добавляют сигналы порядка в представления токенов.
- Это позволяет модели различать смысл одинаковых токенов в разной последовательности.
- Метод позиционного кодирования также влияет на поведение модели около и за пределами длины обученного контекста.
Зачем это спрашивают: Сильный ответ объясняет, почему одной идентичности токена недостаточно для порядка последовательности.
Pretraining обучает модель широким языковым шаблонам через оптимизацию предсказания следующего токена на большом корпусе текстов.
- Модель изменяет параметры, чтобы уменьшить prediction loss на множестве примеров.
- Pretraining даёт широкие возможности, но сам по себе не учит надёжно следовать инструкциям пользователя.
- Качество, состав и масштаб данных вместе с training objective формируют итоговую base model.
Зачем это спрашивают: Интервьюер проверяет различие общего языкового обучения и последующего alignment.
Параметр является обученным числовым весом, участвующим в преобразованиях нейросети.
- Обучение обновляет параметры для уменьшения objective на training examples.
- Число параметров отражает часть capacity и compute cost модели, но не является прямой мерой качества ответов.
- Факты распределены по множеству весов, а не хранятся как читаемые записи с точными ссылками на источники.
Зачем это спрашивают: Сильный ответ отличает обученные веса от записей базы и не приравнивает размер к качеству.
Base model предсказывает продолжение текста, instruct model настраивается на выполнение задач, а chat model адаптируется к структурированным ролям диалога.
- Base models часто требуют completion-style prompting и могут продолжить prompt вместо ответа.
- Instruct models изучают шаблоны ответов по примерам instruction и answer.
- Chat models ожидают model-specific template для сообщений system, user и assistant.
Зачем это спрашивают: Интервьюер оценивает соответствие формата prompting типу обучения модели.
Instruction tuning дообучает pretrained model на примерах, связывающих задачи или диалоги с желаемыми ответами.
- Он учит модель интерпретировать запросы и выдавать более полезные форматы, чем сырое продолжение.
- Примеры могут включать ответы на вопросы, summarization, extraction, dialogue и refusal behavior.
- Instruction tuning улучшает поведение, но не гарантирует фактическую точность и безопасность каждого prompt.
Зачем это спрашивают: Сильный ответ описывает данные и цель instruction tuning без преувеличения гарантий.
Preference alignment обучает модель предпочитать ответы, оценённые как лучшие по human или synthetic preference data.
- Методы могут обучать reward или preference signal и оптимизировать модель в сторону предпочтительных outputs.
- Alignment способен улучшить helpfulness, style и safety после supervised instruction tuning.
- Он также наследует biases оценщиков и objectives, поэтому предпочтительное поведение не равно объективной истине.
Зачем это спрашивают: Интервьюер проверяет понимание alignment как оптимизации предпочтений, а не проверки фактов.
Галлюцинация представляет собой правдоподобный ответ с выдуманными, неподтверждёнными или противоречащими источникам утверждениями.
- Обучение следующему токену поощряет вероятное продолжение, но не гарантирует fact-check каждого утверждения.
- Галлюцинации затрагивают факты, citations, вычисления, tool results и утверждения о переданном context.
- Grounding, retrieval, tools, constraints и evaluation снижают риск, но не устраняют его полностью.
Зачем это спрашивают: Сильный ответ объясняет симптом и причину появления неподтверждённых утверждений в связной генерации.
Текстовый embedding является плотным числовым вектором для представления полезных семантических свойств текста.
- Embedding model преобразует query, предложение или документ в вектор фиксированной длины.
- Тексты с близким смыслом часто дают близкие векторы согласно training objective модели.
- Вектор полезен для retrieval, clustering, classification и deduplication, но не является читаемым текстом.
Зачем это спрашивают: Интервьюер оценивает embeddings как обученные представления, а не сжатые документы.
Семантическое сходство оценивается сравнением embedding vectors через метрику вроде cosine similarity или dot product.
- Query и candidate text кодируются в ожидаемом формате совместимой embedding model.
- Более высокий score обычно означает близкое представление в этой модели, но не гарантирует релевантность каждой бизнес-задаче.
- Thresholds и ranking следует оценивать на domain examples, а не брать как универсальные константы.
Зачем это спрашивают: Сильный ответ связывает сравнение векторов с model-specific и task-specific релевантностью.
Документы и queries должны быть представлены в одном совместимом vector space, чтобы similarity scores имели смысл.
- Смена embedding model обычно требует пересчёта embeddings всего индексированного корпуса.
- Некоторые модели используют разные query и passage prefixes или encoders, но создают намеренно общее пространство.
- Одинаковая dimension не доказывает совместимость, поскольку две модели могут иметь равную длину и несвязанную geometry.
Зачем это спрашивают: Интервьюер проверяет понимание совместимости embedding space глубже совпадения длины массива.
Embedding dimension является числом компонентов вектора и влияет на storage, index memory и объём вычислений.
- Большая dimension может представить больше признаков, но не гарантирует лучший retrieval.
- Размерность фиксируется выбранной embedding model и должна совпадать со схемой vector index.
- Качество модели сравнивается через retrieval evaluation, а не выбирается только по dimension.
Зачем это спрашивают: Сильный ответ учитывает operational cost и не считает размерность самостоятельной мерой качества.
Vector database хранит embeddings и эффективно ищет близкие векторы, обычно вместе с исходным текстом и metadata.
- Approximate nearest-neighbor indexes обменивают небольшую часть recall на быстрый поиск в масштабе.
- Metadata filters ограничивают candidates по tenant, language, date и document type.
- База находит похожие записи, но сама не генерирует ответ и не гарантирует релевантность.
Зачем это спрашивают: Интервьюер оценивает роль retrieval и ограничения vector database.
Metadata filters применяют известные ограничения до или во время similarity search, исключая семантически близкие, но недопустимые записи.
- Типичные filters включают access scope, tenant, locale, product, time range и publication status.
- Фильтрация улучшает релевантность и предотвращает cross-tenant или unauthorized retrieval.
- Metadata требует единообразной индексации и governance, поскольку пропущенные или неверные поля незаметно удаляют или раскрывают candidates.
Зачем это спрашивают: Сильный ответ связывает metadata одновременно с релевантностью и границами доступа.
Закрытые вопросы
- 21
Каковы основные этапы retrieval-augmented generation?
retrieval - 22
Что RAG может улучшить и что он не решает автоматически?
rag - 23
Что такое chunking в RAG pipeline?
ragchunkingci-cd - 24
Зачем используют chunk overlap и каков его компромисс?
- 25
Что означает top-k в retrieval?
retrieval - 26
Чем различаются sparse и dense retrieval?
retrieval - 27
Что такое hybrid search в RAG?
rag - 28
Что такое reranking в RAG pipeline?
ragrerankingci-cd - 29
Почему ответы, основанные на источниках, часто содержат citations?
groundednesscitations - 30
Чем zero-shot prompting отличается от few-shot?
prompting - 31
Какова роль system prompt в chat model?
promptingsystem-design - 32
Зачем в prompts явно разделять instructions, data и examples?
prompting - 33
Что такое prompt template?
prompting - 34
Как prompt engineering, RAG и fine-tuning решают разные задачи?
ragpromptingfine-tuning - 35
Что означает fine-tuning LLM?
fine-tuningllm - 36
Что такое LoRA при fine-tuning LLM?
fine-tuningllm - 37
Чем управляет temperature при декодировании LLM?
decodingllm - 38
Как работают top-k и top-p sampling?
sampling - 39
Чем greedy decoding отличается от sampling?
decodingsampling - 40
Делает ли random seed вывод LLM полностью детерминированным?
llm - 41
Что делают maximum output tokens и stop sequences?
tokens - 42
Для чего используется LangChain?
langchain - 43
Для чего используется LlamaIndex?
llamaindex - 44
Как помогают инструменты schema-constrained generation вроде Outlines и Instructor?
schema - 45
Чем на высоком уровне различаются vLLM, TGI, Ollama и llama.cpp?
- 46
Каковы базовые компромиссы hosted LLM API и open-weight model?
llmapi - 47
Что такое offline evaluation LLM-приложения?
llmllm-eval - 48
Какими метриками можно оценивать сгенерированные ответы?
llm-evaldecision-makingmonitoring - 49
Как оценивается качество retrieval в RAG?
ragretrievaldecision-making - 50
Что делает evaluation dataset LLM надёжным?
llmllm-eval - 51
Как построить базовую RAG-фичу по набору продуктовых документов?
rag - 52
Как выбрать границы chunks для базы знаний RAG?
rag - 53
Когда добавлять overlap между RAG chunks?
rag - 54
Какие metadata сохранять вместе с embeddings документов?
nlpembeddings - 55
Как выбрать embedding model для semantic search?
nlpembeddingsretrieval - 56
Как выбрать между cosine similarity, dot product и Euclidean distance для embeddings?
nlpembeddings - 57
Как хранить и искать embeddings в первой небольшой версии RAG-фичи?
nlpragembeddings - 58
Как выбрать top-k для RAG retrieval?
ragretrieval - 59
Как объединить keyword search и embedding search в RAG-фиче?
nlpragembeddings - 60
Когда добавлять reranker в RAG pipeline?
ragrerankingci-cd - 61
Как добавить надёжные citations к ответу RAG?
ragcitations - 62
Как заставить RAG-ассистента отказываться от ответа, если его нет в документах?
rag - 63
Как улучшить retrieval для расплывчатых или разговорных вопросов пользователя?
retrieval - 64
Как обрабатывать историю диалога в multi-turn RAG-ассистенте?
rag - 65
Как структурировать prompt для ассистента, отвечающего по документам?
groundednessprompting - 66
Когда добавлять few-shot examples в LLM prompt?
promptingllm - 67
Как улучшить prompt, который выдаёт нестабильные ответы?
prompting - 68
Как не дать найденным документам переопределить системные инструкции?
system-designoop - 69
Как заставить LLM API возвращать данные, соответствующие Python-модели?
llmapipython - 70
Когда использовать constrained generation через Outlines или Guidance?
- 71
Как снизить галлюцинации в question-answering фиче?
hallucination - 72
Как оценить фактическую заземлённость ответа LLM в предоставленном контексте?
groundednessllmdecision-making - 73
Как создать полезный evaluation dataset для LLM-фичи?
llmllm-eval - 74
Как оценить retrieval stage RAG-системы?
ragretrievalsystem-design - 75
Как оценить RAG-фичу end to end?
ragdecision-makingllm-eval - 76
Как написать human evaluation rubric для ответов ассистента?
llm-eval - 77
Как использовать LLM как judge и не доверять ему вслепую?
llm - 78
Как настроить regression evaluations для изменений prompt или model?
promptingllm-eval - 79
Какие online signals собирать после запуска LLM-фичи?
llm - 80
Как интегрировать OpenAI API или Anthropic API в Python-сервис?
python - 81
Как обрабатывать timeouts и временные сбои LLM API?
llmapiresilience - 82
Как обрабатывать provider rate limits в LLM-приложении?
llmrate-limiting - 83
Как распределить token budget для prompt с retrieval и chat history?
retrievalpromptingtokens - 84
Как сократить context, если LLM request превышает model window?
llm - 85
Как стримить LLM response через endpoint FastAPI?
llmendpointsframeworks - 86
Как выбрать между hosted API и локально запущенной моделью Llama 3.1 или Qwen 2.5?
api - 87
Как открыть локальную модель через vLLM для Python-приложения?
python - 88
Как использовать Ollama или llama.cpp для локального прототипирования LLM?
llmprototypes - 89
Что кешировать в LLM-приложении?
llmcaching - 90
Как отслеживать и снижать стоимость LLM API?
llmapi - 91
Как не отправлять личные данные LLM provider без необходимости?
llmdiscovery - 92
Как добавить базовую защиту от prompt injection в RAG-ассистент?
ragpromptinginjection - 93
Как добавить output guardrails для пользовательского ответа LLM?
llmguardrailsllm-safety - 94
Как валидировать созданные LLM tool calls до выполнения?
llmvalidation - 95
Как защищать API keys LLM provider при разработке и deployment?
llmapideployment - 96
Что трассировать для LLM request через LangSmith, Helicone или собственную telemetry?
llm - 97
Как обработать structured LLM response, не прошедший validation?
llmvalidation - 98
Как поменять embedding models без повреждения результатов поиска?
nlpembeddings - 99
Как синхронизировать RAG index с изменёнными и удалёнными source documents?
ragindexes - 100
Что проверить перед запуском первой LLM-powered RAG-фичи?
ragllm