编程语言
熟练掌握后端 java/ Sql 等语言, 掌握 JDK8~13 新特性。 掌握前端 HTML /JS 基础, VUE 等框架
底层源码
掌握 JVM 内存模型,垃圾回收机制,JDK 集合框架源码等 读过部分 Spring/ Netty 核心源码,掌握多种设计模式
并发编程
熟悉 java 多线程, java 并发和同步,多种锁机制,线程池等,熟 悉 AQS 和多个 JUC 源码,熟练掌握多线程在项目中的实践
框架技能
熟练掌握 Spring/Mybatis/ SpringBoot/Cloud 全家桶核心知识; 熟练掌握 Redis、消息队列在项目中的使用
分布式和微服务
熟悉分布式架构、集群和负载均衡算法,熟悉分布式事务等, 有 4 年微服务架构和分布式系统的经验,
熟悉 Rancher 云平台和容器编排技术,自动化扩容和监控体系搭 建
开发和管理工具
熟练掌握 IDEA/Eclipse、Svn/ Git、Maven/Jenkins 等工具使用
数据库
熟练掌握 Mysql, Oracle,掌握多种索引使用和原理,能独立分析 需求设计数据库,有一定的 sql 优化和重构经验。
Linux 服务器
熟悉 Linux 常用命令,Shell 脚本等编写,掌握常用软件部署,集 群搭建和性能监控。掌握 Docker 容器化技术和生产应用
项目: 智慧教学云平台
综合述:智慧教学云平台是供给在校大学生/技术从业人员等在线学习 IT 技能的知识付 费平台,涵盖众多服务, C端业务商品中心、用户中心、营销中心、支付中心等;还有数据 AI 中台包括画像分析、数仓建设、推荐系统, 系统架构采用阿里 P8 带队,经过多个版本迭 代,用户量过千万。
项目一:用户中心+优惠券中心开发
项目述:用户中心+优惠券中心是 C 端业务核心内容,支持用户多通道注册、防刷和恶意 登录破解、个人资料、收货地址维护,黑名单控制等功能;优惠券支持多类型配置,无门槛, 满减,新人卷,支持高并发下领劵和释放,支持一体化监控-自动化扩容等等功能。
项目技术栈:SpringBoot+AliababCloud 全家桶+Redis+RabbitMQ+阿里云 OSS 开发部署环境: Mac+IDEA+Gitlab+Jenkins + Docker+ Rancher 容器编排 个人职责:开发主程
负责用户微服务注册-登录模块开发,支持多渠道验证码发送,具有防刷防恶意注册,越权 设计等;封装 OSS 文件上传组件,支持灵活的截取和清晰度压缩配置;对接新用户拉新福 利模块,采用 MQ 消息解耦,保证数据最终一致性和可靠性投递模块开发
负责优惠券微服务设计,支持多种规则配置,无门槛劵-满减劵-福利劵,限领张数等配置。 采用 redisson 分布式锁解决高并发下单用户超领,和乐观锁解决优惠券超发问题。 对接订单中心,改造优惠券核销和释放功能,采用延迟队列+本地 Task 解决分布式事务问题, (之前方案是采用 Seata 解决分布式事务,后采用 MQ 延迟队列+Task 支持更高的并发)
项目难点:
1)优惠券服务-领取和释放需要支持高并发保证安全防止超发超领, 2)需要防止灰产恶意注册和领劵造成公司活动资损
解决方式:
1)在优惠券释放这块没采用 seata 框架,使用 MQ+Task 解决分布式事务问题,支持更高的并 发,细粒度的分布式锁解决超领问题,结合 Sentinel 配置限流和熔断, Jmeter 压测单机领 劵接口可以到达 1 万 QPS。 2)出业务监控需求并参加设计:传统的监控不能直接发现业务数据异常,基于 Nginx+业 务容器日志,设计支持业务数据埋点的监控告警平台,支持自定义时间轴的同比环比监控。
项目二:订单支付中心项目和商品中心
项目述:商品中心和订单中心是团队核心服务,分 C 端和 B 端管理后台,商品服务日均 访问过百万,采用多粒度缓存设计,支持公司最前沿的业务,包括众多功能商品上下架,库 存管理,多维度数据统计,优惠券设计等 订单服务是核心模块,最重要的是高支付成功率以及数据的安全性和可用性,需要对接公 司多个业务的支付功能,如商品购买、限时优惠、团购业务等,支持多通道支付/超时关单/
明细管理等多个功能。
项目技术栈:SpringBoot+AliababCloud 全家桶+Redis+RabbitMQ+阿里云 OSS 开发部署环境: Mac+IDEA+Gitlab+Jenkins + Docker+ Rancher 容器编排
个人职责:开发主程
负责订单交易中心的下单接口开发,包括验价、锁定优惠券、商品库存等模块。还有多通道 聚合支付设计,支付宝支付对接,订单超时自动关单功能等功能开发。 负责商品中心下单锁库存和超时释放库存的设计和开发,购物车设计实现
项目难点:
1)下单模块最复杂,需要包括验价,购物车商品清空,优惠券锁定,商品库存锁定等操作, 链路复杂且涉及分布式事务问题 2)需要支持多通道支付,支付宝、微信、苹果支付还有未来更平台,比如抖音支付等
解决方式: 1)链路调用采用线程池异步化调用:购物车商品清空、优惠券锁定、商品库存锁定等都是 采用无锁自释放设计,定时关单采用 MQ 延迟消息+Task 任务解决,。 2)多通道聚合支付采用了策略模式+工厂模式,可以更加灵活支持多种平台接入和多端使 用 APP、H5、PC;
其他项目 – 公司技术架构委员会成员 项目述:参与公司技术创新、架构升级、规范整理、新人成长、管理者培训、内部技术培 训等,核心是关注公司业务发展、通过技术反哺业务从而更快更稳发展。
个人职责:输出公司后端编码规范,组织新人成长培训,内部技术培训,推动公司 DevOps 规范流程落地,服务全面升级容器化部署和上云。和运维组同事一起参与搭建了公司的 DevOps 发布平台,引入 Rancher 支持多环境隔离和一站式发布,应对突发流量可以实现微 服务自动化扩容和缩容。参与了设计搭建监控告警平台-支持多维度技术指标监控和业务数 据指标的监控告警等。