1.熟练掌握Java开发,基础扎实,了解Java集合源码及JUC并发包,熟悉常用的设计模式(单例模式、模板模式、策略模式、工厂模式)、熟悉Java8新特性
2.深入理解JVM内存模型、类加载过程、双亲委派、垃圾回收算法、parNew/CMS/G1垃圾回收器,熟悉常用的调优指令和工具。
3.熟练使用Spring、Spring Boot、Mybatis、Mybatis Plus、Spring Cache、Spring Cloud等常用框架
4.熟练使用redis,针对不同的使用场景能灵活使用redis,了解redis集群原理,包括主从复制、哨兵模式、Redis Cluster,了解Redis持久化RDB、AOF原理
5.熟悉Spring IOC、AOP原理,了解Spring解决循环依赖的原理,对Spring扩展点有一定的使用经验
6.熟悉事务特性、事务隔离级别以及不同隔离级别可能造成的脏读、不可重复读和幻读,Spring事务传播机制,对事务失效场景有一定了解
7.熟练使用RabbitMQ,对rabbitmq有一定的了解
8.熟悉微服务框架,熟悉Spring Cloud各个组件
项目描述: 数字化应用平台项目是一个集办公与应用管理为一体的平台,主要功能类似于企业微信,但是侧重点在应用集成与管理。主要功能有应用市场(第三方应用上下架)、消息收发、文件传输、文件预览、界面水印、并行控制等。
项目职责: 参与架构设计及实现,承担部分架构基础服务(包括平台安全token设计、网关服务设计与开发、应用网关设计与开发、Session共享服务设计开发、审计日志服务开发、开发平台设计与开发、服务拆分、service层缓存组件开发)开发
技术实现:
1.项目以spring boot+mybatis+mysql为基础,采用微服务架构,通过maven来构建项目
2.通过aes+rsa加密技术实现平台token的生成及解析
3.使用redis订阅/发布+zuul组件在网关层实现基础接口权限校验
4.使用AOP技术+redis队列实现审计日志记录
5.使用spring cache组件+redis实现service层缓存,提高接口响应时间
6.服务之间通调用采用resttemplate+ribbon的方式来完成服务调用
7.开放平台通过借鉴OAuth2.0来实现第三方应用的授权及验证
8.通过resttemplate拦截器+过滤器实现基础服务身份验证及安全校验