The posting
1、参与设计、实现公司产品的系统软件结构、系统分层、关键构建; 2、参与需求评审,并根据需求制定高效的实现方案; 3、参与公司产品的设计,以及系统核心代码的开发; 4、参与优化公司产品的关键性能问题。
1、熟练掌握Golang开发,具备大型项目核心开发经验,具备程序性能调优经验,熟练使用pprof、火焰图等工具,分析程序性能的瓶颈,并制定对应的优化方案; 对Golang的内部实现及原理有比较深入的掌握,如sync包、异步runtime、CSP模型; 2、熟练掌握多种数据库,包括但不限于:MySQL、ClickHouse、Redis、ElasticSearch等等,并有至少一种数据库的架构、高并发、性能调优经验,并制定对应的优化方案;对 MySQL 的主从、binlog、灾备恢复等有较深入的掌握;对 SQL、存储过程 优化,数据库设计、表结构优化 有深入的掌握,如:可通过 explain 等命令确认数据的瓶颈;对数据库的锁、同步机制、数据完整性机制有深入的掌握; 3、熟练掌握至少一种消息中间件,包括但不限于:Kafka、RabbitMQ,并有对应的高并发、性能调优经验,可通过 perf-test.sh 等脚本对 Kafka 进行性能测试,并根据测试结果制定对应的优化方案; 4、熟练掌握常用数据结构、算法,如分布式锁、分布式事务、消息队列、延时队列等等,能根据业务问题设计高效的解决方案; 5、熟练掌握至少一种数据分析方法,如大数据分析(Hadoop、Flink、Spark)、深度机器学习、ETL等; 6、熟练掌握大型后端项目常用技术,如IO多路复用、链路追踪tracing、缓存机制、微服务等; 理解 select、poll、epoll、io_uring 的实现, 理解基于 OpenTracing 分析服务性能的方法; 7、对优秀开源代码如 nginx、golang、etcd、ceph、docker 等有过深入阅读和理解。



