Linux 平台软件开发工程师
皇虎测试职位描述
岗位职责 1. 架构与设计:分析产品需求,制定所负责的软件模块的设计方案,特别是高性能海量数据处理框架。 2. 开发与集成:服务器端软件系统开发、集成与性能优化。特别是高速海量数据的高可靠接收、高性能缓 存、高效解析、稳定存储、快速查询等。 3. 技术攻关与调优:深入系统底层,攻关解决关键性能瓶颈、稳定性及可靠性问题,包括CPU 利用率、内 存分配、多核调度、文件I/O、落盘吞吐、查询效率和系统稳定性等。具备从性能建模到实际瓶颈定位的 全链路能力。 4. 质量保证:确保交付的软件模块达到公司的质量标准和性能要求。 5. 沉淀平台软件设计、高速海量处理、性能测试方法、调试工具等方面经验,提升后续产品复用能力。 任职要求 1. 计算机、电子、通信、自动化等相关专业本科及以上学历,具备扎实的计算机系统、操作系统和数据结构 相关知识。 2. 2 年以上嵌入式系统开发经验和至少3 年以上服务器端高性能软件开发经验。 3. 精通C/C++,熟悉Linux 系统编程,熟练使用GCC/Clang、CMake、gdb、git 等开发调试工具,掌握 至少一种脚本语言(Python/Shell)。 4. 深入理解Linux 操作系统,包括进程/线程调度、内存管理、I/O 管理、并发与同步、文件系统和系统性 能分析。 5. 熟悉常见高性能编程模型,包括生产者-消费者模型、管道模型、状态机、消息队列、环形缓冲池、内存 池、异步处理和流水线处理。 6. 具备高吞吐数据处理或高速数据采集经验,理解数据接收、缓存、解析、处理、存储、查询链路中的关键 性能瓶颈。 7. 具备较强的问题定位能力,能够使用日志、性能工具、系统调用分析、内存分析、压力测试等定位复杂系 统问题。 8. 有下列领域之一的专长: 理解PCIe/NVMe 协议栈,并掌握单机SSD/RAID 高性能读写解决方案。 熟悉NUMA 和多核处理器架构,有丰富的多核多线程编程经验。 对内存管理机制有深入研究,有分配和管理大型缓冲池的经验和能力。 有复杂软件系统的架构和设计能力,抓住关键技术要点并提供解决方案。 熟悉streaming 流水设计框架,有高性能数据采集和处理的项目经验。 9. 责任心强,具有团队合作精神; 10.学习能力强,对技术有热情;
对这个职位感兴趣吗?