求职意向
Java开发工程师 北京/杭州 薪资面议 随时到岗
教育背景
2020.x -2020x 锤子简历大学 软件工程(本科)
曾多次获得校奖学金
工作经验
2020.x -2020x 美利金融-车金融 Java开发
2020.x -2020x 锤子简历信息技术有限公司 Java开发
项目经验
2020.x -2020x 车金融微信公众号、小程序后台 Java开发
项目概括:作为客户办理车贷资质审核的第一步,小程序主要负责车订单的秒拒提单操作,面向所有意向贷款客户开放,日使用量较销售客户端大很多; 公众号主要服务对象也是客户,主要功能有还款、解押、借阅等操作,目的是方便用户在买完车后主动进行还款等行为。
主要工作:主要负责小程序的改造任务以及公众号后台迁移、开发、维护。对接账务、支付等系统。
过程:
1、 通过对老服务老逻辑理解,对业务流程进行简化迁移。让前后端交互逻辑更加简单合理、清晰。添加冗余数据表保存订单状态,保证一次查询就能获得结果。根据订单状态,使用责任链模式,进行业务逻辑的划分。
2、通过自定义注解加上redis实现并发控制、避免由于接口并发导致的数据问题。
3、通过分布式事务来控制与其他服务之间的数据一致性。
4、通过SpringCloud Zuul组件进行服务路由、鉴权;使用Seluth进行服务的链路跟踪。
结果:
1、由于老逻辑维护困难,线上错误频出。流程优化修改后,一个是使得排查问题更加容易,再一个使得每日烦人的线上问题不再频出。
2、降低使用分布式锁的开发量以及使用难度
3、整合了服务的入口,与鉴权。保证了数据身份校验的一致性。
技术栈:SpringBoot、Eureka、Redis、Kafka、MySQL、MyBatis、SpringBoot-Sleuth等
2020.x -2020x 薪资微信链路跟踪服务 Java开发
项目概括:项目拆分后产生的子项目较多,调用链路信息模糊。搭建此服务目的是为了分析项目目前调用依赖关系。以及分析链路总耗时、主要耗时等,通过对Zipkin二次开发,进行实际需要的定制化操作,如精简其代码、修改存储等。
主要工作:
1、将原有的ZipkinServer项目与依赖生成项目整合
2、在原有HTTP链路跟踪的基础上,开发MySQL、Kafka链路跟踪的组件
3、为服务添加自动依赖生成策略,以及添加登陆页面进行权限控制
过程: 通过查阅文档以及查看源码,根据实际落地需要将不使用的模块进行拆除,精简服务大小。通过MySQL Connector中提供的接口实现MySQL的链路跟踪;通过对kafka进行添加Header的操作,实现Kafka的链路跟踪。并将二者封装为Starter形式,避免对业务项目本身造成代码侵入。
结果: 目前已接入10+个项目。在日常使用中起到了很大的作用,如:观察链路中SQL执行时长,可进行响应的优化。如监测某台服务的错误率,进行有放的的关注修改措施。
技术栈:Zipkin、SpringBoot、Eureka、Redis、Kafka、MySQL、XDiamond(配置中心)等
2020.x -2020x 图片配置中心 Java开发
项目概括:
图片配置中心作为整个提单系统中对图片资料进行选择、校验的服务,主要包括图片添加相关操作、图片对应规则相关操作、图片上传栏位数据获取、图片上传完整性校验等
主要工作:
整理分析现有业务,为后期扩展做好准备。通过图片的动态添加以及分组配置,使任一业务方在订单某阶段能够得到这个阶段所需要的所有图片信息;通过动态配置生成图片(展示/校验)规则;通过图片跟规则的绑定来剔除不必要的图片栏位展示或上传;
过程结果:
过程:对图片、图片组、订单阶段、业务方进行组合关系,使得基础模块可以进行多次复用;通过规则字段动态生成可以执行的SPEL表达式;通过对图片绑定规则的SPEL表达式进行执行,得到该图是否该从本次计算中剔除。通过不同的策略方式来执行显示规则、校验规则、多选一等规则的判定;
结果:流畅的接入了各业务方,从根本上解决了图片信息不一致;对于风控新加图片,无需各业务方重复开发,只需简单配置;将因为销售不明确上传资料而造成订单被退回的次数由每天上百单降到 0。
技术栈:SpringBoot、Mybatis、MySQL、XDiamond(配置中心)、SpringCloud、Redis等
2020.x -2020x 车金融订单中心 Java开发
项目概括:
车金融订单中心为整个车金融业务线的关键一环。主要提供给各业务方订单数据的提交以及查询等操作。
主要工作:
参与订单中心的改造工作,对已有的数据库进行分库分表操作。对外的接口保证读写分离。尽可能降低查询接口的延迟。
过程结果:
过程:利用Sharding-JDBC来进行分表操作。并完整迁移300多万数据。使用注解的方式来对接口进行读写分离。使用Kafka同步数据到ElasticSearch来确保复杂查询的快速响应。
结果:将接口的响应时长有400+ms降到了50-ms。
技术栈:SpringBoot、MySql、Shadring-JDBC、ElasticSearch、Redis、Kafka
自我评价
本人两年分布式系统开发经验,参与了多个系统的设计升级改造工作,熟悉分布式系统的设计原理,擅长自我进化,不断突破自己。工作中不设限,追求极致方案,善于寻找发现系统中的痛点,提出改造意见,将时间更多的放在更值得关注的问题上。认真负责的对待每一个需求。
内容来源说明:本文章来自网络收集,如侵犯了你的权益,请联系QQ:2772182309进行删除。
https://www.100chui.com/article/59867.html