Разработчик в команду Perforator в Поиск
офис, удалёнка, гибрид, Москва
Команда Perforator развивает always‑on профилировщик: агент на серверах, бэкенд для сбора минутных профилей и хранилище для запросного построения профилей. Роль нужна для поддержки профилирования интерпретируемых языков и разработки эффективного хранилища, чтобы экономить ресурсы и помогать разработчикам оптимизировать код
ГрейдSenior
Стек
C++GoClickHouseS3PostgreSQLLinuxeBPFNode.js
Задачи
- •Встраивать поддержку профилирования Node.js в существующую систему
- •Разрабатывать и оптимизировать хранилище профилей и агрегаты по историческим данным
- •Реализовывать раскраску строк кода по потреблению ресурсов
- •Построение правил раскрутки стека из DWARF и по ассемблеру
- •Поддержка и оптимизация хостового агента и бэкенда
Обязательно
- •Глубокие знания алгоритмов и структур данных
- •Знание устройства компьютера и ОС (Linux)
- •Умение писать надёжный многопоточный код на C++
- •Опыт работы с производительным кодом и вниманием к эффективности
Будет плюсом
- •Знание eBPF и кода ядра Linux
- •Опыт работы с ELF и DWARF, раскрутка стека
- •Умение читать ассемблер и понимание calling conventions
- •Опыт отладки с GDB или RR
- •Понимание распределённых систем
- •Участие в CTF или похожих задачах по реверсу/низкоуровневому анализу