Мы создаём Поиск будущего
Наша команда начинает строить масштабный проект, который определит технологическое развитие Яндекс Поиска в ближайшие годы.
Как ни странно, сейчас в компании нет общей поисковой системы. Веб-поиск (основной поиск Яндекса, доступный на yandex.ru/search) отличается своей реализацией от поиска по картинкам и видео. Поиски в Яндекс Еде, Музыке или Маркете тоже разрабатываются по большей части независимо. Основной вектор развития всегда задаёт веб-поиск, а остальные лишь догоняют. Со временем он сильно вырвался вперёд: улучшения не успевают добираться до других сервисов, и разрыв в технологиях продолжает расти.
В компании уже решали задачу создания единого поиска. Внутренний проект SaaS (Search-as-a-Service) предоставляет удобный интерфейс для решения простых поисковых сценариев и используется в сотнях сервисов компании. Однако ключевые поисковые проекты всё ещё развиваются независимо, а SaaS недостаточно гибок и всё так же находится в роли догоняющего.
С учётом накопленного в компании опыта сегодня мы понимаем задачу поиска настолько хорошо, что готовы сформулировать общее решение. Наша цель — разработать новую поисковую систему, которая позволит обобщить и унифицировать все поисковые и рекомендательные сценарии. Мы делаем так, чтобы и веб-поиск, и другие поиски в компании развивались в единой среде поверх общей технологической базы, а не параллельно друг другу.
Задача амбициозная и сложная. Сейчас мы работаем над дизайном SaaS нового поколения и внедряем MVP. Сейчас — тот самый момент, когда можно присоединиться к проекту на старте и повлиять на его дальнейшее развитие в целом.
Какие задачи вас ждут
Исследование и проектированиеВам предстоит познакомиться с существующими поисковыми проектами и принять участие в проектировании дизайна новой распределённой отказоустойчивой поисковой системы. Разработка на низком уровнеВы будете заниматься разработкой и внедрением различных поисковых индексов, кодеков сжатия и компактных структур данных. Разработка эффективного рантайма и индексацииНаши инсталляции хранят десятки петабайт данных, потребляют сотни тысяч ядер CPU и обрабатывают сотни миллионов запросов в секунду.
Мы ждем, что вы
– Хорошо владеете языком C++ и хотите на нём писать
– Знаете классические алгоритмы и структуры данных
– Глубоко разбираетесь в многопоточном программировании
– Использовали и разрабатывали распределённые системы
– Понимаете, как работают поисковые системы и как устроены поисковые индексы внутри (будет преимуществом)