Разработчик в команду Яндекс Картинок
Мы отвечаем за построение поисковой базы Яндекс Картинок. Наша задача — формировать поисковые индексы, которые максимально полно и актуально отражают текущее состояние интернета и способны корректно ответить на любой текстовый или картиночный запрос пользователя.
Ежемесячно более 100 млн человек пользуются нашим поисковиком. У нас есть десятки тысяч вычислительных ядер и сотни петабайт информации, чтобы построить поисковую базу, которая поможет им найти ответы на свои вопросы, решить повседневные задачи и сделать жизнь немного проще и удобнее.
Используем большой набор различных технологий: от фреймворков потоковой обработки данных, распределённых персистентных очередей до взаимодействия с KV-storage и MapReduce-системой YT. Мы стремимся ускорить доставку картинок в Яндекс Поиск и ищем опытного разработчика на C++, который поможет нам в этом.
Задачи и обязанности
Ускорение обновления поисковых индексов
Поисковая база строится несколькими контурами: от крошечного быстрого потокового до большого индексатора на парадигме MapReduce. Большинство картинок до Поиска доставляется через большой индексатор, и это иногда занимает много времени, из-за чего Поиск начинает показывать неактуальные данные, например картинки, которых на сайте давно нет. Мы хотим ускорить доставку картинок до Поиска, переработав архитектуру индексатора и сделав систему отладки проблем более прозрачной.
Развитие поисковых индексов
Поиск постоянно растёт и развивается. Новая функциональность и факторы ранжирования требуют модернизации существующих поисковых индексов, а порой и создания новых. Вам предстоит внедрять доставку новых данных до Поиска совместно со смежными командами, которые занимаются качеством и рантаймом Поиска.
Требования
- Разбираетесь в базовых алгоритмах и структурах данных
- Хорошо знаете С++
- Знакомы с паттернами и идиомами построения программного обеспечения
- Умеете писать надёжный и читабельный многопоточный код
- Имеете опыт разработки большого сервиса в команде