К обычному разбору
Тренировка по собеседованиюСобеседованиеOLX2026-02-23

OLX: Техническое собеседование

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

Шагов
6
Вопросов
6
Задач
0
1Вопрос12 мин

API и границы ответственности горизонтальной recsys-платформы

OLX хочет единый recommendation API для motors, jobs, real estate и других touchpoints. Как спроектировать интерфейс и ownership?

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

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

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

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

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

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

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

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

Клиент передает caller, domain, touchpoint, user/item context; платформа внутри выбирает алгоритм, fallback-и, rules и experiment variant.

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

Платформа должна скрывать сложность алгоритмов от vertical teams, но дать стабильный контракт: request context, constraints, pagination, response metadata, experiment/debug fields. Внутри нужны per-touchpoint configs, routing по домену, общие foundational algorithms и доменные адаптации.

Ownership: платформа отвечает за качество, SLA, fallback и эксперименты; vertical teams дают продуктовые требования, ограничения и метрики.

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

  • Сделать API слишком общим без touchpoint context.
  • Переложить всю логику на клиентов.
  • Не предусмотреть debug metadata.

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

  • Покажи, где заканчивается ответственность платформы и начинается ответственность продуктовой вертикали.
2Вопрос15 мин

Как персонализировать 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.

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

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

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

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

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.

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

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

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

  • Раздели candidate generation, feature serving, ranking, experimentation и monitoring.
4Вопрос12 мин

Offline evaluation перед A/B тестом рекомендателя

Как построить offline evaluation framework для новой модели рекомендаций и связать его с online A/B тестом?

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

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

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

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

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

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

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

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

Сделать time-based split на логах, считать ranking/retrieval метрики и guardrails, но финальное решение принимать через A/B.

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

Offline framework должен фиксировать dataset construction, time split, eligible inventory, labels from future interactions, negative sampling и leakage checks. Метрики: Recall@K, NDCG@K, MAP, coverage, diversity, freshness, calibration, business proxies.

Нужно помнить про exposure bias: в логах видны только показанные items. Поэтому offline используется для фильтрации плохих идей и диагностики, а реальное влияние на пользователей проверяется online A/B.

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

  • Считать precision на случайных negatives.
  • Не делать time split.
  • Ждать прямой корреляции с CTR.

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

  • Объясни, какую ошибку offline поймает, а какую поймает только A/B.
5Вопрос15 мин

Fairness для платных объявлений в marketplace recommendations

В маркетплейсе есть бесплатные и платные объявления. Нужно давать платным больше показов/кликов, но не портить релевантность пользователю. Как решить задачу?

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

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

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

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

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

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

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

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

Это constrained ranking: оптимизировать user relevance при ограничениях/целях по exposure paid ads и seller commitments.

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

Нужно определить бизнес-обещание: multiplier к показам, минимальный exposure, pacing бюджета или target clicks. Затем ранжировать с учетом relevance score, paid priority, remaining budget/exposure debt и user experience constraints.

Возможные подходы: post-ranking reallocation, calibrated boost, constrained optimization, bandit/pacing, per-segment quotas. Метрики: CTR/conversion, revenue, paid exposure delivery, seller fairness, complaints, retention.

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

  • Просто бустить paid ads.
  • Игнорировать релевантность.
  • Не учитывать inventory и frequency capping.

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

  • Сначала уточни бизнес-обещание продавцу, затем переведи его в измеримое constraint.
6Вопрос12 мин

GenAI-профили пользователей для рекомендаций

Компания генерирует текстовые user profiles из истории пользователя с помощью GPT-like модели. Как использовать такие профили в recommender system?

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

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

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

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

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

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

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

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

Профили можно использовать как embedding/text features для retrieval/reranking, но нужны freshness, privacy, hallucination checks и A/B validation.

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

User profile можно превратить в embedding и использовать для user-to-item retrieval, reranking features или explainable interest clusters. Pipeline: собрать историю, очистить PII, сгенерировать профиль, провалидировать schema/quality, сохранить versioned profile и обновлять по расписанию.

Риски: hallucinations, stale interests, sensitive attributes, cost и нестабильность модели. Проверка: offline retrieval metrics, profile consistency, segment analysis и online A/B.

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

  • Слепо доверять тексту LLM.
  • Хранить sensitive attributes.
  • Не сравнить с простым embedding baseline.

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

  • Подчеркни incremental value над обычными агрегатами истории.