个人信息
- 姓名:郭 X X;
- 性别:男;
- 籍贯:湖北黄冈;
- 电话:156-xxxx-xxxx;
- 邮箱:guoxxxx@xxx.xxx;
- 学历:本科;
专业技能
精通Java核心知识,理解IO、多线程、集合等基础框架,具备良好的编程能力,熟练使用设计模式;
精通Java并发编程,阅读过JUC包大部分类的源码,深入理解AQS、线程池等框架的实现原理;
熟练使用Netty,阅读过核心源码,深入理解Netty的I/O模型、事件驱动机制和内存管理等功能;
熟悉RocketMQ使用,阅读过其核心源码。深入理解RocketMQ网络层原理、消息发送、消息存储和消息消费的
实现原理,了解 broker 读写分离的设计原理;
熟悉Spring、SpringBoot框架使用,阅读过Spring核心源码,深入理解IoC、AOP、声明式事务的实现原理;
熟悉MySQL数据库,具有慢SQL优化、分库分表等实战经验,了解索引原理、事务和MVCC机制;
深入理解 SPI 机制实现原理,以及其在 Motan RPC 框架中的应用;
熟练使用Redis,掌握大key热key拆分等缓存优化技巧,了解Redis持久化机制、I/O模型和各种部署架构;
熟悉Mybatis框架使用,阅读过其源码,深入理解Mybatis缓存机制等功能实现原理;
熟悉JVM常用命令,对GC算法、分代机制、垃圾回收器、类加载机制有深入理解,有线上JVM问题排查经验;
了解SpringCloud各种组件的使用,如Nacos、Hystrix、OpenFeign等。对服务划分、服务治理有深入理解,
并具备线上项目经验;
工作经历
深圳市 xxx 公司
- Java 开发工程师
- 2021.4 - 至今
深圳市 xxx 公司
- Java 开发工程师
- 2020.2 - 2021.03
项目经历
项目一:XXX直播平台
技术选型:SpringBoot、Motan、MyBatis、Netty、Hystrix、Disconf、Nacos、Redis、MySQL、ES、RocketMQ
开发周期:2016年至今
项目描述:...... 省略详细描述 ......目前的主要业务包括广播剧、音乐、声优直播和小程序电商等。目前 APP 总 DAU 100万,直播间 DAU 40万,用户量还在持续增长。系统接口成功率 99.999%,年度可用性指标 99.99%。
责任描述:
- 在产品需求评审、技术评审和技术选型中发挥重要作用,参与架构规划、需求设计等工作,致力构建高可用、 高性能、高并发、高扩展系统;
- 通过系统编码重构,攻克系统技术难题,提高系统稳定性和性能,为业务发展提供坚实的技术支持;
- 主导核心模块的迭代开发,作为 owner 分析需求并合理安排组内成员任务。跨部门协作,Code Review 确保 代码质量,推动需求按时交付上线;
- 参与自研 IM 系统的技术选型、协议设计、架构设计和编码设计。日均消息下行千亿级别,消息送达率 99.9%;
- 主导自研 IM 系统迭代优化。通过消息熔断、上行下行消息限流、消息精简、消息拆分等技术手段,降低公网流量,降本增效,使 IM 系统运维费用减少 50%,为公司节省了大量成本;
- 负责直播间业务高并发下多级缓存优化的设计和开发,应对突发流量,提高系统的响应速度和稳定性;
- 设计手动触发的服务降级机制。通过关闭次要功能、简化响应数据、读一致性不高的场景全部读取缓存等手 段,保证核心业务正常运行;
- 主导国际版 APP 迁移开发,完成代码重构,数据隔离兼容多 APP,后续新建 APP 时间成本缩短至 10 天;
- 分析线上 Redis 的数据分布情况,拆分大 key 和热 key。迁移 Redis 集群受限命令,避免 Redis 集群数据倾 斜,提供稳定的数据支撑;
- 主导系统 SQL 慢查询优化,通过优化查询语句、建立多级缓存、重新设计索引、冷数据备份等手段,降低系统 90%慢查询次数,提高系统的响应速度;
- 关注线上机器的系统资源监控,分析异常数据,定位 CPU 峰刺、内存告警、线程池异常、GC 异常等问题并 优化,为业务发展提供坚实保障;
项目二:XXX 交易所
技术选型:SpringBoot、SpringCloud、Nacos、OpenFeign、Hystrix、MyBatis、MySQL、Redis、RocketMQ、ShardingJDBC
开发周期:2020年4月至2021年3月
项目描述:
主要业务包括币币交易、OTC 交易、永续合约合约交易、金融衍生品等,并向专业机构投资者和高净值客户提供投资、清算、杠杆、风控、资产管理等一站式综合数字资产金融服务。省略.......
责任描述:
- 参与核心模块需求评审,技术选型和编码设计,根据需求合理性、开发资源、项目排期完成需求迭代;
- 完成 SpringGateWay 编码设计,使用过滤器完成权限控制、服务路由、负载均衡、服务降级、接口限流;
- 使用 MQ 本地消息表、配合定时任务和代码手动补偿保证资金操作无误;
- 使用 ShardingJDBC 针对大表按照时间、主键等不同的策略进行分表操作,增加数据查询效率;
- 针对后续接入的第三方平台订单,使用状态模式和策略模式重构交易订单状态流转,提高后续迭代效率;
- 负责项目活动服务的技术实现和技术选型,例如红包、体验券、优惠券等活动编码实现;
教育经历
- 学校:三峡大学
- 专业:自动化
- 学历:本科
- 时间:2015 ~ 2019
自我评价
本人有 3 年多的高并发、高性能、大数据量项目的系统架构设计和开发经验。参与项目的 DAU 百万级别,主要 负责的服务单机高峰期 QPS 3000 左右。负责的 IM 系统日均消息上行百万级别,消息下行千亿级别;在工作中积极 主动提出作为需求 owner,会从技术设计和该需求的背景与价值两个方面进行思考。此外,平时我会自发梳理负责 服务现状,发现并推动解决接口性能、逻辑漏洞等问题。
本人热爱学习开源框架的设计思路和其对设计模式的应用,目前已阅读 Netty、RocketMQ 、Mybatis、Spring、 等框架的源码实现,并将这些开源框架设计思路、设计模式等灵活应用到公司项目中。本人将部分学习笔记记录到 自己的网站,并且乐于和同事朋友交流分享;
个人笔记网站:https://blog.guosgbin.cn/