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