岗位职责
1. 基于 C++ 语言(C++11 及以上标准),主导 Linux 系统下终端安全客户端核心模块开发,包括进程监控、文件防护、网络流量拦截、漏洞扫描等,确保模块在 Linux 多发行版(CentOS、Ubuntu、RedHat、Debian)下具备高稳定性、低资源占用特性,同时负责模块在 Windows 系统(Win10/Win11/Server 系列)的跨平台适配与功能对齐开发。
2. 深入钻研 Linux 系统底层机制,包括内核态 / 用户态交互、进程调度、内存管理、文件系统(Ext4/XFS)、网络协议栈(TCP/IP)、内核模块(Kernel Module)开发,能基于 Linux 特性设计终端安全防护方案,解决底层技术难题(如系统调用钩子、内核态漏洞检测、驱动适配);同时熟悉 Windows 系统底层原理(如 PE 文件结构、进程线程模型、WDM 驱动框架),支撑跨平台功能一致性实现。
3. 负责 Linux/Windows 跨平台开发架构设计与技术选型,制定跨平台代码规范(如封装平台无关接口、隔离系统差异逻辑),解决跨平台开发中的兼容性问题(如系统 API 差异、编译工具链适配、数据格式统一),保障客户端在双系统下功能同步迭代、体验一致。
4. 参与终端安全客户端跨平台需求分析与技术方案设计,结合 Linux 服务器集群、Windows 桌面 / 服务器等不同应用场景,将业务需求转化为跨平台可落地的技术实现,平衡双系统下产品的安全性、性能与资源占用。
5. 负责跨平台模块的单元测试、集成测试,配合测试团队定位并修复 Linux/Windows 双系统下的兼容性 bug、性能瓶颈(如 Linux 下 CPU 占用过高、Windows 下内存泄漏)及安全漏洞,提升产品跨平台稳定性与用户体验。
6. 跟踪 Linux 内核新版本特性(如内核安全补丁、新系统调用)、Windows 系统更新(如 Win32 API 变更、安全机制升级)及跨平台开发技术趋势(如 CMake 跨平台构建、Qt/Boost 跨平台库应用),将新技术融入产品开发,推动跨平台终端安全技术迭代。
7. 参与跨平台技术文档编写,包括跨平台接口规范、系统差异适配指南、开发手册,沉淀跨平台开发经验,协助团队提升 Linux/Windows 双系统终端安全开发能力。
任职要求
1. 本科及以上学历,计算机科学与技术、软件工程、信息安全等相关专业,3 年以上 C++ 开发经验,其中 2 年以上 Linux 环境底层开发经验,且 1 年以上 Linux/Windows C++ 跨平台开发经验,有终端安全产品(EDR、杀毒软件、终端防护墙)开发经验者优先。
2. 精通 C++ 编程语言(C++11 及以上标准),熟练掌握 STL 容器、智能指针、多线程编程( pthread/WinAPI )、内存管理、设计模式(单例、工厂、适配器),能独立完成高性能、高稳定性的跨平台模块开发;熟悉 GCC/Clang(Linux)、MSVC(Windows)编译工具链,精通 CMake 跨平台构建流程,能编写适配双系统的构建脚本。
3. 深入理解 Linux 系统底层原理:熟练掌握 Linux 进程 / 线程管理、文件 IO(标准 IO / 系统 IO)、信号机制、Socket 网络编程(TCP/UDP)、内核模块开发与调试(Kprobe/ftrace),能使用 GDB、strace、perf 等工具排查 Linux 下崩溃、死锁、性能问题;同时熟悉 Windows 系统底层:了解 PE 文件解析、进程注入、Windows API(如 CreateProcess、NtQuerySystemInformation)、WMI 接口、Windows 驱动基础,能使用 Windbg 排查 Windows 下兼容性问题。
4. 具备终端安全核心技术认知:熟悉恶意代码检测原理(特征码匹配、行为分析、机器学习检测)、Linux 安全机制(SELinux、AppArmor、PAM、iptables)、Windows 安全机制(UAC、WDAC、Windows Defender 接口),了解加密算法(AES、RSA)、哈希算法(SHA256),有 Linux/Windows 双系统下安全漏洞分析或利用经验者优先。
5. 具备优秀的跨平台问题排查能力,能独立定位并解决 Linux/Windows 双系统下的代码兼容性、编译适配、功能差异等复杂问题;有强烈的代码质量意识,遵循跨平台编码规范,重视单元测试(Google Test)与代码评审。
6. 具备良好的沟通协作能力与技术学习能力,能快速理解跨平台业务需求,主动跟进 Linux/Windows 系统技术更新及跨平台开发工具链升级,适应快节奏的研发工作。