繁译
1月前来过
全职 · 800/日  ·  17400/月
工作时间: 工作日08:00-20:00、周末09:00-20:00工作地点: 远程
服务企业: 0家累计提交: 0工时
联系方式:
********
********
********
聊一聊

使用APP扫码聊一聊

个人介绍

主要后端,个人支持,英语CET6.

有扎实的Java基础(熟悉io、多线程、集合等基础框架,熟悉分布式、缓存、消息、搜索等机制),熟悉面向对象编程;熟练运用SpringMVC,Springboot,Mybatis等常用服务端开发框架;熟悉RocketMQ、Redis、Zookeeper、Tomcat等中间件使用;熟悉MySql、 Redis等数据库技术,具有一定的sql优化经验;熟悉linux命令,熟悉日志排查问题;能够熟练使用Stream流操作;熟悉设计模式,熟练掌握常用的设计模式如:单例、模板方法、策略、代理、外观、责任链模式等

工作经历

  • 2020-12-21 -2023-09-22杭州卓越际联科技有限公司资深后端工程师

    维护业务代码,承接业务需求,制定开发计划,技术方案,完成代码开发,排查&及时处理线上问题.完成技术迭代升级.

教育经历

  • 2014-09-01 - 2018-07-10大连大学土木工程本科已认证

技能

Mybatis
Maven
0
1
2
3
4
5
0
1
2
3
4
5
作品
菜鸟供应商服务平台(入驻中心)

菜鸟供应商服务平台(b.cainiao.com),包含了入驻、合同、采购、履约、绩效等部分,提供了包括企业入驻,合同签订,招投标、询报价,绩效考核奖罚(查询,申诉)等功能. 本人在其中负责整个入驻中心的维护,迭代升级,以及完成业务需求.入驻中心包含面向商家的入驻流程页,以及面向员工的后台管理页-主数据中心(主数据中心是公司的核心项目之一). 商家的部分主要是入驻成为菜鸟的供应商.按照商家的入驻流程类型可分为首次入驻,非首次入驻,资质&个性化信息变更,以及企业信息变更(含实名认证/企业认证信息变更).经过人工审批后流程完结,完成入驻/资质变更&新增/企业信息变更等.可在"入驻中心-我的企业信息"页查看当前生效的企业信息. 后台管理页,涉及到了供应商各维度的列表查询,审核列表池,以及辅助入驻的相关功能,如邀请入驻-业务通过填写邀请人信息,以及邀请对象的公司名称,*,*等信息,向供应商发出邮件,短信邀请,附邀请链接,邀请供应商入驻,跟踪供应商的入驻进度. 技术层面,后端是使用Java开发的,基于Spring-Boot,JDK1.8,使用GitLab作为代码仓库,Idea作为开发工具,Maven做版本管理,定时任务SchedulerX2.0作为发起审批,完结审批的调度器,RocketMQ与合同中心交互生成签约信息(入驻的廉洁承诺函,信息安全承诺书),MySQL作为数据库,Tair作为缓解db查询压力的工具(阿里版本的Redis). 代码单测经历过最原始的Junit单测,到结合Mockito的方式,后为提高效率(在多个branch场景下,mockito的单测仍比较繁琐,需要根据不同分支写重复代码,费时费力),使用了Spock+Mockito的方式(这里用的Groovy语法了),代替之前的传统Junit单测.相较于传统单测,用例多,项目老的场景下,单测的运行时间从10min+缩短到2min,并且本地结合idea的插件JustTest可以方便查看用例运行情况,覆盖率,失败情况等.提高了单测效率. 难点:入驻中心是典型的多查询,少修改的系统.但是因为信息来源不单一(主数据中心作为菜鸟的核心应用之一,数据来源并不只是供应商入驻,还与其他系统有联动,如菜鸟的商业中心BusinessCenter,还有上游若干系统),仍要防止数据并发修改带来的不一致性.在主数据中心最终采用了单独的lock表,select for update使用mysql的行级锁,按照企业的唯一编码LeCode字段,为数据加锁,使用编程型事务,加锁后先查后改(改也根据数据来源,限定了修改范围),最后统一commit完成,且每次修改都在版本表记录了一次修改记录,并将修改请求的提交时间作为version,每次查询使用lastest version来保证查询的数据是最新的,修改完成还会更新redis中的信息.因为lock表独立于企业信息之外,对查询无影响.此外为了缓解查询压力,对企业信息做了拆分,单独梳理出了企业信息的所有索引字段(也是主要的查询字段)单独一张索引表,查询到信息后再根据索引字段对应的系统内企业唯一编码LeCode,逐一(或联表,看具体情况)查询出企业的其余信息,包装好后统一返回.总结一下,就是用加锁-mysql行级锁解决并发修改的问题,用本地缓存+redis+分表的方式缓解查询压力(查询按先本地缓存,没有再查redis,没有最终再查询db的次序).

0
2024-05-10 15:00
更新于: 05-10 浏览: 119