Yesterday

C Разработчик

🆔 запроса: D-53
Статус: Открыт

Проект:
Разработка драйвера управления файлами и процессами под Linux

Условия:
Длительность: от 3 месяцев, с возможностью пролонгации
Занятость: полная
Локация: РФ
Гражданство: РФ
Рабочий график: по МСК ±2 часа
Формат: удалённо
Плановый срок рассмотрения кандидата: 7 ± 3 дн.
Дополнительно: при подаче кандидата необходим чек-лист по всем требованиям и задачам

Позиция:
Роль: C Разработчик
Уровень: Senior / Middle+
Количество: 1

Обязательные требования:

  • Опыт системного программирования на C
  • Глубокие знания POSIX API и системных вызовов Linux
  • Опыт работы с:
    • файловыми системами
    • файловыми дескрипторами
    • mmap
    • epoll / inotify
  • Опыт работы с:
    • процессами
    • потоками
    • IPC (Inter-Process Communication)
  • Опыт создания модулей ядра Linux (Kernel Modules) для управления файлами и процессами
  • Знание структуры VFS (Virtual File System) в Linux
  • Умение работать с системными хуками:
    • ptrace
    • seccomp
  • Навыки профилирования и оптимизации кода для минимизации накладных расходов
  • Умение работать с инструментами:
    • GDB
    • perf
    • strace
    • системные логи
  • Опыт работы с:
    • Makefile
    • CMake
  • Знание Git
  • Понимание CI/CD систем
  • Понимание уязвимостей и защиты данных на уровне драйверов
  • Опыт работы на проектах в корпоративных системах безопасности
  • Опыт работы с пользовательскими функциями в ОС
  • Опыт работы с корпоративными пользовательскими системами
  • Не подходит кандидат, который работал с железом и был разработчиком сетевых устройств

Задачи на проекте:

  • Разработка драйвера управления файлами и процессами
  • Написание модуля ядра Linux для реализации функционала управления файлами и процессами
  • Внедрение логики контроля доступа к файлам и процессам
  • Адаптация решения под Linux
  • Переписывание системных вызовов и API под Linux
  • Устранение зависимостей от Windows-драйверов
  • Минимизация накладных расходов драйвера
  • Исправление багов, связанных с производительностью и безопасностью
  • Работа с инструментами профилирования: perf, strace
  • Настройка взаимодействия драйвера с клиентскими модулями
  • Тестирование функционала совместно с Java-разработчиком и аналитиком

Важно по резюме:
Резюме кандидата должно отражать:

  • чем кандидат занимался на каждом проекте
  • какие навыки, технологии и программы использовал
  • опыт системного программирования на C под Linux
  • опыт разработки Linux Kernel Modules
  • опыт работы с POSIX API / VFS / mmap / epoll / inotify / IPC
  • опыт оптимизации и отладки с использованием GDB / perf / strace
  • опыт работы в корпоративных системах безопасности
  • опыт работы с безопасностью на уровне драйверов
  • все требования и задачи должны быть отражены максимально полно

Что присылать:

  • CV кандидата
  • ФИО
  • Страна / город
  • Гражданство
  • Грейд
  • Ставка
  • Дата готовности к старту
  • Чек-лист по всем требованиям и задачам
  • Все пункты с ответом ДА должны быть подтверждены в резюме

Вопросы и предложения ➡️ @Pro_test_Studi. Указать 🆔 запроса.