精通Java,例如Java的集合相关类实现原理、反射、集合、异常、泛型、注解和多线程等
掌握 JSP 和 Servlet的原理和使用
了解Java虚拟机
熟悉JDBC,熟悉http协议
熟悉JavaScript、Ajax、jQuery、html等前台开发技术
熟悉SQL,熟悉常用的数据库MySQL、Oracle、DB2
熟悉NoSQL数据库MongoDB
熟悉Spring、SpringMVC、Springboot、MyBatis,了解其原理
了解Struts2、 Hibernate等开源框架
熟悉Redis缓存,熟悉其五种数据结构
熟悉mq消息队列
熟练使用Eclipse、IDEA、SVN、Git、Maven等项目开发、管理和构建工具
了解Linux操作系统的使用, 熟悉常用 Linux 命令
了解常用的设计模式
项目时间:2016.12-至今
项目名称:中国南方航空国内官网
项目内容: 南航官网是一个大型综合性网站,主要功能包括机票查询,预订,下单,提前选座,退改票,里程兑换,托运行李等,其他功能有酒店预订,用车预订,旅游查询等等。整个项目使用Maven管理,后端采用Spring+SpringMVC+Springboot+Mybatis实现,前端页面采用jQuery、Ajax 实现
主要职责:
1. 根据需求文档开发后端restful接口,例如南航充值卡需求,使用Spring+SpringMVC开发接口,使用Java Validation API实现大量请求参数的校验,极大减少代码冗余,灵活应用各种注解实现异常的统一处理,数据的缓存等,使用AES或RSA等加密算法实现数据的安全传输,使用RestTemplate或HttpClient实现系统之间的交互
2. 重构一些频繁访问的但是使用旧技术xsql实现的接口,如机票订单查询等,使用Springboot+MyBatis来实现,原来的接口由于代码和sql不尽合理导致需要10s到20s才会得出结果,重构时弄清楚业务规则后修改代码和sql的引起性能问题的地方,新接口能在5s内得出结果,符合了业务的时间要求.在重构过程中, 灵活使用Springboot的起步依赖和自动配置,使用actuator了解应用程序运行时的内部状况,极大提高了开发效率
3. 排查和修复项目在运行中发现的bug,例如曾经有一个问题是项目老是报类型转换异常,但是反复排查发现使用的类都是一致的,深入分析后才找到原来是Springboot的开发者工具devtools依赖使用不同的类加载器导致的
4. 配合性能测试优化代码和sql,解决南航会员日抽奖高并发遇到的问题,如会员可以重复抽奖,抽奖方法返回结果缓慢,经审查代码发现判断用户是否抽过奖和设置其已抽奖的代码不是原子性操作,最后改为使用redis的setnx方法解决此问题。方法执行缓慢是由于整个方法都在事务之中,最后拆分方法,将无需事务的代码拆分出去,将奖品信息等改为存放在redis,减少oracle数据库压力
项目时间:2015年8月-2016年11月
项目名称:广发银行自助设备生命周期管理系统
项目内容: 建立自助设备生命周期管理,用于电子化审批自助设备相关业务,查看自助设备从计划到报废的整个生命周期过程,完成自助设备后评价、日常监测等业务管理。通过该项目高效管理和监控各类自助设备如ATM机、VTM机的使用
主要职责:
1. 参与需求分析,数据库表结构设计,文档编写
2. 进行服务后台接口的设计和开发,制定接口规范和技术文档
3. 编写业务SQL语句,对一些SQL语句进行优化
4. 使用Java Servlet和JSP配合编写动态页面
5. 页面编写div+css布局,使用JavaScript实现各种表单验证。
6. 使用jQuery和Ajax技术与服务器交互实现页面动态刷新