Назад к подготовке

Serving с учетом текущего состояния корзины

Корзина меняется в текущей сессии. Как online serving должен учитывать add/remove item, cache invalidation и fallback?

Ответить самому

Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.

Загрузка

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

Recommendation service пересчитывает candidates на значимые изменения корзины, использует short TTL/cache, валидирует актуальный cart state и имеет degraded fallback.

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

Cart state является частью запроса, поэтому рекомендации должны меняться при add/remove item, смене адреса/магазина, промо или availability. При каждом событии не обязательно запускать тяжелую модель с нуля: item candidates и features можно хранить offline, а online слой быстро агрегирует по текущей корзине и rerank-ит shortlist.

Cache должен учитывать cart signature: sorted item ids, quantities, store/region, user segment и experiment arm. TTL короткий, а перед ответом применяются фильтры already-in-cart и availability. Если сервис не успел ответить, включается fallback: category popular, curated complements или скрытие блока.

Мониторинг: p95/p99 latency, stale response rate, cache hit, empty response, fallback share, invalid recommendations и mismatch между cart state на запросе и в ответе.

Теория

Session-aware serving требует согласованности между быстрым пользовательским состоянием и более медленными ML артефактами.