Направление Поиска в блоке AI VK отвечает за все поисковые системы внутри группы компаний.
Мы ищем разработчика C++, который присоединится к команде для развития ключевого компонента — движка блендинга (смешивания) поисковых модальностей. Это финальный этап ранжирования нашего поиска, который определяет, какие блоки и в каком порядке увидит пользователь. Задача блендинга критически важна для таких продуктов, как VK Видео, ВКонтакте и Дзен, в которых существует большое количество поисковых модальностей (видео, статьи, сообщества, люди, посты и тому подобное) и которыми ежедневно пользуются десятки миллионов людей.
Задачи
- Развитие и оптимизация ядра движка на C++: повышение производительности, снижение задержек (latency), обработка больших объёмов данных в реальном времени
- Архитектурный дизайн: участие в проектировании масштабируемой и отказоустойчивой системы, способной выдерживать пиковые нагрузки крупнейших сервисов рунета
- Реализация продуктовых гипотез: тесная работа с ML-инженерами, аналитиками и продуктовыми менеджерами для внедрения специальных сценариев, новых правил и логик ранжирования, фильтраций, A/B-тестирования и кастомизации выдачи
- Интеграция с ML-моделями: обеспечение эффективного взаимодействия движка с моделями ранжирования и релевантности
- Поддержка и мониторинг: участие в поддержании высокой доступности (high availability) компонента, анализ метрик, устранение инцидентов
Требования
- Опыт коммерческой разработки на C++ от двух лет
- Глубокие знания языка, понимание принципов ООП, алгоритмов и структур данных
- Опыт работы с многопоточностью (multithreading) и асинхронным программированием
- Понимание принципов построения высоконагруженных и отказоустойчивых систем
- Умение работать в команде, ясно излагать мысли и аргументировать решения
Будет плюсом
- Опыт в работе с Поиском, рекомендательными системами или Big Data
- Базовое понимание машинного обучения