岗位职责:
1、核心开发与定制: 基于Redis源码进行二次开发,包括但不限于新功能的添加、核心流程的修改、特定性能优化以及Bug修复。
2、性能极致优化: 深入分析和优化数据库的性能瓶颈,包括网络I/O、内存管理、数据结构、持久化机制等,以追求极致的低延迟和高吞吐。
3、高可用与分布式: 参与设计和开发高可用性(HA)及集群方案,确保系统在分布式环境下的数据一致性、容错性和可扩展性。
4、问题排查与解决: 能够快速定位和解决线上环境中出现的复杂技术问题,包括性能抖动、内存泄漏、数据不一致等深层次问题。
5、技术规划与创新: 跟踪业界最新技术动态(如持久内存PMem、新网络协议、异构计算等),探索并将其应用于产品,以提升技术竞争力。
6、文档与协作: 编写详细的设计文档和技术方案,并与团队其他成员高效协作,进行代码审查和技术分享。
任职要求:
1、计算机科学或相关专业本科及以上学历,5年以上后端系统开发经验,其中至少2年专注于数据库、存储系统或中间件等基础设施研发。
2、精通C/C++语言,具备扎实的编程能力、良好的代码风格和大型项目开发经验。
3、深入理解Redis的核心原理和源码,包括但不限于:事件驱动模型(AE)、单线程架构、数据结构实现(SDS, dict, ziplist, quicklist等)、持久化(RDB/AOF)、主从复制、哨兵模式等。
4、有实际基于Redis源码进行修改、调试或二次开发的经验。
5、对计算机网络、操作系统原理有深刻理解,熟悉多线程、锁、内存管理、IO模型等。
6、深刻理解数据库系统的基本理论,如事务、索引、并发控制、日志技术等。
熟悉常见的分布式系统理论,如CAP定理、共识算法(Raft/Paxos)、分布式事务等。
7、具备出色的性能分析能力,熟练使用如perf, gdb, valgrind, bpftrace等工具进行系统级调试和优化。
8、有参与开源数据库项目(如Redis, KeyDB, DragonflyDB, TiKV等)贡献经验者优先。
9、有自研内存数据库或分布式存储系统经验者优先。
10、熟悉Redis集群模式及其实现细节者优先。
11、对新兴硬件(如PMem、RDMA、GPU/DPU)在数据库中的应用有研究者优先。
12、具备良好的团队沟通和协作能力,有技术领导力者更佳。