К обычному разбору
Тренировка по собеседованиюТехническое собеседованиеSber2026-04-30

Sber: Text2SQL, NLP и LLM critic

Идите сверху вниз: сначала попробуйте сами, затем откройте разбор. Если шаг с кодом, пишите решение прямо здесь и запускайте проверки на странице.

Шагов
9
Вопросов
9
Задач
0
1Вопрос18 мин

Agent critic для Text2SQL

Text2SQL copilot возвращает SQL для закрытой продовой базы. Как спроектировать agent critic, который валидирует запрос до запуска?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

Нужен многоступенчатый critic: SQL parser, dry-run/EXPLAIN в безопасном контуре, проверка разрешенных таблиц, schema metadata, semantic judge и confidence/fallback.

Подробный разбор

Хороший critic не должен быть еще одной LLM без ограничений. Первый слой - deterministic checks: SQL parser под нужный диалект, запрет DDL/DML, allowlist таблиц и колонок, лимиты, EXPLAIN или dry-run в sandbox. Второй слой - schema-aware validation: существуют ли таблицы, join keys, типы фильтров, агрегаты и доступы.

Третий слой проверяет соответствие пользовательскому запросу. Можно извлечь из natural language intent, метрики, dimensions, filters, time range и сравнить с SQL AST. Для спорных случаев LLM полезна как judge, но ее ответ должен быть structured и сопровождаться reasons/confidence.

В production нужны fallback: не запускать запрос при низкой уверенности, вернуть пользователю уточняющий вопрос или отправить на human review. Отдельно логируются причины reject/accept, чтобы улучшать copilot и critic.

Типичные ошибки

  • Проверять только синтаксис и считать запрос безопасным.
  • Не различать runnable SQL и SQL, который отвечает на исходный вопрос.
  • Давать агенту прямой доступ к production без sandbox/dry-run.

Как сказать на собеседовании

  • Раздели deterministic checks и semantic checks.
  • Назови SQL AST, EXPLAIN/dry-run, allowlist и confidence fallback.
2Вопрос16 мин

Semantic validation SQL vs NL-запрос

Как проверить, что сгенерированный SQL возвращает именно то, что пользователь попросил на человеческом языке?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

Нужно привести NL-запрос и SQL к сопоставимому структурному виду: intent, metrics, dimensions, filters, joins, grouping, ordering и time range.

Подробный разбор

Один практичный путь - строить промежуточное представление. Из пользовательского запроса извлекаем intent: какие сущности нужны, какая метрика, какие измерения, фильтры, период, сортировка и лимит. SQL парсим в AST и извлекаем те же поля: SELECT, WHERE, GROUP BY, JOIN, ORDER BY, LIMIT.

Дальше сравниваем структуры: например, пользователь просил sales volume, а SQL выбирает price; просил клиентов за месяц, а SQL фильтрует по дате заказа без timezone; просил top sellers, а SQL не сортирует по нужной метрике.

LLM может помочь как semantic judge, но лучше просить structured verdict: matched fields, missing constraints, suspicious joins, ambiguity. Для критичных запросов нужны regression examples и golden SQL или хотя бы expected plan.

Типичные ошибки

  • Сравнивать NL и SQL строково.
  • Не проверять агрегаты, grouping и time filters.
  • Не обрабатывать неоднозначность пользовательского запроса.

Как сказать на собеседовании

  • Скажи "SQL AST" и "intermediate representation".
  • Приведи пример несовпадения: price vs sales volume.
3Вопрос14 мин

Schema linking и NER в доменной базе

Пользователь пишет естественный запрос к большой корпоративной базе. Как матчить сущности, аббревиатуры, таблицы и колонки?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

Нужны data catalog, glossary, aliases, embeddings по описаниям таблиц/колонок, entity extraction и reranking кандидатов с учетом доступа и бизнес-домена.

Подробный разбор

В больших базах названия колонок часто не совпадают с языком пользователя. Поэтому нужен слой metadata: описания таблиц, owner, бизнес-сущности, aliases, аббревиатуры, примеры запросов и ограничения доступа.

Pipeline: извлечь из запроса сущности и намерение, найти candidate tables/columns через lexical и embedding retrieval по catalog, затем rerank с учетом домена, joinability и истории успешных запросов. Для аббревиатур полезны словарь и human feedback от аналитиков.

Важно учитывать безопасность: даже если таблица семантически подходит, пользователь может не иметь доступа. Хороший ответ также упоминает ручную разметку golden examples и continuous improvement по rejected/edited SQL.

Типичные ошибки

  • Думать, что LLM сама запомнит всю схему.
  • Не учитывать aliases и доменные аббревиатуры.
  • Не фильтровать кандидатов по правам доступа.

Как сказать на собеседовании

  • Назови data catalog и glossary.
  • Раздели retrieval кандидатов и reranking.
4Вопрос12 мин

BERT: encoder, pretraining и attention

Что такое BERT, чем encoder отличается от decoder и какие pretraining-механизмы у BERT?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

BERT - encoder-only Transformer. Он видит контекст слева и справа, исторически обучался через masked language modeling и next sentence prediction.

Подробный разбор

BERT использует encoder-блоки Transformer: self-attention без causal mask, feed-forward layers, residual connections и normalization. В отличие от autoregressive decoder, encoder может смотреть на всю последовательность сразу, поэтому хорошо подходит для классификации, NER, retrieval embeddings и понимания текста.

Классический pretraining BERT: masked language modeling, где часть токенов маскируется и модель восстанавливает их по контексту, и next sentence prediction в оригинальной статье. В современных вариантах NSP часто заменяли или убирали.

Attention внутри encoder считает Q/K/V для токенов, softmax по scaled dot products и обновляет представления токенов с учетом контекста.

Типичные ошибки

  • Называть BERT decoder-only моделью.
  • Не упомянуть masked language modeling.
  • Говорить про attention без Q/K/V.

Как сказать на собеседовании

  • Начни с encoder-only и bidirectional.
  • Коротко сравни с GPT через causal mask.
5Вопрос12 мин

LoRA против классических адаптеров

Опиши механизм LoRA. Если LoRA и classic adapters дают одинаковое качество, что выбрать для inference?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

LoRA замораживает исходные веса и учит low-rank delta. Для inference часто удобнее LoRA, потому что delta можно смерджить в базовые веса и не добавлять слой в forward pass.

Подробный разбор

LoRA представляет изменение матрицы весов как произведение двух низкоранговых матриц. Вместо полного обновления D x D весов обучаются A и B с rank r, где параметров порядка 2Dr. Базовая модель заморожена, поэтому optimizer state и trainable memory сильно меньше.

Classic adapters добавляют отдельные bottleneck layers в сеть. Они тоже parameter-efficient, но на inference остаются дополнительными операциями в forward pass. Если качество одинаковое и нет требований динамически переключать adapters, LoRA часто лучше: ее можно merge-нуть в исходные веса и не платить дополнительную latency.

Если нужно быстро переключать много задач или держать отдельные персонализации, adapters/несмердженные LoRA могут быть удобнее операционно.

Типичные ошибки

  • Сказать, что LoRA уменьшает размер базовой модели на inference.
  • Не объяснить low-rank decomposition.
  • Не сравнить latency adapters и merged LoRA.

Как сказать на собеседовании

  • Для матрицы D x D назови порядок параметров 2Dr.
  • Отдельно скажи про merge в inference.
6Вопрос10 мин

Overfitting, regularization и dropout

Как бороться с переобучением модели? Объясните L1/L2, dropout 0.5 и что происходит с dropout на inference.

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

Используют validation, early stopping, data augmentation, L1/L2, dropout, smaller model и ensembling. Dropout зануляет активации на train, а на inference обычно отключается.

Подробный разбор

Переобучение контролируют через регуляризацию и корректную валидацию: holdout/CV, early stopping, уменьшение capacity, data augmentation, weight decay/L2, L1 для sparsity, dropout и иногда ensembling.

Dropout с p=0.5 означает, что на train каждая соответствующая активация зануляется с вероятностью 0.5. Модель не может полагаться на один фиксированный путь и учится более устойчивым представлениям. В современных фреймворках обычно используется inverted dropout: на train оставшиеся активации масштабируются на 1 / (1 - p), а на inference dropout отключается без дополнительного scaling.

7Вопрос10 мин

Градиент и vanishing gradient

Что такое градиент и почему в глубоких сетях возникает затухающий градиент?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

Градиент показывает направление роста loss по параметрам; vanishing gradient возникает, когда произведение малых производных почти зануляет сигнал для ранних слоев.

Подробный разбор

Градиент loss по параметрам показывает, как нужно менять параметры, чтобы уменьшать loss. В backprop градиент проходит через цепочку производных слоев.

Если производные или спектральные нормы якобианов меньше единицы, их произведение быстро уменьшается с глубиной. Поэтому ранние слои получают очень слабый сигнал и почти не обучаются. Типичные меры: ReLU/GELU вместо насыщаемых sigmoid/tanh, residual connections, normalization, правильная initialization и gradient clipping для exploding gradient.

8Вопрос10 мин

Stride и padding в CNN

Что такое stride и padding в сверточной сети, и как они влияют на размер feature map?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

Stride задает шаг фильтра по изображению, padding добавляет рамку по краям; вместе они управляют spatial resolution выходной карты.

Подробный разбор

В convolution фильтр скользит по входу. Stride S говорит, на сколько пикселей сдвигать фильтр между позициями: чем больше stride, тем меньше выходная spatial resolution.

Padding P добавляет значения по краям входа, обычно нули, чтобы фильтр мог применяться к граничным пикселям и чтобы контролировать размер выхода. Для одной размерности выход примерно равен floor((N + 2P - K) / S) + 1, где N - размер входа, K - размер kernel.

9Вопрос10 мин

Skip connection и зачем он нужен

Что такое skip connection и почему residual-связи помогают обучать глубокие сети?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

Skip connection добавляет вход блока к его выходу, облегчает поток градиента и позволяет блоку учить поправку F(x), а не всю функцию с нуля.

Подробный разбор

В residual block выход часто имеет вид y = x + F(x). Это дает прямой путь для информации и градиента через сеть, поэтому глубокую модель проще оптимизировать.

Блок может учить не всю трансформацию с нуля, а поправку к входу. Это помогает против vanishing gradient, стабилизирует обучение и позволяет строить существенно более глубокие архитектуры, например ResNet и Transformer-блоки с residual connections.