Ozon

Разработчик C#, Построение запросов

Не указана
  • Москва
  • От 3 до 6 лет
  • IT
  • Разработка поисковых технологий
  • C#
  • Apache Kafka
  • PostgreSQL

Привет! Это команда Построение запросов

Наша команда занимается развитием механизмов построения запроса при работе с поисковым движком Ozon. Наша ультимативная цель – предоставить удобный интерфейс взаимодействия с поиском, который понимает потребности пользователя с полуслова и подстраивается под его нужды. Для этого мы улучшаем как классические механизмы, например, персонализированные поисковые подсказки, так и разрабатываем совершенно новые механики на основе больших языковых моделей.

Мы хотим не только предлагать наиболее вероятные поисковые подсказки, но и влиять на результаты поиска за счет формирования запроса в поисковый движок. Для решения такой задачи требуется тесное взаимодействие с другими командами поиска и разработка сервисов, лежащих на пути исполнения пользовательского запроса – избежать хайлоада и повышенных требований к надежности не удастся.

Команда кроссфункциональная – мы разрабатываем рантайм сервисы и делаем ML ресерч в очень тесной коллаборации. Глубокие знания ML не требуются, но осведомленность про эту область приветствуется.

Стек:

  • .NET 10
  • Gitlab CI/CD, Kubernetes
  • Spark, Hadoop
  • OpenSearch, Postgres, ScyllaDb, Kafka, ClickHouse

Вам предстоит:

  • Повысить отзывчивость и интерактивность поиска.
  • Обогатить поисковое ранжирование сигналами из саджестов.
  • Построить налету персонализированный индекс подсказок.

Нам важно:

  • Отличное знание C# и опыт разработки от 3 лет
  • Знание классических алгоритмов и структур данных
  • Опыт с многопоточными приложениями
  • Знание основ построения распределенных систем – шардирование, репликация, load balancing, приемы для повышения отказоустойчивости

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

  • Опыт разработки и профилирования высоконагруженных сервисов (RPS >= 10000 при SLO на latency порядка десятков миллисекунд)
  • Опыт обслуживания приложений с деплоем в kubernetes – понимание ограничений на выделяемые ресурсы и подходы к разработке эффективного кода с учетом этих ограничений
  • Знания о классическом ML и нейросетевых deep learning подходах