Пресненская набережная 10
Привет! Это команда Построение запросов
Наша команда занимается развитием механизмов построения запроса при работе с поисковым движком 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 подходах