岗位职责:
1. 负责KIOSK设备外设相关底层库、适配层、系统服务(daemon/service)及SDK的架构设计与核心开发,提升稳定性、可维护性与可扩展性。
2. 负责多类KIOSK外设(如金融卡/社保卡读卡器、身份证/扫码枪、密码键盘、打印机〔激光打印机/证卡打印机〕、现金模块、指纹、摄像头等)统一抽象与接口规范制定,输出通用接口、状态机、错误码体系和对外API。
3. 负责CEN/XFS相关库的封装、适配与二次抽象,屏蔽厂商差异,形成稳定易用的业务层调用接口。
4. 负责跨平台构建体系(CMake为主)搭建与优化,支持Linux及国产化平台(麒麟/统信等)部署与发布,完善CI/CD与版本管理。
5. 设计并实现进程间通信(IPC)与服务化方案(如gRPC/DBus/Unix Domain Socket/共享内存/消息队列等),保障性能、可靠性与可扩展性。
6. 负责多线程/并发模型设计(线程池、异步IO、事件驱动/事件循环等),处理多外设并行、热插拔、超时重试、断线重连等复杂场景。
7. 熟悉常见网络协议在工程中的使用与排障(TCP/UDP/HTTP/HTTPS/WebSocket、TLS等),支撑终端与平台/服务端通信。
8. 建立稳定性与可观测性体系:日志、指标、追踪、告警、故障定位;推进自动化测试(单元/集成/硬件在环)与质量门禁。
9. 使用Python进行辅助开发与工程提效:脚本工具、自动化测试、构建发布、日志解析与运维排障工具等。
10. 输出架构设计、接口文档、部署手册、故障处理手册,并对团队进行技术指导与代码评审。
任职要求:
1. 本科及以上学历,计算机/软件/通信等相关专业,5年以上C++开发经验。
2. 精通现代C++,具备良好的工程化能力:模块化设计、接口抽象、性能优化、内存/资源管理、边界与异常处理。
3. 熟练Linux开发与调试:GDB、Valgrind/ASan、perf、strace/ltrace、core分析、系统性能与稳定性排查。
4. 熟练CMake与跨平台构建发布:依赖管理、交叉编译、动态/静态库、ABI兼容;有conan/vcpkg等经验更佳。
5. 了解国产化平台适配经验或有强烈意愿:麒麟/统信等系统环境下的编译、部署、兼容性处理与问题定位。
6. 熟悉IPC与系统服务化:至少掌握一种或多种(DBus、gRPC、ZeroMQ、Unix Socket、共享内存、消息队列等),能完成技术选型与落地。
7. 熟悉多线程与并发编程:锁与无锁、条件变量、原子操作、线程安全、死锁排查、并发性能调优。
8. 对KIOSK外设有经验:外设接入、协议解析、状态机建模、容错与恢复、设备统一管理与监控。
9. 具备一定算法与数据结构基础,能在工程中合理应用(缓存、队列、调度、超时重试、策略优化等)。
10. 熟悉常见网络协议与安全基础(TCP/IP、HTTP(S)、WebSocket、TLS、鉴权与超时重试、网络故障定位)。
11. 掌握Git代码管理工具的基本使用,和一些常用的代码编辑器。
12. 良好的沟通协作与推动能力,能主导复杂模块落地并沉淀规范与最佳实践。
13. 能接受较为频繁的出差。