- Страна
- Россия
Разработчик в команду индексации Search-as-a-Service (C++)
Престижная компания, работа над сложными технологическими задачами (R&D, векторный поиск) и отличный социальный пакет делают вакансию крайне привлекательной.
Сформировано ИИ автоматически. Не является проверкой вакансии или работодателя.
Улучшите резюме под эту вакансию
Возьмём требования и создадим новую версию резюме с акцентом на нужный опыт
Сложность вакансии
Высокая сложность обусловлена требованиями к глубокому знанию C++, алгоритмов, многопоточности и опыта работы с распределенными системами на масштабах Яндекса.
Сформировано ИИ автоматически. Не является проверкой вакансии или работодателя.
Анализ зарплаты
Зарплата в вакансии не указана, но для Senior C++ разработчиков в Яндексе рыночные вилки обычно находятся в верхнем сегменте рынка РФ, часто дополняясь опционной программой.
Сформировано ИИ автоматически. Не является проверкой вакансии или работодателя.
Контакты для отклика
Откройте контакты, указанные в вакансии.
Описание вакансии
*❤️ Разработчик в команду индексации 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
Наши бонусы:Яндекс — это комьюнити. Тут есть и спортивные клубы, и книжный клуб, и киберспортивное сообщество. Это не все бонусы — полный список тут.
*📩* Откликнуться на нашем сайте
Создайте идеальное резюме с помощью ИИ-агента

Навыки
- C++
- Algorithms
- Data Structures
- Distributed Systems
- Multithreading
- SIMD
- Vector Search
- kNN
- Kafka
- Flink
- MapReduce
- ClickHouse
- ElasticSearch
Возможные вопросы на собеседовании
Вакансия предполагает работу с миллиардами документов и оптимизацию на низком уровне.
Расскажите о вашем опыте оптимизации производительности C++ приложений: какие инструменты профилирования вы использовали и каких результатов удалось достичь?
Команда строит распределенную систему индексации.
С какими проблемами консистентности данных вы сталкивались в распределенных системах и как их решали?
Упоминается разработка движка векторного поиска (kNN).
Какие алгоритмы приближенного поиска ближайших соседей (ANN) вам знакомы и в чем их преимущества/недостатки?
Требуется умение писать надежный многопоточный код.
Как бы вы реализовали потокобезопасную очередь без использования блокировок (lock-free) и в каких случаях это оправдано?
Будет плюсом знание SIMD и кодеков сжатия.
Как использование SIMD-инструкций может ускорить обработку инвертированных индексов?
Сформировано ИИ автоматически. Не является проверкой вакансии или работодателя.

