zhaommmmomo个人简历
联系方式
- Email:zmm@zhaommmmomo.cn
- WeChat:zhaommmmomo
个人信息
- 涂鸦智能 · Java后端开发工程师(2022.07.01 ~ 至今)
- 山东工商学院 · 软件工程 · 本科 (2018 ~ 2022)
- 技术博客:zhaommmmomo.cn
- Github:github.com/zhaommmmomo
- 期望职位:Java开发、中间件开发
- 期望城市:深圳
关于我
- 自驱能力较强,能主动去学习新的技术并落地实现,在团队内进行分享。(涂鸦业务链路和基础组件等 / LSM / Raft / SkipList / LRU / BloomFilter)
- 熟悉 Java(JUC),具备良好的编程规范,并阅读过部分 Java 源码。接触过 go / c / python
- 能熟练使用 SSM / SpringBoot / Redis / MySQL / Vertx / LevelDB 等 Java 开发相关技术栈,看过 Spring 部分源码,了解 SpringCloud / Ignite / Dubbo / Kafka / Nginx / gRpc 等
- 了解 Linux,阅读过其 kernel 代码 TCP 三次握手的实现
- 熟悉计算机网络 / 操作系统 / 数据结构与算法 / 计算机组成原理等 cs 基础知识
- 了解分布式系统 / 系统性能优化 / 微服务相关内容并使用过 Arthas / Jmeter / wrk / Postman / Jprofiler 等工具
项目经验
2022.07 ~ 至今 战略大客户项目 涂鸦智能
技术: Java / SpringBoot / elpis (规则引擎) / dubbo / kafka / sigmaX (调度系统)
内容: 大概经历了两个大项目,其中一个作为项目技术负责人,主要是负责给公司战略大客户一些智能设备进行多个云云对接
难点:
- 内存泄漏问题。当时 kafka 经常性的消息堆积到几百万,通过排查流量、应用资源等,定位到是因为 Orika 的对象映射导致内存大量泄漏,cpu 使用率增加。最终统一 Orika 的映射工厂,应用再无该原因导致的问题出现
- 业务代码执行慢导致 kafka 堆积问题。通过流量、Arthas 等监控,定位到是某个业务执行时间太长并且没有使用线程池,导致阻碍了 kafka 的消息消费。通过给对应业务异步执行,将 kafka 消息堆积问题解决
- ThreadLocal 上下文不对问题。在某些业务中使用了 ThreadLocal 作为上下文来传递信息,突然有次发现对应的上下文信息取值不对,通过对应链路的排查,定位到是因为传递的时候涉及了线程池,只有新创建的线程能传进去,最终通过包装类将上下文作为参数传递进去解决了这个问题
业绩:
- 22年下半年为公司带来几千万的收益
- 组内绩效收益占整个部门的60~70%
- 项目组在公司内部获得年度评奖
2021.12 ~ 至今 基于LSM-Tree的kv存储引擎 个人
技术:Java / BloomFilter / LRU / LSM / SkipList / wisckey
优化点:
1.文件写入优化。存储引擎会涉及到大量的写入场景,需要基于当前引擎进行写入性能的优化,通过对 FileChannel、MMap 在不同 size 的 benchmark,最终采用 MMap 4kb 写入的方式,使得写入性能提高 10%
2.引擎在查询大 value 时速度较慢。通过将 kv 进行分离,使得查询速度由 600ms 降为 200ms 左右
zhaommmmomo个人简历