К тренажеру
ВопросHardml-platformРеальный собес

Batch retrieval и realtime reranking в рекомендательной платформе

Спроектируйте платформу, где retrieval в основном считается batch, а realtime слой меняет порядок рекомендаций по свежим user interactions.

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

Batch pipelines считают candidate sets и пишут в serving storage; online API быстро читает кандидатов и применяет lightweight reranker.

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

Batch retrieval удобно строить через Airflow/cron jobs: CF, content-based, graph candidates, quality filters, dedup и запись в DB/feature store. Online service получает request context, читает precomputed candidates, подтягивает свежие агрегаты действий пользователя из low-latency storage и применяет reranking/blending.

Нужны fallback-и, SLA на p95/p99, versioning алгоритмов, experiment assignment, observability, rollback и контроль freshness.

Теория

Batch слой снижает стоимость retrieval, realtime слой добавляет контекст без дорогого online поиска по всему каталогу.

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

  • Пытаться считать тяжелый retrieval online.
  • Не версионировать кандидатов.
  • Не иметь fallback при пустой истории.

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

  • Раздели candidate generation, feature serving, ranking, experimentation и monitoring.