近期规划

近期规划

主攻八股:

  • java基础

  • mysql学习索引的机制与原理,能熟练的对SQL进行优化,了解事务隔离级别、锁、MVCC等工作原理

  • 对 Spring 框架的 IOC 和 AOP 设计原理

  • 分布式技术栈的相关知识

  • Redis 的主要数据结构,缓存相关的高级问题,如缓存击穿和缓存穿透,了解 Redis 分布式锁的实现策略和应用场景

redis日常运用:大部分都是使用String字符串数据类型来存储各类键值对,只有在存储抽奖计算概率表时会使用Hash来存储

项目:

  • 项目名称:大乐透-业务开发

  • 项目架构:微服务架构、前后端分离设计

  • 核心技术:SpringBoot、Mybatis、Dubbo、RabbitMQ、Redis、MySQL、DB-Router(自研分库分表组件)、ES、ZK、Canal、 XXL-JOB

  • 核心职责:

  • 通过对掘金平台抽奖的分析,设计出抽奖策略、抽奖活动、抽奖积分的领域模型功能。

  • 以PRD⽂档诉求和对功能的评审,设计出抽奖的领域模型功能,以及在抽奖的流程抽象上,分为:抽奖前、抽奖中、抽奖后,的节点上扩展各项⾏为动作。如抽奖前的⼈群判断、抽奖中库存扣减、抽奖后兜底奖励等。

  • 服务的设计中运用模板、责任链、工厂等设计模式,来解决代码的可扩展性,并利用Redis缓存、MQ、分库分表路由组件等中间件实现对抽奖过程的设计优化。

  • 抽奖也是⼀种峰值流量⾼的业务场景,因此在设计奖品库存扣减上,采⽤了 Redis decr 分段消费和加锁兜底的设计,同时对于消费成功的库存,异步队列⽅式 + 定时任务更新库存。这样可以不超卖的同时,⼜减少数据库的压力。

  • 利用Canal组件,基于binlog日志把分库分表的数据同步到ES,提供汇总查询和聚合操作。

  • 在项⽬开发中熟练运⽤了 IntelliJIDEA、WebStorm、Docker、MySQL、云服务器、SSH⼯具。

年后3456月任务:毕设,面试题,找工作,hot100

尝试参与开源项目

毕业设计,一般不看后端架构、逻辑实现、设计模式,主要看页面多不。为了一举两得,既能学完面试,也能用于毕业设计,可以考虑加些页面。 1. 把透视业务监控加进去,这样会有一个全流程的业务透视。 2. 加一些登录、erp查询数据(活动配置、规则配置、审批、活动数据、积分数据等等),这样加完,老师就觉得是他认知范围的复杂了。

项目:

大乐透项目需要注意的面试回答:业务流程、项目亮点、各种技术栈的应用、用到的设计模式、分布式架构设计(如分布式动态配置活动降级、分布式动态限流和熔断)