个人信息

工作经历

  • 北京京东尚科信息技术有限公司(2015.9 - 至今)
  • 北京华宇信息技术有限公司(2011.9 - 2015.9)

开源工作

  • 参与 Apache ShardingSphere 开源项目工作(2018.12 - 至今)

个人技能

  • 精通 Java 开发,阅读过 JDK 内部某些类实现源码,例如对集合类 HashMap 等实现有比较深入理解;

  • 精通 Java 多线程开发,对于线程池 ThreadPoolExecutor 类有很深入的理解,并在实际工作有比较多的使用经验;

  • 精通 Java 多线程、高并发开发,熟悉 JUC 包内部常用工具类的使用以及 CAS 的实现原理,熟悉以 AQS 为基础的 ReentrantLock / CountDownLatch 等 Java 内部锁的实现机制;

  • 精通 JVM 内存管理机制,熟悉 JVM 内部垃圾回收机制以及常用垃圾回收算法,熟悉 JVM 调优,有线上系统 JVM 优化实际工作经历;

  • 精通设计模式,理解常用设计模式的结构原理与使用场景,并在实际工作中有大量设计模式的使用经验;

  • 精通 MySQL 使用,熟悉 MySQL 事务ACID / 锁 / 索引 / 主从复制的实现原理,熟悉 MySQL 优化,对于线上系统有丰富的 SQL 优化经验;

  • 精通 Redis 使用,熟悉 Redis 常用数据类型以及使用场景,熟悉 Redis 持久化 / 主从复制 / 高可用集群 / 哨兵机制实现原理;

  • 精通 Spring / SpringMVC / Spring jpa 使用,熟悉 Spring AOP & IOC 和 Spring 事务实现原理,阅读过 Spring 源码;

  • 熟悉 MQ 的使用,熟悉 RocketMQ & Kafka 内部实现原理,能够根据实际工作场景合理设计 MQ 技术使用;

  • 熟悉 ElasticSearch 框架的使用以及架构原理,在实际工作中基于该技术搭建内部商品搜索平台;

  • 熟悉 MongoDB 数据库使用以及架构原理,在实际工作中基于该技术搭建计数器平台和大文本数据内容的存储;

  • 熟悉 ZooKeeper 框架使用,熟悉 Paxos 算法以及 ZAB 算法原理,熟悉 ZooKeeper 客户端 Curator 框架使用;

  • 熟悉 Java BIO / NIO / AIO 编程,熟悉 Netty 框架的实现原理,并在 Apache ShardingSphere 项目中学习 Netty 框架的使用。

项目经历

北京京东尚科信息技术有限公司(京东读书APP项目)

京东读书 是京东旗下一款集书城、订单、VIP会员、阅读引擎于一体的电子书阅读软件。目前主要有Android、iOS、Jdread 阅读器、Windows Client、PC Web 等客户端产品。

团队规模:40人

个人职位:高级软件工程师

开发工具:Intellij / JDK 8 / Tomcat 8 / Git / Maven 3.x

核心技术栈:Spring4.x / MySQL / Redis / MQ / MongoDB / ElasticSearch / ZooKeeper

主要负责工作内容

  • 负责京东读书服务端系统架构设计工作,通过分布式、微服务等技术手段达到系统高可用要求,提升系统稳定性;

  • 完成京东读书虚拟币充值 / 消费 / 订单体系整个核心流程从 0 到 1 建设工作,一直负责该核心模块的开发、维护、代码重构等工作内容;

  • 负责京东读书 VIP 会员服务功能开发工作,完成整个会员体系 充值/服务/供应商结算 整个流程的开发工作;

  • 负责网文内容抓取工作,通过分布式定时任务框架 + 线程池技术,提升数据抓取时效性与准确性;

  • 负责系统优化相关工作,包括 SQL 优化工作,使用 MAT 工具分析线上系统内存溢出,根据监控系统分析慢接口请求进行代码优化;

  • 在项目组敏捷转型中,以研发角色担任项目内部敏捷教练(Scrum Master),负责敏捷迭代排期以及内部开发资源协调工作。

北京华宇信息技术有限公司(数字法院立案 & 审判系统)

数字法院立案审判系统是公司针对全国法院业务开发的审判业务的明星产品,目前已为全国 3000 多家法院提供数字化服务解决方案,主要功能涉及到全国法院的核心立案 & 审判业务功能,同时包括一些辅助产品,例如:电子卷宗、普通案件统计分析、司法统计分析、案件质量检查等等内容。

在该项目工作过程中,本人参与该项目整体服务化架构的改进,并落地实施了 ZooKeeper + Dubbo 来实现服务化的解决方案。

团队规模:40人

个人职位:软件工程师

开发工具:Myeclipse / JDK 6 / Jetty 7 / SVN / Maven 3.x

核心技术栈:Spring2.5.6 / Hibernate3.2 / Oracle 10g / ExtJs / Solr / ZooKeeper / Dubbo

主要负责工作内容

  • 参与数字法院立案系统 / 审判系统 / 电子卷宗系统 / 统计分析系统核心开发工作。

  • 参与整个项目的服务化升级工作,提出了 ZooKeeper + Dubbo 设计方案并成功实施落地;

  • 使用 Zookeeper + Curator 完成分布式环境配置信息的发布和订阅功能。

  • 参与系统优化工作,包括 SQL 优化以及代码优化;进行线上问题排查,使用相关工具分析线上系统内存溢出等问题。

Apache ShardingSphere 开源项目工作

Apache ShardingSphere(Incubator) 是一套开源的分布式数据库中间件解决方案组成的生态圈,它由 Sharding-JDBC、Sharding-Proxy 和 Sharding-Sidecar(规划中)这 3 款相互独立,却又能够混合部署配合使用的产品组成。它们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如 Java 同构、异构语言、云原生等各种多样化的应用场景。

个人角色:Apache ShardingSphere Committer

个人贡献

  • 参与 ShardingSphere 框架 Orchestration 模块重构工作,对编排治理模块接口进行细粒度拆分,提升系统的可用性和扩展性;

  • 将 Zookeepr / etcd 框架作为注册中心集成到 Orchestration 模块,将 Nacos / Apollo 框架作为配置中心集成到 Orchestration 模块;

  • 参与 issue 讨论,提交核心 PR;参与 issue 讨论列表 / 解决 issue 列表 / 提交核心 PR 列表

  • 参与 ShardingSphere 官方文档撰写工作,负责官方网站维护。

个人证书

  • 通过 JAVA SCJP 认证
  • 通过 Oracle OCA 认证
  • 通过 Oracle OCP 认证

致谢

感谢您花时间阅读我的简历,期待能有机会和您共事。