Pismery Blog

Stay high all the time

个人信息

  • 刘嘉禾 | 本科 | 广州大学 | 软件工程 & 应用心理学(二专)| 毕业时间:2018.06
  • 微信号:pismery001 | Email:pismery@163.com | 个人博客:https://pismery.gitee.io/blog/
  • 求职岗位:Java 高级工程师 | 项目经验:4 年

技能清单

  • 掌握 Java 核心知识,具备良好的面向对象的编程思想,在项目中熟练使用各种设计模式;
  • 掌握 Java 集合操作,并阅读过 HashMap 源码;
  • 熟悉 JVM,对 JVM 的内存结构,内存模型,垃圾回收算法有深入了解;
  • 熟悉 Java 并发编程,对 Java 锁机制,线程池,AQS,并发工具类等都有深入理解,并在项目中熟练使用;
  • 熟悉 Spring MVC,Spring Boot,Mybatis 等常用框架,可以根据需求快速搭建项目,并阅读过相关源码;
  • 熟悉 SQL 与 MySQL 数据库优化,对事务,B+ 树,索引优化有深入理解,并实践过线上业务调优;
  • 熟悉 Redis,对缓存击穿,缓存穿透,高可用机制,哨兵机制有深入了解;
  • 熟悉 Kafka,在高吞吐下保证消息不丢,消息消费顺序性,有实际项目经验;
  • 熟练搭建 Redis, ElasticSearch, Kafka, Flink, ZooKeeper 等高可用集群环境,有运维生产环境经验;

工作经历

坤湛科技有限公司(2021年5月 ~ 至今)

工作内容

  • 参与智慧城市项目交付,主要负责健康,工地,文旅等后台管理模块的设计与代码实现;
  • 参与共享服务管理平台项目交付,主要负责拓扑,链路,监控,统计等模块的设计与代码实现;
  • 参与具体交付项目过程中,通过梳理和抽象,沉淀通用能力至公司技术平台中;

友邦资讯科技(广州)有限公司 ( 2018 年 1 月 ~ 2021年4月)

工作内容

  • 负责旧系统迁移下线,相关的功能代码实现,迁移文档攥写,组织迁移演练;
  • 负责核心团险系统二期功能的模块设计与代码实现;
  • 负责再保险模块的需求分析,模块设计,代码实现与维护;
  • 负责新系统框架可行性及性能验证;

项目经历

智慧城市(2021-12 ~ 至今)

技术选型:Spring Boot + Hibernate + MySQL + Nacos + Dubbo + XXL-Job + RocketMQ

工作职责:负责功能模块详细设计和开发工作;

  • 健康服务模块:实现与设计后台管理的界面和接口,优化预约疫苗功支撑用户高并发预约场景,实现各机构预约数据隔离功能;
  • 智慧工地管理模块:两周时间,独立完成模块从零到上线生产,涉及前端界面搭建,后端接口实现,设置构建计划,系统对接;
  • 裕见美好模块:突出展示裕华区各个景点场景、文化艺术、游玩路线、点评评论等内容
    • 负责模块的详细设计,包括整个系统的库表设计,评论与点赞设计;
    • 负责后台管理的界面搭建及后台接口实现;
    • 负责 app 端的接口设计与实现;

共享服务管理平台(2021.05 ~ 2021-11)

技术选型:Spring Boot + Hibernate + MySQL + ElasticSearch + Zipkin + Kafka + Logstash + Sentinel + Nacos + ShardingSphere + Flyway + Flink;

工作职责:作为平台核心开发,主要负责下述模块,具体内容如下

  • 服务拓扑模块
    • 新增节点标识再通过策略和工厂模式,解耦各类节点处理逻辑;
    • 服务拓扑相似度对比展示,标识出两个相似的服务拓扑图的不同节点,计算相似度;
    • 服务拓扑查询改造,从只能基于根节点的查询改造为基于任意节点的查询;
  • 工作台及监控模块
    • 优化指标统计接口,通过线程池及 CountDownLatch 工具类多线程统计聚合结果;
    • 梳理链路数据流,统一工作台统计口径;
    • 监控界面优化改造,解决数据列表元素超过 2000 界面卡死问题;
  • 链路日志模块
    • 统一调用异常数据处理逻辑,确保链路日志与监控数据吻合;
    • 移除非法链路信息,心跳链路信息;
  • 报表导出模块: 设计并实现导出 Excel, Word, HTML, PDF, BPMN 的工具类;对外提供一致的调用方式,内部采用 XDocReport ,EasyExcel ,Activiti 框架实现导出功能;
  • 项目运维: 负责共享服务管理平台的测试,仿真,生产环境的运维工作;

GPSE 系统下线迁移 (2020.04 ~ 2020.9)

  • 功能需求:下线旧系统 GPSE,将旧系统功能集成至新团险系统中;
  • 个人职责:
    • 迁移每日批处理,梳理所有报表生成逻辑,通过实现报表生成方式可配置化,最大化减少系统改动且避免旧报表与原报表的冲突;
    • 迁移账单处理模块,梳理旧系统导入每日账单逻辑,实现根据旧系统文件录入新团险系统;
    • 迁移流程控制系统,与流程控制团队确认接口规范与对接;
    • 数据库初始化及数据迁移;
    • 组织系统上线演练,编写系统上线流程文档;

团险系统二期 (2019.12 ~ 2020.03)

  • 功能需求:根据用户需求,改造保单管理模块,账单管理模块,人员信息管理模块;
  • 个人职责:
    • 报表通知设置模块功能设计与开发;
    • 数据脱敏模块功能设计与开发, 提供数据访问权限配置功能,将权限存储至 session 中,开发人员只需实现接口指定脱敏字段,不需关注脱敏规则及权限控制;
    • 理赔模块功能设计与开发;

再保险结算 (2019.02 ~ 2019.11)

  • 功能需求:整合改写再保险模块,实现报表参数级联配置的可视化与数据报表生成;
  • 技术选型:Spring Core + Spring Web + Mybatis + JXLS + KendoUI + JQuery + SQL Server;
  • 个人职责:
    • 与泰国用户沟通整理需求,确认报表字段的业务含义和计算规则;
    • 集成两个系统模块,将报表生成时间缩短至 3 分钟;
    • 使用 KendoUI 和 Javascript 实现对参数的多维度批量联合修改 ;

框架可行性及性能验证(2018.09 ~ 2019.01)

  • 功能需求:模拟产品功能搭建项目框架,验证框架可行性;
  • 技术选型:Spring Boot + Spring Batch + Feign Client + PlantUML + SonarQube + Liquibase + Jenkins
  • 个人职责:
    • 项目采用 TDDDDD 进行系统开发设计;
    • 作为项目主要开发人员,共同参与 Code Review,过程中最大的收获是,代码封装与代码可阅读性需要权衡二者避免过度设计封装;Review 过程中重点关心代码命名规范,调用规范,对于不符合调用规范必须禁止,否则架构经过几次迭代会变得十分混乱,再重构得不偿失;
    • 通过拆分大事务,重构获取锁顺序,解决多线程小概率死锁问题;
    • 负责实现高扩展的验证功能,通过常用设计模式和重构技巧进行代码重构,最终解耦各类验证规则,使得新增或修改验证规则符合开闭原则,重构验证逻辑以减少验证过程中与数据库 SQL 的交互次数,重构过程采用 TDD 方式确保重构前后业务逻辑一致。运用 Closeable 接口解决开发人员忘记持久化最后的验证信息的问题;