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.