● 熟悉Java语法,多线程、集合等基础框架
● 对JVM原理有初步的理解,包括内存模型、垃圾回收机制。
● 熟悉Redis相关应用,布隆过滤器,缓存一致性问题,了解高并发下缓存穿透、缓存雪崩解、缓存击穿决方案。
● 熟悉RabbitMQ、Kafka消息中间件,实现异步、消峰、解耦。
● 熟悉Docker容器相关操作,Kubernetes集群搭建,进行相关应用流水线部署管理操作。
● 熟悉分布式锁(Redisson)、分布式事务(Seata)、分布式session,以及相关技术选型应用。
● 熟悉SpringBoot、SpringCloud、Zookeeper以及SpringCloudAlibaba等相关技术。
● 熟练使用主流的关系型数据库MySQL,以及数据库相关的主从、读写分离应用部署,以及Nginx相关技术应用。
● 熟悉使用Kettle、FineReport报表,实现数据报表,数据大屏显示。
信贷系统:
1. 采用分布式的项目开发模式整个项目分为:授信、客户、产品、合同、借据、业务中台、ELK服务。
2. 基于RabbitMQ实现各个微服务之间的解耦合,在项目开发过程中使用RabbitMQ实现最终一致性分布式事务解决方案。Seata解决管理系统中的分布式事务一致性。
3. 基于Redis消息中间件,实现分布式锁(redission),以及分布式全局唯一主键自增和单点登录中分布式session共享。
4. 对数据量较大的表使用Sharding-JDBC数据库中间件实现主从同步,在主从同步的基础上实现了分库分表,读写分离。
5. 采用Elasticsearch , Logstash, Kibana这套经典组合,实现了数据库数据同步Es大幅提升了高并发场景的搜索效率,并采用ik中文分词器强化了分词搜索的功能,线上错误日志收集,提升开发人员线上问题的错误日志定位效率。
数据仓库:
1. 利用Kettle对生产数据根据业务需求进行T+1模式抽取,清洗,整理。转入数据仓库进行统一维护。
2. 搭建Kettle管理系统集中管理所有转换作业,方便后期的维护工作。
3. 数据报表采用FineReport进行实现,根据各部门对数据的需求实现按部门划分。
4. 数据大屏动态数据的实现,可分为总体数据、区域数据、B端\C端总体数据。各类产品数据等板块。