Для осуществления поиска запрос должен быть предобработан: получена информация об устройстве, настройках, скорости сети пользователя. Должны быть исправлены опечатки, запрос должен быть разбит на токены, обогащён синонимами и эмбедами от моделей.
Сервисы анализа обрабатывают запросы в различные поверхности Поиска: текст, видео, картинки, геосервисы, Маркет, Алиса и другие. Скорость их работы напрямую влияет на скорость ответа пользователю, а отдельные оптимизации позволяют ускорить и работу других компонентов Поиска. Их надёжность и функциональность влияют на релевантность выдачи, на выбор тематических блоков, на автоматические перенаправления и server-side-рендеринг.
Для поддержания скорости ответа, темпа релизов кода, релизов быстрых данных, уровня надёжности используются внутренние инструменты для трассировки запросов, для анализа графа поисковых микросервисов, для ограничения потока запросов (RPS limiter). Все они тоже разрабатываются в нашей команде.
Центральный компонент представляет собой in-memory-граф из классов, связанных Protobuf-сообщениями, исполняющийся параллельно, где это возможно. Время ответа ограничено десятками миллисекунд, данные измеряются сотнями гигабайт в оперативной памяти, запросы — десятками тысяч в секунду. Доступность сервиса превышает 99.99%, релизы — ежедневно.
Браузеры умеют использовать сжатие со словарём, причём алгоритмы этого сжатия меняются со временем. Нужно внедрить актуальную версию этих алгоритмов, поддержав сжатие для страницы выдачи на стороне бэкенда.
Результаты поиска иногда можно вычислять и отправлять в браузер до того, как пользователь задал поисковый запрос. В результате для отображения выдачи нужно только отрисовать заранее полученную страницу в браузере, что выглядит как мгновенная работа. Нужно провести эксперименты, на каких срезах запросов такое внедрение будет максимально полезно пользователям и не слишком затратно по ресурсам, а также внедрить этот механизм.
Выкатка, тестирование и мониторинг долгое время реализовывались через сервисы с API. Уже некоторое время описание инфраструктуры в коде (как в Kubernetes) довольно популярно. Часть рутинных задач можно автоматизировать с использованием yaml-спецификаций сервисов. Нужно будет заметить рутинные действия, придумать способ их автоматизации и переложить монотонную работу на текстовые утилиты.
Будет плюсом, если вы
Здоровье
Расширенная медицинская страховка начинает работать с первого месяца в Яндексе. В неё входят: стоматология, ежегодные чекапы, неотложная помощь за рубежом, лечение критических заболеваний, в том числе онкологии, и страхование от несчастных случаев.
А также
Страховка для родственников по системе 80/20
Рост и развитие
В Яндексе есть всё, чтобы постоянно развиваться и учиться новому: внутренняя образовательная платформа, менторство и программы для начинающих и опытных руководителей.
Также мы оплачиваем участие в профильных конференциях — как в качестве спикера, так и в качестве участника.
Кроме того, в Яндексе есть внутренние проекты, где наши сотрудники делятся экспертизой, обсуждают сложные темы и разбирают кейсы своих проектов.
Спорт
Во всех крупных офисах Яндекса есть спортзалы со всем необходимым: тренажёрами, спортивным инвентарём, душевыми, шкафчиками для одежды и вещей. Можете заниматься самостоятельно, а можете с корпоративным тренером.
А также
Спортивный клуб Яндекса
И еще
Яндекс — одна из крупнейших ИТ-компаний в России. Мы развиваем самую популярную в стране поисковую систему и создаём сервисы, которые помогают людям в повседневных делах. С их помощью можно искать информацию в интернете, слушать музыку, выбирать товары и места, заказывать еду, перемещаться по городу и делать многое другое. Яндекс предлагает также продукты для бизнеса.