Разработчик в команду индексации 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