- 在2017阿里中间件性能挑战赛第一赛季中获得第55名,共近2000个团队参赛
- 熟悉各种环境部署的一整套流程
- JAVA基础扎实,熟悉IO,NIO,多线程,集合等基础框架。
- 能熟练使用JUC工具包,常用JAVA框架原理及应用
- 熟练掌握SQL慢查询性能优化
- 熟悉JVM垃圾回收,内存分配,JVM参数设置
- 能熟练使用btrace, jmap, jinf o, jstat, jstack等工具进行问题排查。
- 熟悉Linux操作,Redis穿透,常用算法及数据结构,Tomcat,Jetty,ES,Zookeeper,接触过Storm。
- 曾手动分析过class文件的二进制数据(http://dwz.cn/58jM9e) 在ubuntu系统上手动编译过openjdk1.6和1.7版本。
项目一:消息中间件
1. 项目目标:以尽快速度发送大量消息,并以尽快速度拉取消息(消息大小不固定、必须保证消息顺序、准确性和完整性)
2. 技术栈:线程池、顺序读写、锁、内存映射、零拷贝、磁盘优化、压缩算法
3. 项目成果:消息数量40000000条,在保证顺序、准确、完整性条件下,在79秒内发送完毕,在31秒内拉取完毕,tps达到360039.
项目二:足记App
1. 项目目标:打造一款以图片为主题的社交软件
2. 技术栈:四层负载均衡,Linux,Nginx,Jetty,Dubbo分布式微服
务,Codis,ES,ZK,Mongo,ActiveMQ,SpringMVC,MySQL一主多从
3. 我的工作:
参与需求分析讨论,确定技术方案,设计表结构,对开发任务进行分配和排期
参考阿里巴巴Java开发手册结合实际情况对代码进改造优化,制定自己的一些工程规范
对新进员工和实习生进行一些代码规范,系统架构和工作原理相关的培训 上线前的脚本准备,数据清洗
token设计,接口安全和防刷
MySQL到ES,Mongo 的数据同步服务 MySQL慢查询和线上异常日志排查
利用zk开发一个分布式锁以便在工程中使用,用来防止Redis 被打穿
利用javassist对Jedis类进行一个封装,实现自动getResource和return或close
利用btrace,jmap,jstack,jstat,jvisualvm等工具对OOM,堆外内存使用异常等问题进行排查
项目三:EDM(上海梅花信息)
1. 项目目标:帮助企业快速建立EDM邮件,在指定时刻快速批量的将邮件发出,同时提供邮件的各种跟踪数
据,比如打开量,独立打开量,打开ip等信息。
2. 技术栈:CentOS,MySQL,Tomcat,SpringMVC,MyBatis,Quartz,SFTP,七牛云存储,web
service
3. 我的工作:
- 负责整个后端的设计和实现,api基于http协议,采用restf ul风格,接口返回json格式数据。
- 自定义了参数注解并实现参数解析器,完成请求数据的提取和基本验证,只有请求数据通过验证后才能执行后续操作
- 实现了一个propertyeditor,完成string到date对象的转换,内置了常用的日期格式,也能自定义扩 展。
- 采用phant o mjs 技术对动态网页进行截图和抓取源码。
- 用spirng aop功能实现对service层代码进行log记录。
- 利用国际化资源文件对提示信息进行统一管理,方便维护和保持风格一致。
- 采用线程池技术对一些耗时操作进行后端处理,提高响应速度。
- 对cs v文件使用apache的co mmo ns 包进行分析,提取数据
- 读操作速度一般比写操作快,所以如果需要更新数据库,会先判断数据是否发生了改变,否则不执行更 新。(读多写少的情况)
- 利用jvm提供的性能监测工具jvis ualvm来进行bug查找,性能调优等工作
角色 | 职位 |
负责人 | 高级Java研发工程师 |
队员 | 产品经理 |
队员 | UI设计师 |
队员 | iOS工程师 |
队员 | 安卓工程师 |
队员 | 前端工程师 |
队员 | 后端工程师 |