AI-помощник: сопроводительное письмо, адаптация резюме, тренировка собеседованияПерейти ↓
Описание вакансии
О проекте
KasperskyOS – защищенная микроядерная операционная система. Это не очередной дистрибутив Linux, а собственная разработка, способная успешно конкурировать на международных рынках. Заложенный в KasperskyOS принцип кибериммунности позволяет разрабатывать безопасные решения из потенциально небезопасных компонентов.
О команде
В команде разработки системных компонентов группа Networking отвечает за поддержку сетевого стека, всех компонентов для работы с сетью (DHCP, DNS, TLS и др.), а также других connectivity-стеков (Bluetooth, GPS, GSM). Также, поскольку мы находимся в рамках общей команды Components, бывают и задачи, связанные со смежными группами.
Задачи группы
Группа разработки компонентов отвечает за
•Инструменты разработки (GCC/Clang, Binutils, Qemu и т.д.);
•Базовые компоненты KasperskyOS (libc, поддержка POSIX);
•Поддержку файловых систем и систем хранения данных;
•Поддержку сетевых стеков и средств коммуникации между устройствами;
•Средства управления приложениями;
•Графическую и аудио подсистемы;
•Поддержку различных фреймворков и системных служб.
Ваши задачи
•Поддержка и развитие сетевого стека KasperskyOS;
•Проектирование и разработка компонентов и системных сервисов для работы с сетью;
•Разработка и портирование других connectivity-стеков (Bluetooth, GPS, GSM и др.);
•Портирование open source программного обеспечения на KasperskyOS.
Что ожидаем от кандидата
•Отличное знание языка программирования С;
•Знание базовых принципов построения современных операционных систем;
•Опыт многопоточного программирования;
•Опыт разработки ядра Linux/Windows;
•Опыт разработки драйверов для Linux/Windows;
•Знание классических алгоритмов и структур данных;
•Знание инструментов разработки в Unix системах (Linux, BSD и пр.);
•Опыт работы в команде, знакомство с процессами Code Review, CI/CD.
Желательно
•Хорошее знание принципов работы компьютерных сетей и основных сетевых протоколов;
•Понимание организации и работы сетевого стека ОС;
•Опыт работы над сетевым стеком и компонентами для работы с сетью, в Linux или других ОС;
•Знание стандарта протокола TLS и опыт разработки приложений с поддержкой TLS;
•Знание стандартов connectivity-протоколов (Bluetooth, GPS, GSM и др.) и опыт работы с ними;
•Опыт кросплатформенной разработки;
•Хорошее знание POSIX;
•Знакомство с архитектурой операционных систем, внутренним устройством ядра ОС (управление памятью, межпроцессное взаимодействие, планирование задач, VFS);
•Знание внутреннего устройства libc;
•Знание языка assembler по крайней мере для одной из архитектур (x86, ARM) на уровне, достаточном, для исследования объектного файла.
