Наша команда создаёт и развивает инфраструктуру для поиска исполнителей на технологической платформе, которая поддерживает сервисы перевозок и электронной коммерции. На нашей базе работают заказы Яндекс Еды, Такси, Лавки и Доставки.
Поиск исполнителя — ключевая задача любого сервиса услуг, поэтому мы уделяем особое внимание отказоустойчивости и масштабируемости системы. Мы реализуем базовые сценарии и предоставляем механизмы для интеграции модулей и сервисов, разработанных другими командами под нашим контролем. Кроме того, мы активно помогаем другим командам оптимизировать их расширения и повышать их отказоустойчивость.
Обязанности
Работа с нагруженными сервисами: вы будете работать с одними из самых важных и загруженных сервисов бизнес-группы, которые обрабатывают сотни тысяч активных исполнителей с сотнями параметров из десятков источников. Также вам предстоит интегрировать дорожный граф и осуществлять поиск по нему.
Оптимизация и повышение отказоустойчивости: вам предстоит справляться с постоянным потоком задач по оптимизации и повышению отказоустойчивости систем, поскольку компания непрерывно растёт и требует готовности к новым вызовам.
Согласование протоколов и расширений: вы будете согласовывать протоколы и расширения с коллегами из других подразделений, проверять и оптимизировать принятые решения.
Приоритет качества: в работе мы ориентируемся на высокое качество, даже если придётся выбирать между скоростью, стоимостью и качеством.
Требования
Готовность разрабатывать на C++20.
Умение подбирать оптимальный алгоритм для решения задач.
Понимание стоимости различных операций (копирования памяти, захвата mutex, чтения с диска, хождения по сети и т. п.).
Знание основ разработки многопоточных приложений.
Общее представление о базах данных и о пользе (вреде) индексов в них.