
Эксперт по разработке С++
YADRO
Санкт-Петербург
🏢 Офис
Senior
Полная занятость
Россия
Описание вакансии
Мы разрабатываем высокопроизводительную кластерную файловую систему с общим диском (Shared-Disk) для инфраструктуры корпоративного уровня. Наша цель — обеспечение отказоустойчивости и максимальной пропускной способности при работе с большими данными в среде GNU/Linux. Стек — преимущественно современный C++ в пользовательском пространстве, низкоуровневая оптимизация и работа с сетевыми протоколами.
Обязанности
•проектирование, разработка и отладка компонентов кластерной файловой системы (Shared-Disk Cluster) в пользовательском пространстве GNU/Linux на языке C++;
•доработка, оптимизация и сопровождение сетевых протоколов CIFS/SMB и NFS в среде GNU/Linux;
•дизайн и разработка низкоуровневых системных компонентов для ОС GNU\Linux;
•анализ нештатных ситуаций (отказы, дедлоки, состояние гонки и пр.) возникающих в программных компонентах во время их эксплуатации и поиск решения.
Требования
•коммерческий опыт разработки на языке С++ (стандарты 17/20) для rpm-based дистрибутивов GNU\Linux;
•коммерческий опыт разработки на языке С для rpm-based дистрибутивов GNU\Linux;
•опыт отладки, профилирования и оптимизации многопоточных приложений в пространстве пользователя GNU/Linux (gdb, valgrind, санитайзеры, perf);
•знание модели OSI, понимание принципов сетевого взаимодействия;
•понимание принципов организации дисковых файловых систем, сетевых файловых систем, кластерных файловых систем;
•понимание принципов построения CI/CD и методик тестирования системного ПО (модульное, интеграционное, нагрузочное);
•владение английским языком для свободного поиска и чтения технической документации.
Будет плюсом
•опыт разработки системного ПО в среде GNU/Linux, включая понимание внутреннего устройства ядра и опыт написания/отладки модулей ядра;
•знакомство с принципами и инструментами конкурентной кластерной обработки данных (Distributed Lock Manager, Paxos\Raft, gossip, ONC RPC, DCE\RPC, gRPC);
•знакомство с внутренними структурами данных ПО Samba, опыт разработки модулей расширения доступа к данным и аутентификации;
•способность анализировать трафик сетевых файловых систем и выявлять фактические несоответствия заданным спецификациям;
•знакомство с протоколом NFS 3, NFS 4 с расширениями pNFS и сопутствующими спецификациями (ONC RPC, XDR, MOUNT, NLM, …);
•знакомство с технологией FUSE, опыт написания серверов файловых систем на FUSE под управлением ОС GNU\Linux;
•знакомство с протоколом LDAP (RFC2307,RFC2307bis), с AD DS в режиме LDAP, понимание принципов организации сущностей и атрибутов, синтаксис их определения, синтаксис определения и доступа к данным LDIF;
•понимание принципов работы Name Switch Service под OC GNU\Linux;
•опыт работы с sssd, openldap(slapd, ldapsearch), AD DS, docker, nss_wrapper, rpmbuild, strace.

