Разделите систему на адаптеры источников, очередь обработки, нормализацию и API единого каталога. Каждый адаптер преобразует особенности площадки в общий контракт объявления.
Конвертер объявлений из разных источников
Разделите систему на адаптеры источников, очередь обработки, нормализацию и API единого каталога. Каждый адаптер преобразует особенности площадки в общий контракт объявления.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Необходимо создать конвертер объявлений, который будет извлекать данные с множества площадок и отдавать их клиентам в едином виде. Система должна реализовывать следующие возможности:
- Извлечение данных с разнообразных веб‑ресурсов.
- Приведение полученной информации к общему формату.
- Предоставление клиентам сведений о ценах объявлений.
Ответ
Разделите систему на адаптеры источников, очередь обработки, нормализацию и API единого каталога. Каждый адаптер преобразует особенности площадки в общий контракт объявления.
У объявления нужны source, external_id, ссылка, цена, валюта, время наблюдения и признаки актуальности. Обновления обрабатывайте идемпотентно по паре source/external_id; объединение одинаковых объектов между площадками требует отдельного правила, чтобы не склеить разные товары. Для источников задайте лимиты запросов, retry с backoff и мониторинг ошибок парсинга. Клиентам показывайте возраст цены и исходную валюту. Доступ и частота сбора должны соответствовать разрешённым способам работы конкретной площадки.