К обычному разбору
Тренировка по собеседованиюТехническое собеседованиеVertex / BP2026-04-02

Vertex / BP: invoice parsing, OCR и AI CI/CD

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

Шагов
4
Вопросов
4
Задач
0
1Кейс18 мин

Архитектура invoice parsing из PDF

Нужно построить систему, которая извлекает полезные поля из PDF-инвойсов разных поставщиков. Какую архитектуру выбрать?

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

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

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

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

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

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

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

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

Нужен hybrid pipeline: PDF parser для native PDFs, OCR для scans, layout/table extraction, rules/NER/LLM layer, validation и gold-set eval.

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

Сначала делим входы: native PDF, где можно достать текст и координаты, и scanned PDF, где нужен OCR. Далее строим layout representation: страницы, блоки, таблицы, координаты, confidence OCR. На этом слое можно применять правила для стабильных vendor templates и ML/LLM для более разнообразных форматов.

Хорошая архитектура обычно hybrid: deterministic extraction там, где поле явно находится по шаблону; model-based extraction для вариативных описаний; post-processing для нормализации дат, валют, сумм и vendor names; validation rules для проверки total, tax, line items и обязательных полей.

Система должна возвращать не только JSON, но и confidence плюс evidence: откуда взято поле. Это важно для ручной проверки и аудита.

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

  • Пытаться решить все одним prompt к PDF.
  • Не разделять native PDF и scan.
  • Не возвращать evidence/confidence для полей.

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

  • Начни с типов PDF и layout representation.
  • Обязательно добавь validation и human review queue.
2Вопрос10 мин

Native PDF или OCR: как выбрать путь обработки

В invoice parsing часть документов native PDF, часть сканы. Как определить, какой путь обработки использовать и какие ошибки ждать?

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

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

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

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

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

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

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

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

Пробуем извлечь text layer и координаты; если текста нет или он мусорный, идем в OCR. Для обоих путей сохраняем layout и confidence.

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

Native PDF обычно содержит текстовый слой: его можно извлечь быстрее, дешевле и точнее, чем OCR. Но текст может быть разбит странно, таблицы могут потерять структуру, а порядок чтения может не совпадать с визуальным.

Для сканов нужен OCR: там появляются ошибки распознавания символов, повороты, шум, плохое качество картинки, разрывы строк и неправильные таблицы. Поэтому pipeline должен сначала классифицировать документ: есть ли text layer, сколько текста извлекается, похож ли он на реальные слова/числа, есть ли страницы без текста.

Дальше оба пути лучше привести к одному формату: blocks/tables/cells with coordinates and confidence. Это упрощает downstream extraction и eval.

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

  • Всегда гонять OCR и платить лишнюю latency/cost.
  • Доверять text layer без проверки качества.
  • Терять координаты и layout при извлечении текста.

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

  • Скажи про unified layout representation.
  • Упомяни confidence и fallback между путями.
3Вопрос15 мин

Что делать, если invoice parsing слишком дорогой и медленный

Pipeline для PDF-инвойсов работает, но обработка стала медленной и дорогой. Как искать узкие места и оптимизировать?

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

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

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

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

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

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

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

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

Нужно разложить latency/cost по стадиям: upload, OCR, layout, LLM, validation. Затем кешировать, роутить простые случаи в правила и батчить тяжелые вызовы.

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

Оптимизация начинается с измерений. Для каждого документа нужно логировать размер, число страниц, тип PDF, время OCR, время table extraction, число LLM calls, token count, retries и итоговый outcome. Без такого breakdown легко оптимизировать не тот слой.

Дальше применяются routing rules. Простые vendor templates можно обрабатывать без LLM. Native PDFs не нужно отправлять в OCR. Страницы без полезных таблиц можно отбрасывать. LLM можно вызывать только на candidate regions, а не на весь документ.

Для production также полезны кеши по document hash, batch processing, async queue, лимиты на максимальное число страниц и human review для документов с низким confidence вместо бесконечных retries.

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

  • Оптимизировать модель без latency breakdown.
  • Отправлять весь документ в самый дорогой LLM путь.
  • Не отделять online SLA от offline batch обработки.

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

  • Сначала скажи: instrument every stage.
  • Затем предложи routing: rules for easy cases, LLM only for hard cases.
4Вопрос14 мин

Gold set и CI/CD для AI invoice extraction

Команда меняет prompts/models/rules для invoice parsing. Как не сломать качество при каждом изменении?

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

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

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

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

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

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

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

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

Нужен versioned gold set документов, field-level метрики, regression thresholds, prompt/model versioning, canary и rollback.

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

Для AI extraction CI/CD должен проверять не только "код собирается", но и качество извлечения. Нужен фиксированный gold set: документы разных поставщиков, scans/native PDFs, edge cases, плохие таблицы, разные валюты и языки. Для каждого документа хранят ожидаемые поля и line items.

Метрики лучше считать field-level: exact match или normalized match для invoice number/date/vendor/total, precision/recall для line items, numeric tolerance для сумм, а также долю документов, ушедших в human review. Каждый prompt, rule set и model version должны быть версионированы.

Перед rollout новая версия проходит regression thresholds, затем canary на части трафика. Если растет error rate, latency или human-review rate, нужен rollback.

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

  • Оценивать только на одном красивом demo PDF.
  • Не версионировать prompt и model configuration.
  • Не иметь rollback при ухудшении качества.

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

  • Говори field-level metrics, не просто overall accuracy.
  • Добавь canary и rollback как production часть.