Developer C++ (CoreTech, Antimalware PDK)
Требования
Местоположение и тип занятости
Компания
Описание вакансии
Условия работы
CoreTech — это R&D внутри департамента исследований и разработки Лаборатории Касперского. Мы создаем фундамент, на котором строится разработка продуктов и сервисов нашей компании. В нашем отделе есть несколько основных направлений деятельности в которые сейчас открыты вакансии:
Antimalware PDK – команда, развивающая технологии защиты в составе отдела разработки базовых компонентов (Core Tech). Команда разрабатывает ключевые компоненты обнаружения угроз, аномалий, уязвимых приложений и сервисов ОС, нейтрализации выявленных угроз. Разрабатываемый функционал является неотъемлемой частью большинства продуктов компании, используемых на различных ОС.
Основные сценарии:
- Real-time protection - мониторинг активности системных и пользовательских служб и приложений (открытие файлов, запуск процессов и т.п.), предотвращение активации угроз в режиме реального времени;
- On-demand scans - сканирование заданных областей на защищаемом устройстве (файлов, директорий, объектов автозапуска, памяти и т.п.);
- Обработка обнаруженных угроз - удаление, лечение, лечение активного заражения, бэкап и восстановление пользовательских данных;
- Оптимизация сценариев сканирования - поддержка исключений, оптимизация потребляемых ресурсов;
- Vulnerability assessment - обнаружение и обновление потенциально уязвимых приложений.
Чем Вы будете заниматься:
- Разрабатывать и поддерживать функциональность компонентов защиты, писать функциональные и юнит-тесты;
- Участвовать в выработке технических решений;
- Выполнять анализ производительности в поддерживаемых командой сценариях, оптимизировать код;
- Развивать техническую экспертизу в составе команды и за ее пределами.
Что мы ждем от кандидата:
- Отличное знание C++ и современных стандартов (11/14/17);
- Опыт разработки многопоточных приложений;
- Опыт разработки для ОС Windows. Будет плюсом опыт работы с Linux, MacOS;
- Умение работать с отладчиками и анализировать дампы (WinDBG, gdb, т.д.);
- Навык проведения код-ревью;
- Опыт работы с системами сборки (CMake и т.п.);
- Быть готовым к погружению в большую кодовую базу, к анализу логов для поиска причины проблемы;
- Желание писать структурированный, понятный код, покрывать его тестами и понимание зачем это нужно.
Еще желательно:
- Знание системного API (Windows, POSIX);
- Знание boost;
- Знание сетевых протоколов;
- Понимание принципов криптографии;
- Владение WinDbg (разбор дампов, низкоуровневая отладка);
- Опыт работы и системой сборки CMake;
- Опыт разработки тестов с помощью фреймворка GMock/GTest;
- Опыт работы с системами контроля версий (Git, Perforce);
- Опыт программирования на Linux/Mac.