Яндекс

Разработчик в команду Perforator в Поиск

Middle · Гибрид · Москва, Россия · Английский не нужен

Навыки

  • Алгоритмы и структуры данных
  • 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

Работодатель

Яндекс

50 активных вакансий · вилка работодателя указана в 1%

Открыть профиль компании

Безопасность

Отклик уходит на сайт источника

Вакандия показывает вакансию, но не отправляет отклик и не проверяет работодателя. Сам отклик вы оставляете на внешнем сайтеyandex.ru.

Признаки мошенничества
  • Просят предоплату, «залог» или деньги за обучение и оборудование.
  • Требуют код из SMS, данные банковской карты или доступ к «Госуслугам».
  • Быстро уводят в мессенджер и торопят с решением.
  • Обещают большой доход без опыта и без деталей задач.

Настоящий работодатель не просит денег и платёжных данных до трудоустройства.

Продолжить поиск

Похожие вакансии

Причина сходства указана на каждой карточке

  1. Почему похожа: похожая специализация · тот же грейд

    CSSSR

    DevOps-инженер

    • Middle
    • Удалённо
    Подробнее