关于我

个人简介

南京大学数学系本科毕业,9 年多研发相关工作经验。

  • 当前主要优势在于复杂业务系统设计, 端到端的研发流程和工程实践能力, 以及一定的架构分析和取舍能力。对行业/业务的预判和分析以及系统的配合演进有一定经验.
    • 电商系统, CRM, 销售管理, 信息流系统, 大数据存储系统等
    • 从网络, 路由, 运维发布部署, 到系统监控, 日常机器维护, 搜索推荐, 离线分析等。
  • 对大数据相关框架技术可以进行选型/维护/优化. hbase 可以进行代码级别优化. spark, hdfs 等可进行瓶颈分析. 对 druid, clickhouse, hive 等机制/优势有概念性的了解.
  • 工作语言以 java 为主, 对常见 java 框架(spring, lombok, mybatis, aop…)的机制有一定了解, 可按需定制。
  • functional progamming, interpreter, uml , emacs, org mode, projecteuler, haskell, usaco, common-lisp 等有一定的兴趣和时间投入.

工作经历

  • 2019-06–至今 : 研发工程师, 数据平台, 声网
    • 负责计量系统的计算,维护,优化
      • 通过优化调度, 分布式拉取, 计算性能优化, hbase 的存储 schema(rowkey)优化等,系统容量翻倍(1T/day -> 2T/day), 计算时延的可靠性由 50% -> 99%
      • 通过分离基础模型与业务, 大部分新业务仅需简单配置即可完成
    • 负责通话调查工具的数据写入系统维护,稳定性提升, 性能优化
      • 通过 hbase patch, 设计优化等手段, 提高 hbase 稳定性. 由单月 5 次左右的人工运维操作降至 0.
      • 通过优化写入程序, 写入性能翻倍, 需要的机器数减半
      • 峰值写入量在 1200w records per second, 日增量 7T
    • 负责相关系统的知识积累与分享


  • 2015-09–2019-06 : 高级技术总监, 研发部, 上海票牛网
    • 业务架构设计、维护以及演进, 支持业务研发
      • 30 万行的 codebase (java), 业务领域包含 演出基础信息, 商品, 订单, 营销, 支付, crm, 采购, 发货, 搜索推荐, 分销
      • 参考 lombok 的机制研发了 daogen 插件, 基于源码编译期生成对应 xml 文件, 显著提高研发效率&质量.
      • 发起并完成订单中台,分销中台等技术项目, 抽象出订单的领域和不同业务订单的共用流程, 对于分销的同步问题以较小的工程成本统一实现
      • 使用 haskell 实现的 crm 系统
      • 发货系统的打印业务源语设计(c#), 如 Template, Element, Style, Position
    • 基础架构维护,保障系统的稳定运行
      • 基础组件与 cat 监控的集成, 如 dubbo, mybatis, 以及一些易用的 annotation 的定义
      • mybatislanguageDriver, interceptor, 多数据源切换等功能的定制
      • solrjvm 调优, solr-cloud 的引入,分词插件 hanlp 的动态词库更新等
      • 基于 ansible 的发布系统(初版 haskell 实现), zabbix, elk, spark 离线计算, 等相关系统的维护
    • 团队能力提升, 方案评审, 分享, 培训, review


  • 2013-08 – 2015-08: 高级研发工程师, 商家后台, 大众点评网
    • 负责点评的商品制作系统维护和优化
      • 设计话术模板以便录入和生成商品的详情信息, 完成对属性, 属性类型, 属性嵌套关系, 属性展示相关的定义, 并且解析成页面模板供销售侧录入
      • 设计风控的指标系统, 进行风控规则的描述与应用, 完成定义指标,操作符,操作组合,结果定义等
      • 设计实现 daoGenerator 插件, 完成基于 java bean 的定义,自动生成 sql, dao 层, service 层的代码, 类似一个脚手架


  • 2011-08 – 2013-08: 研发工程师, 业务软件 BG, 华为南京研发所
    • 负责一款企业聊天软件的研发, 包含状态, 群组, 消息子系统
      1. 基于 udp 协议自定义高性能通讯框架(用于客户端-服务端通讯), 实现序列化反序列化,分包组包,重传确认等机制
      2. 基于 Actor 模型完成消息, 状态服务器开发. 将整个系统简化成了处理事件+生成事件。 例如: 用户 A 的状态变更-->记录 A 的状态,且生成给多个好友的状态变更通知事件

教育背景

  • 2007–2011: 本科, 数学系, 基础数学专业, 南京大学, GPA 4.1/5