youshicheng
1月前来过
全职 · 500/日  ·  10875/月
工作时间: 工作日9:00-18:30、周末9:00-19:00工作地点: 远程
服务企业: 0家累计提交: 0工时
联系方式:
********
********
********
聊一聊

使用APP扫码聊一聊

个人介绍

1、熟悉 Java 基础,JVM 底层原理、类加载过程及 JMM。 
2、熟悉并发编程,对锁机制、线程池机制、AQS、CAS 等有深入理解,掌握 JUC 中常用类, 如:ConcurrentHashMap 等。 3、掌握对数据库中事务、MVCC、索引、锁等机制,有相关调优经验。
4、熟练掌握 SSM/SpringBoot/SpringCloud/SpringCloud Alibaba 等主流框架搭建以及使用 
5、熟悉 Redis 分布式缓存和消息 MQ,处理消息幂等,消息丢失等相关使用场景
6、熟悉 Nacos、RabbitMQ、RocketMQ、ElasticSearch 等常见组件,可以根据需求快速构 建项目
7、熟悉使用 Spring Security、Shiro 进行权限控制以及安全认证 
8、对常用业务场景,例如导入导出,邮件警告,多数据源,OOS 对象存储进行覆盖封装,可 水平扩展
9、了解简单的 shell 命令,有使用 Arthas 进行线上排除故障等工作经验 
10、熟练使用开发工具 IDEA 和 SVN、Git 版本控制工具
11、有大型 Saas 项目经验、分布式开发经验,并发开发经验 
12、深度互联网从业人员,对互联网保持高度的敏感性和关注度,熟悉产品开发流程,有很强 的产品规划、需求分析、交互设计能力,善于沟通,贴近实际需求,并且本人具有很强的自我 学习能力。

工作经历

  • 2020-08-01 -2022-01-01湖北趋为致诚有限公司Java开发

    主要***的一个商城项目开发。 我担任的角色是开发后端接口,还有一些活动设计预计模块审核,还有提供一些对于数据库的优化方案,参与度比较高。

  • 2020-08-01 -2022-01-01湖北趋为致诚有限公司Java开发

    主要***的一个商城项目开发。 我担任的角色是开发后端接口,还有一些活动设计预计模块审核,还有提供一些对于数据库的优化方案,参与度比较高。

教育经历

  • 2016-09-01 - 2020-06-01武汉纺织大学外经贸学院计算机科学与技术本科

    在校时,积极参与学校社团活动,并在校内成绩优异,拿过奖励证书,还参加过省内三创活动,得二等奖

技能

0
1
2
3
4
5
作品

电子商城系统 项目描述: 1、全品类的电商购物网站,可以在商品页面选择不同分类及查看商品信息; 2、搜索框输入查询信息。即可实现关键词搜索; 3、能够实现添加购物车以及商品删除、数量编辑等相关操作; 4、可以实现后台系统不同用户认证权限; 5、登陆后台系统操作:管理订单、商品信息、管理用户及用户评论 项目技术: 1、后端采用 Spring Cloud 分布式框架来搭建微服务,并对外提供 Restful 风格接口 2、使用 Spring Cloud 的组件 zuul 作为微服务入口,实现请求路由、负载均衡、限流等 3、其中根据关键字进行搜索商品是基于 Elasticsearch 完成商品的全文检索,并且通过 Canal 进行数据同步更新。可以实时搜索到最新数据,避免手动更新 ElasticSearch 4、用户不登陆情况下也可以使用购物车,需要把购物车信息放入 cookie 中 5、通过对第三方支付平台的回调接口,来更改订单信息中的支付状态 6、利用 Shiro 安全框架和 JWT 的无状态登录,将 Token 作为用户认证的唯一凭证。并从数 据库中去获取该用户的认证权限,从而达到不同用户的角色分配 7、后台系统使用 Vue-cli 搭建项目的整体框架。使用 vue-router 配置路由,实现单页面开发 8、使用 axios 技术实现数据交互。ElementUI 组件布局,渲染页面,提高开发效率

0
2024-04-04 01:24

1、抽奖设计通过活动来进行区分,可以实现系统的复用性,并在每个活动中设置默认奖项 2、活动的数据通过 Spring 的发布订阅模式来进行加载,加载进 Redis 之前会进行校验 3、抽奖算法:奖品概率*10000,取随机数散落到奖池区间 4、奖品限制。例如:用户一天最多抽奖五次、某大奖每位用户只能抽取一次 项目技术: 1、利用 Spring 的发布订阅实现抽奖系统的数据加载 2、利用 Redis 实现缓存处理,缓存标记,分布式锁判断用户上一次抽奖过程是否结束 3、更新库存,使用乐观锁,非阻塞的执行更新操作

0
2024-04-04 01:19

1、通过定时任务将所有的已发布但还未开始的秒杀活动、商品写入 Redis 进行缓存预热 2、在定时任务中扫描已经结束的秒杀活动和秒杀商品缓存,清理对用户不可见数据 3、活动商品进行限时上架,获取秒杀活动商品可以从 Redis 中直接获取 4、当到达秒杀时间时,会出现瞬时的大流量高并发 5、保证每个用户在单位时间内不会重复次数的进行秒杀,重复次数根据实际业务而定 6、用户可以根据实际的业务需求来进行限购商品数量为 1 个还是 n 个 7、秒杀过程为了能更快地进行响应,使用 Redis 库存预减,并使用 MQ 异步执行 DB 8、用户的每一次秒杀请求都会先判断是否已经生成对应的用户订单了,存在订单即秒杀成功 9、Redis 库存预减过程是容易发生超卖。为了保证扣减操作的原子性,使用 Lua 脚本 10、当 Redis 预扣减库存成功,但是执行真正的下单逻辑失败了,且库存没有回滚, 会造成少卖现象。因此需要在异步下单失败后,要即时回滚 Redis 中的 sku 库存; 并且 MQ 消息丢失同样也会造成少卖,需要解决 MQ 消息丢失问题 11、监听 Mq 下单队列消息,异步生成订单; 12、防止用户重复提交订单,会在确认订单前先校验用户是否已经有秒杀订单。 可以通过利用 Redis 的 increment 操作,记录用户请求提交次数。 如果值大于 1,说明重复提交 13、如果创建订单成功,发送延迟消息,超时未支付自动关闭订单 如果创建订单失败,回滚 Redis 库存,否则会出现少卖问题 14、使用事务保证数据库扣减库存与创建订单的原子性和一致性。秒杀成功,即可查看订单 15、超时未支付关闭订单。订单生成后我们通过 MQ 发送了延迟消息。 如果用在支付的规定时间内完成支付,在支付的异步通知中直接手动消费该延迟消息 否则将该延迟消息投递到配置的死信队列中,然后在死信队列中更改订单状态、回滚库2 存

0
2024-04-04 01:08
更新于: 04-04 浏览: 45