- Страна
- Россия
Разработчик поискового рантайма в Search-as-a-Service (C++)
Это вакансия в одной из сильнейших инженерных команд страны с уникальными задачами мирового уровня. Отличный соцпакет и возможность влиять на ключевые технологии поиска делают это предложение крайне привлекательным для топовых разработчиков.
Сформировано ИИ автоматически. Не является проверкой вакансии или работодателя.
Улучшите резюме под эту вакансию
Возьмём требования и создадим новую версию резюме с акцентом на нужный опыт
Сложность вакансии
Высокая сложность обусловлена требованиями к глубокому знанию C++, многопоточности и опыту проектирования распределенных систем в условиях экстремальных нагрузок. Проектирование DSL и оптимизация под конкретное железо требуют исключительной технической экспертизы.
Сформировано ИИ автоматически. Не является проверкой вакансии или работодателя.
Анализ зарплаты
Яндекс предлагает конкурентную заработную плату, которая обычно находится на уровне или выше медианы рынка для Senior/Lead разработчиков. Итоговый доход сильно зависит от грейда и включает значительную бонусную часть и опционы.
Сформировано ИИ автоматически. Не является проверкой вакансии или работодателя.
Контакты для отклика
Откройте контакты, указанные в вакансии.
Описание вакансии
*❣️ Разработчик поискового рантайма в Search-as-a-Service (C++)*
SaaS (Search-as-a-Service) — общая поисковая платформа в Яндексе. Поисковый рантайм — это сложная распределённая система, которая принимает и маршрутизирует запросы, собирает документы из разных источников, фильтрует и ранжирует их в несколько стадий и возвращает результат пользователю.
Какие задачи вас ждут:
• Разработка логики исполнения поисковых запросовВам предстоит проектировать общий механизм исполнения запросов, который устроен как граф стадий. Каждая стадия может выполняться отдельным сервисом, чтобы гибко масштабироваться за пределы одного бэкенда.
• Развитие технологий поискового рантаймаМы строим систему, предоставляющую единую модель работы с различными типами поисковых индексов. Вы будете развивать и внедрять технологии, выжимая максимум из доступного железа.
• Создание SDK и инструментов для работы с рантаймомВы будете разрабатывать удобный SDK — единый интерфейс для отправки поисковых запросов, улучшать средства самостоятельной диагностики и делать многое другое.
• Проектирование языка поисковых запросовСегодня поисковые запросы описываются набором CGI-параметров. В перспективе мы хотим прийти к полноценному языку запросов — и у вас будет возможность спроектировать его с нуля.
Мы ждём, что вы:• Уверенно владеете C++ и хотите на нём писать
• Хорошо знаете классические алгоритмы и структуры данных
• Глубоко разбираетесь в многопоточном программировании
• Понимаете устройство Linux
• Разрабатывали распределённые системы
Будет плюсом, если вы:• Понимаете, как устроены поисковые системы
• Оптимизировали производительность на низком уровне
• Работали с системами под высокой нагрузкой и с жёсткими требованиями к времени обработки запросов
• Проектировали DSL, языки запросов, парсеры или планировщики исполнения
Почему у нас хорошо:В Яндексе корпоративная подписка на хорошую жизнь — чекапы, спорт, терапия, образовательные курсы и многое другое. Это не все бонусы — полный список тут.
*📩* Откликнуться на нашем сайте
Создайте идеальное резюме с помощью ИИ-агента

Навыки
- C++
- Algorithms
- Data Structures
- Multithreading
- Linux
- Distributed Systems
- High Load
- Performance Optimization
- DSL
- Parsers
Возможные вопросы на собеседовании
Проверка фундаментальных знаний, необходимых для работы с поисковыми индексами и графами запросов.
Расскажите о реализации и применении инвертированного индекса в поисковых системах.
Вакансия предполагает работу с высоконагруженным рантаймом, где цена ошибки в синхронизации велика.
Какие примитивы синхронизации в C++ вы бы использовали для минимизации задержек (latency) в многопоточном сервисе?
Работа в SaaS Яндекса требует понимания сетевого взаимодействия и отказоустойчивости.
Как обеспечить консистентность данных и доступность в распределенной системе при сетевом разделении (split-brain)?
В задачах упоминается проектирование языка запросов и парсеров.
С какими трудностями можно столкнуться при проектировании и реализации собственного DSL для поисковых запросов?
Важная часть работы — выжимать максимум из железа.
Какие техники низкоуровневой оптимизации кода на C++ вы применяли для уменьшения потребления CPU или памяти?
Сформировано ИИ автоматически. Не является проверкой вакансии или работодателя.

