熟悉 JAVA 相关技术,熟悉 springboot,mybatis,dubbo 等主流开发框架。
熟悉常用设计模式及其应用。
熟悉MySQL数据库的使用以及SQL优化,了解其索引结构原理。
熟悉常用算法和数据结构。
了解 JVM 的内存管理,垃圾回收等机制。
分班服务主要维护学生和班级、以及学生和辅导班的对应关系,主要分为四个模块:下单分班策略、转辅导班、二次分班和合班。其中分班策略位于下单主链路中,主要难点是分班策略相对复杂,访问量大,同时要保证响应时间以及超卖问题。转辅导班、二次分班和合班属于B端操作,难点主要是每次操作的数据量大、分布式事务不一致问题。
主要职责:
1. 该项目原属于订单服务的一个子模块,通过梳理订单代码了解业务逻辑,将该模块独立了出来。
2. 采用策略+pipleline的模式使各个子策略可以灵活编排,增加了代码的可扩展性、复用性。
3. 通过异步任务的方式将批量转辅导班、二次分班等操作异步化。后台不再批量执行,而是通过xjob将其拆分成一个学生一个学生的转,避免因单个操作出问题导致批量数据发生异常。
4. 续班前期通过不断对代码进行优化最终将单次请求的响应时间从300-400ms下降到了100-200ms。
5. 结合公司的大数据平台每天对数据进行对账,自动修复不一致的数据。
6.对部分数据量比较大的表进行分库分表,降低单库的查询、写入压力,提高性能
项目描述: 分班服务主要维护学生和班级、以及学生和辅导班的对应关系,主要分为四个模块:下单分班策略、转辅导班、二次分班和合班。其中分班策略位于下单主链路中,主要难点是分班策略相对复杂,访问量大,同时要保证响应时间以及超卖问题。转辅导班、二次分班和合班属于B端操作,难点主要是每次
该项目用于为大数据开发人员提供的一个可配置的作业管理系统。主要分为两个模块。包括调度中心和执行器。二者运行于不同的jvm进程中。其中执行器可以有多个。调度中心主要负责作业调度、执行器管理以及作业的配置及维护。执行器是具体任务的执行者。 该项目是在github中开源项目的基础上