基本信息

姓名:陈文龙

年龄:28

教育经历:武汉生物工程学院 - 计算机科学与技术(2015.09 - 2019.06)

工作年限:5 年

工作经历

  • 上海安硕信息技术股份有限公司(2019.03 - 2021.07)
  • 深圳云天励飞技术股份有限公司(2021.08 - 至今)

项目经验

智慧公交项目

  • 背景

    帮助公交公司掌握不同时段的乘客信息,包括乘客数量、上下车乘客数量、分段乘客数量统计、旅客去向统计、超载分析等功能,以数据为基础,实现车辆智能调度,提高公共资源利用率

  • 系统架构及技术栈

    k8s、SpringCloud、SpringBoot、Mybatis、Kafka、Redis、Mysql

  • 职责

    拆分统计服务,服务通过 Kafka 链式处理客流数据,提高数据处理效率

    针对日均 200 余万的数据量,通过分日表、月表、hash 表将系统接口平均响应控制到 2 秒内

    通过查看 Redis 慢日志,解决大 key 导致阻塞,提高 Redis 性能

    通过 JTS 构建所有站点的空间索引并缓存,实现「圈图找站」的毫秒级响应

    设计客流上报协议,及时稳定上报实时客流到交管平台,上线以来数据 0 丢失

    拉取高德线路轨迹以及站点经纬度坐标,实现线路可视化的拆分截短


智慧楼宇/园区项目

  • 背景

    智慧楼宇/园区项目实现对人员身份的快速、准确确认,结合访客、人员通道系统、可视对讲系统、门禁系统、巡更系统、考勤系统、食堂消费系统,保障人员安全地工作、生活、学习和娱乐

  • 系统架构及技术栈

    k8s、SpringCloud、SpringBoot、Mybatis、Netty、gRPC、Kafka、Redis、Mysql

  • 职责

    通过 Netty 和 gRPC 实现平台与设备端的高效通讯

    设备端与平台间的通信协议的设计,包括设备配置的下发与设备端的抓拍或考勤信息的上报等

    通过 jmap 导出 dump 文件,发现并解决内存泄露问题

    根据 RBAC 模型设计出一套多租户系统权限控制

    通过重构设备管理模块,解决了频繁触发熔断的问题

    与第三方平台的对接,包括微信公众号、企业微信、飞书以及一些私有化平台的对接,实现第三方移动端或桌面端的访客来访预约及审核

    对大文件的分片上传/下载与断点续传,增加文件系统执行效率


防疫项目

  • 背景

    利用可测体温智能终端为入口,帮助监管及社区服务机构解决人力测温效率低、人员滞留、人员难监管、聚集交叉感染风险高等问题,实现防疫工作提质增效、精准施策,监测研判疫情趋势及科学决策

  • 系统架构及技术栈

    k8s、SpringCloud、SpringBoot、Mybatis、Netty、gRPC、Kafka、Redis、Mysql、MongoDB

  • 职责

    在智慧楼宇项目上进行快速重构来适应防疫项目,极大提高研发效率

    在原有通讯协议的前提下,适配防疫需求,拓展对第三方设备的通讯协议

    针对防疫数据的变化和庞大数量,通过引入 MongoDB 提高系统检索性能

    使用本地缓存 + Redis 的多级缓存方案更好地应对突发的高并发访问


智慧道路巡检项目

  • 背景

    基于边缘平台,通过车载智能设备代替传统人工,对道路资产、养护施工等进行巡检,为养护单位提供更加高效率、低成本、数字化的道路管理方案

  • 系统架构及技术栈

    k8s、SpringCloud、SpringBoot、Mybatis、Kafka、Redis、Mysql

  • 职责

    针对边缘盒子合并道路病害效果不佳的情况下,设计开发出一套病害去重方案能满足 40 台边缘盒子每秒 100 张照片的并发合并去重。
    提交一份相关的专利申请《一种合并道路巡检过程中重复病害的方法》

专业技能

  • Java 基础扎实,具备并发编程经验,对线程安全有深刻理解
  • 深入了解 JVM:运行时数据区域、垃圾回收算法、垃圾回收器
  • 熟悉 http 协议、tcp、udp 等网络基础
  • 熟悉 SpringBoot、Spring、SpringMVC、Mybatis 框架
  • 熟悉 Mysql 存储引擎、索引,有 sql 调优经验
  • 熟悉 Redis 应用场景:缓存、分布式锁、分布式 Session 等
  • 熟练使用 Kafka 以提高服务的吞吐量
  • 熟悉微服务结构,SpringCloud 体系
  • 熟练使用 docker 容器化技术,了解 k8s
  • 熟悉 Linux 环境,熟练使用常用 Linux 命令
  • 熟悉设计模式,掌握开发规范,编写高效易维护的代码

自我评价

  • 热爱技术、热爱开源:业余时间会关注 GitHub Trending、X、V2EX 等技术平台,对 Python、GO、Rust 感兴趣
  • 善于总结、乐于分享:不定期的总结工作中的问题和学习过程中的心得分享到个人博客
  • 责任心强、自主性强:勇于承担更多任务,积极推进项目进度,信息及时拉通对齐