Разработчик в команду индексации Search-as-a-Service (C++)
Яндекс — технологическая компания, создающая интеллектуальные продукты и сервисы на основе машинного обучения: поиск, беспилотники, облако, образование и десятки других направлений.
Улучшение эффективности индексации и хранения данных. Мы строим технологию, на которой будут работать самые большие сервисы компании, поэтому эффективность использования железа критична — на нашем масштабе даже небольшой выигрыш в производительности экономит ощутимые ресурсы. Вы будете оптимизировать построение индексов на самом низком уровне, применять и улучшать современные кодеки сжатия, а также искать новые способы выжимать из железа максимум. Создание движка векторного поиска. Современные RAG-системы и AI-агенты сделали векторный поиск массовым: всё больше сервисов компании приходят к нам за kNN-поиском и предъявляют к нему более высокие требования по функциональности, скорости, качеству и масштабу. Чтобы закрыть этот спрос, мы с нуля разрабатываем движок приближённого поиска. Вы будете проектировать и запускать собственный kNN, способный работать на масштабах компании. Проектирование архитектуры и проведение R&D. Мы создаём систему нового поколения, и многие вопросы ещё остаются открытыми. Вы будете участвовать в формировании и принятии ключевых архитектурных решений и проверять их на практике: исследовать, тестировать и внедрять новые подходы к обработке петабайтов данных, их эффективному хранению и быстрой доставке обновлений до поиска. Больше о бэкенде в Яндексе — в канале Yandex for Backend.
- Уверенно владеете C++ и хотите на нём писать
- Хорошо знаете классические алгоритмы и структуры данных
- Разрабатывали высоконагруженные распределённые системы и понимаете паттерны их проектирования
- Умеете писать надёжный и быстрый многопоточный код
- Понимаете устройство современных поисковых систем и баз данных, знакомы с внутренностями Lucene, Elasticsearch, Qdrant, ClickHouse
- Знаете, как работают инвертированные индексы, приближённый поиск и различные алгоритмы ранжирования
- Знакомы с SIMD и понимаете, как работают современные кодеки сжатия
- Профилировали и оптимизировали приложения (CPU-bound и I/O-bound)
- Работали с технологиями потоковой обработки данных (Kafka, Flink) или MapReduce
Нажмите «Откликнуться», заполните короткую форму и прикрепите резюме. Команда обычно отвечает в течение 3 рабочих дней.