В приложении удобнее
Установить
Ozon

Старший разработчик Java, Гео спайдер

в Ozon

от 475 000 ₽/‍мес до налогов, совокупно

📍 Россия
Москва
Санкт-Петербург
Иннополис
Новосибирск
Удалённо
Специализация
Java / Scala
Уровень
Senior
Требуемый опыт
5+ лет

Технологии/инструменты

Java
NoSQL
Cassandra
ScyllaDB
Redis

Привет! Это команда специализированных индексов поиска.

Миллионы пользователей каждый день ищут товары на Ozon. Чтобы предложить релевантные товары, поиску нужно учитывать не только текст запроса, но и сотни факторов: доступность товара в регионе, сроки доставки, итоговую цену со скидками. За эти факторы отвечают специализированные индексы — отдельные высокопроизводительные структуры данных, которые в реальном времени обогащают поисковую выдачу точной информацией о каждом товаре.

Мы строим распределённую систему специализированных индексов, которая собирается и обновляется через потоковую обработку на Apache Flink и выдаёт ответы за миллисекунды под нагрузкой в десятки тысяч запросов в секунду.

Основные задачи команды

  • Разрабатываем и поддерживаем индекс доступности — фильтруем товары, которые недоступны для доставки в регион пользователя с учётом всей логистической цепочки.
  • Разрабатываем и поддерживаем индекс сроков доставки — показываем только те товары, которые укладываются в заданный пользователем временной промежуток.
  • Проектируем индекс цен — точное определение цены товара в поиске с учётом логистики, региональных коэффициентов и пользовательских скидок.
  • Строим надёжные пайплайны потоковой обработки данных на Flink для постоянной синхронизации индексов с мастер-данными.
  • Оптимизируем время построения и обновления индексов, чтобы изменения в логистике или ценах доходили до поиска за минуты, а не часы.
  • Интегрируемся с командами ранжирования, чтобы специализированные индексы эффективно использовались в формулах поиска.
  • Проектируем архитектуру хранения: балансируем между полнотой данных, скоростью записи и чтения, потреблением памяти.

Вы будете

  • Проектировать и разрабатывать новые специализированные индексы (в том числе индекс цен) — от исследования требований до продакшена.
  • Писать высоконагруженный код на Java, работающий под нагрузкой тысяч RPS с жёсткими SLA по latency.
  • Работать с Apache Flink — строить потоковые пайплайны для сбора, агрегации и доставки данных в индекс.
  • Оптимизировать структуры данных и форматы хранения для быстрого поиска и фильтрации (битовые карты, compressed sorted sets, вещественные числа с заданной точностью).
  • Участвовать в интеграции индексов в поисковый движок.
  • Проектировать A/B-эксперименты и следить за метриками качества поиска при изменениях в индексах.

Нам важно

  • Хорошее знание Java и опыт разработки от 5 лет.
  • Понимание классических алгоритмов и структур данных (особенно работающих с множествами, диапазонами, эффективной сериализацией).
  • Опыт разработки многопоточных приложений и работы с распределёнными системами.
  • Опыт использования реляционных СУБД и/или NoSQL-хранилищ (Cassandra, ScyllaDB, Redis).
  • Умение тестировать собственный код и работать с чужой кодовой базой.
  • Ответственность и аккуратность, готовность доводить задачи до конца.
  • Умение работать в команде и договариваться с продуктовыми и DS-командами.

Будет плюсом:

  • Опыт работы с Apache Flink (или другими стриминговыми движками: Kafka Streams, Spark Streaming).
  • Опыт разработки специализированных поисковых индексов или работы с Lucene / Elasticsearch / OpenSearch.
  • Опыт алгоритмической разработки: сжатие данных, BitSet / RoaringBitmap, range-индексы, работа с floating-point в условиях компромисса скорости и точности.
  • Опыт с протоколами gRPC, Avro / Protobuf.
  • Образование, связанное с математикой или Computer Science.
  • Понимание Data Science и/или ML Engineering (как модели ранжирования потребляют факторы из индексов).
  • Опыт работы с логистическими или ценообразовательными системами.
Ozon

О компании Ozon

Сфера
Электронная коммерция
Инвестиции
$100M+
Размер
1001+

Ozon — одна из крупнейших российских e-commerce компаний. Ежедневно обрабатываются несколько миллионов заказов, которые доставляются в 6500 населённых пунктов по всей России.