1.具有扎实的java基础,对面向对象编程有深刻理解,熟悉掌握java IO流,集合,多线程。深入理解JVM底层原理,熟悉JVM各种垃圾收集器的使用及核心参数调优,有一定JVM调优经验。
2.深入理解spring, spring mvc , mybatis 等开源框架的设计原理及底层架构,研究过部分核心源码,对微服务中springboot, springcloud等相关组件使用及原理也有一定了解。
3.深入理解redis 线程模型,熟悉redis核心数据结构的使用场景,熟悉多级缓存架构,熟悉缓存高并发的使用场景,比如缓存雪崩,缓存穿透,缓存失效,热点缓存重建。
4.了解常用消息中间件RoketMQ, Kafka原理及使用场景。
5.对高性能IO通信模型及相关开源组件Netty等源码有过深入研究,熟悉Netty线程模型。
SMP平台
项目描述:基于微服务的思想,采用Springboot ,mybatis, Springmvc,Angularjs, Pivotal Cloud Foundry等主流技术及平台,作为项目的基础技术架构,QuickSign主要是对银行理财产品表单电子化处理,将电子化表单推送到SMP平台的pdf- form进行签名确认,审批,发送GWIS等处理,将银行的财务流程电子化。
责任描述:在此项目中,作为TL角色,在前期需求确认时评估技术可行性,制定技术方案,评估具体task的effort,指定sprint迭代周期,和scum-master一块跟进项目并在保证开发质量。在此同时也承担一定的开发任务。主要负责MI report报表文件生成及定时发送等模块的设计及开发。主要用到的技术:前端AngularJS(熟悉) ,后端:Springboot , restFul接口规范, mybatis(熟练) ;数据库:oracle, mySQL(熟练);redis,kafka, rocketMQ(了解);
技术成果:1.在处理三方大数据量传输、逻辑处理后入库的效率低问题,通过线程池,开启多线程处理,使用多线程前大概需要20小时,通过多线程处理后仅需要5分钟。
mVTM-微信预注册(开卡)
项目描述:主要通过微信端小程序,录入开卡用户头像,身份信息,后台通过录入的信息,然后和从第三方公安系统获取的信息进行审查,验证,以及校验人员其他的一些开卡的条件是否满足,综合处理,并将最终成功开卡的用户信息推送并保存,业务人员将对这些数据再次审查,对符合条件的用户推送短信提醒。
职责:作为TL,和scum-master分析需求,做前期的技术poc, 对整个项目task的分配和effort评估,同时承担小程序如果信息录入和身份验证的API开发。
主要技术栈:springboot, springcloud中的Eureka, Feign, mybatis, OCR, Ldap 数据库: mysql, iaas: 云平台AWS,
CI/CD: jinkens , jira, confluence .