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

Как персонализировать item-page карусель автомобилей

На странице конкретного автомобиля все пользователи видят одинаковые item-to-item рекомендации. Как добавить персонализацию, сохранив связь с текущим item и низкую latency?

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

Смешать item-to-item кандидатов с user-to-item сигналами, использовать precomputed user embeddings/history features и realtime reranking.

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

Текущий item-to-item retrieval стоит оставить как якорь релевантности. Добавляем user representation из long-term и short-term истории: просмотры, клики, избранное, контакты, price range, brand/model, location. Кандидатов можно брать из item-to-item, user-to-item и fallback-пулов, затем blend/rerank моделью с фичами current item, user profile, candidate item и cross-features.

Для latency user embeddings и агрегаты лучше считать batch/nearline, а realtime слой использовать только для свежих действий и легкого reranking.

Теория

Двухстадийная схема recsys: retrieval дает recall, ranking/reranking оптимизирует relevance и бизнес-метрики.

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

  • Полностью заменить item-to-item на user-to-item.
  • Забыть про текущий автомобиль.
  • Не обсудить cold start и latency.

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

  • Явно проговори, какие сигналы batch, какие realtime.
  • Измеряй прирост относительно неперсонализированного baseline.