Разработчик в команду Perforator в Поиск
Навыки
- Алгоритмы и структуры данных
- Assembler
- C++
- Распределённые системы
- Linux
- Node.js
- PostgreSQL
Ещё 1
- S3 (объектное хранилище)
О компании и продукте
- Мы смогли построить Perforator — эффективное и неинвазивное решение, позволяющее профилировать все процессы во внутреннем облаке без настройки со стороны пользователя. У системы три основные части. Хостовый агент: выполняется на всех серверах в дата-центре. Бэкенд: собирает минутные профили с агентов. Хранилище: позволяет строить профили по произвольным запросам. Мы успешно выкатили Perforator внутри Яндекса и выпустили его в опенсорс. Сейчас мы разрабатываем и внедряем сложные и важные фичи и оптимизации на уровне всей компании
- Мы пишем под Linuх, анализируем процессы внутри ядра с помощью eBPF (урезанный по функциональности диалект C). Храним профили в ClickНouse, S3, PostgreSQL. Какие задачи вас ждут Поддержка профилирования Node.js
- Мы хорошо профилируем нативные языки и умеем обрабатывать некоторые интерпретируемые/JIT-компилируемые языки, вам нужно будет встроить Node.js в существующий код, учтя все его особенности
- Сейчас мы строим правила для быстрой раскрутки стека из DWARF-информации по бинарю. Но иногда DWARF-информации нет, например в общих библиотеках
Задачи
- Разработчик в команду Perforator в Поиск
- Присоединившись к нам, вы будете разрабатывать новые фичи и совершенствовать существующие, тем самым помогая разработчикам Яндекса и опенсорс-комьюнити оптимизировать свои сервисы
- Наш стек
- C++ и Gо
- Вам предстоит поддерживать профилирование интерпретируемых языков Node.js
- Разработка эффективного хранилища профилей
- Вам нужно будет научиться строить сложные агрегаты по историческим данным, чтобы по нажатию одной кнопки быстро показывать профиль конкретного сервиса
- Ещё одна задача — раскраска строк кода в зависимости от количества ресурсов, потраченных на их исполнение
- Так мы узнаем, к примеру, что re-hash HashMap съедает 100 тысяч ядер по всему флоту, а разработчики поймут, насколько важно оптимизировать их код
- Построение правил раскрутки из ассемблера
- Чтобы раскручивать стеки с участием таких функций, предлагается по ассемблеру уметь раскручивать стек, смотря на изменение регистра RSP
- Больше о бэкенде в Яндексе — в канале Yandex for Backend
Требования
- Хорошо знаете базовые алгоритмы и структуры данных
- Разбираетесь в механизмах работы компьютера и операционных систем
- Умеете писать надёжный и читаемый многопоточный код
- От 3 лет
- Не страшно, если вы не владеете Go, но готовы научиться: язык простой, и мы готовы помочь с его освоением
- Без знания C++ будет сложно: требовательные к производительности места мы пишем на «плюсах»
Будет плюсом
- Слышали про eBPF и код ядра Linux
- Не боитесь копаться во внутренностях программ, готовы сидеть часами в GDB или RR
- Знакомы с ассемблером и Calling Convention. Понимаете, зачем нужны Frame Pointers и как с ними раскрутить стек, зная только значение RBP
- Понимаете в форматах ELF и DWARF
- Разбираетесь в распределённых системах
- Имеете успешный опыт участия в CTF
- Офисы в Москве
- Как в Яндексе проходят алгоритмические секции собеседований
- Как мы нанимаем бэкенд-разработчиков
- Задачи для подготовки к собеседованиям
Условия
- Гибридный
- Удалённая работа
- Код тысяч сервисов Яндекса выполняется на миллионах ядер, и любая оптимизация в масштабах всей компании позволяет сэкономить значительное количество ресурсов
- Есть множество механизмов для нахождения узких мест, но лучше всего себя показывает always-on-профилировщик — он выполняется на всех серверах одновременно и позволяет получать подробные профили того окружения, в котором исполняется код
Паспорт вакансии
История публикации
Появилась в Вакандии27 дней
Перепубликациинетпубликовалась один раз
Проверяли на источникеВидели сегодня
Среди похожихНет данных203 из 30 · у похожих вакансий почти одинаковый возраст — сравнивать нечего
Откуда что взялось
Отмечено то, что вывели мы. Без пометки — значение назвал работодатель.
ГрейдMiddleвыведено из другого признака
Формат работыГибридвычитано из текста вакансии
ГеографияМосква, Россиявычитано из текста вакансии
Зарплатане указана
Почему на этом месте в выдаче
Порядок выдачи объявлен контрактом: свежесть решает между днями, полнота и зарплата — внутри дня.
Полнота карточки753 из 4 полей: грейд, формат, география, зарплата
Зарплата названа0вилки нет вовсе
Проверка Вакандии
Источники и свежесть
- Тип источника
- Карьерный сайт работодателя
- Найдено публикаций
- 1
Посмотреть публикации и даты
- careerОсновная публикация · 2026-05-28
Безопасность
Отклик уходит на сайт источника
Вакандия показывает вакансию, но не отправляет отклик и не проверяет работодателя. Сам отклик вы оставляете на внешнем сайте — yandex.ru.
Признаки мошенничества
- Просят предоплату, «залог» или деньги за обучение и оборудование.
- Требуют код из SMS, данные банковской карты или доступ к «Госуслугам».
- Быстро уводят в мессенджер и торопят с решением.
- Обещают большой доход без опыта и без деталей задач.
Настоящий работодатель не просит денег и платёжных данных до трудоустройства.
Продолжить поиск
Похожие вакансии
Причина сходства указана на каждой карточке
Подробнее - Подробнее
Почему похожа: похожая специализация · тот же город
Fabrique — Python-разработчик (Django, DRF)
- Junior
- Удалённо из России
- Москва, Россия