个人介绍
熟悉面向对象编程,具有良好的编程风格,有在MVC模式下进行中大型web开发的经验。
熟悉mysql数据库,熟悉mysql主从复制,sql调优。
熟悉redis主从复制,哨兵,缓存设计。
熟悉rabbitmq消息中间件。
熟悉zookeeper分布式协调组件。
熟悉jvm垃圾回收、以及性能调优。
工作经历
2020-09-04 -至今南京xxx网络科技有限公司Java开发工程师
主要负责公司供应链系统需求评审、分析,系统搭建及功能开发开发,涉及供应商、采购、财务、仓储等多个子系统搭建及开发、联调,测试。。。
2018-04-05 -2020-09-30南京苏宁科技有限公司Java开发工程师
1. 负责功能模块编程。 2. 负责数据库相关表设计,sql优化。 3. 负责相关redis缓存设计。 4. 参与功能联调、测试。 5. 负责协同运维对系统维护。
教育经历
2010-09-01 - 2014-06-01南京信息工程大学电子信息工程本科
本人电子信息专业毕业,成绩良好,无挂科记录
技能
● 项目目的:用户为新人时,在首页展示新人权益和优惠信息,引导用户完成首单转化。 ● 岗位职责:参与概要设计、数据库设计、缓存设计。负责创建活动后台搭建,新人礼每日弹窗提示、新人礼楼层、广告展示代码实现,领取新人礼及展示代码实现,新人礼补发后台搭建。 ● 技术及实现:服务端用springMVC、mybatis框架,数据库采用mysql,用redis做缓存。后台页面采用JQuery+easyUI实现。 1. 采用redis做分布式锁,防止同一个人同时领取奖励,同时对活动信息及用户信息进行缓存。 2. 采用预处理方式对领取奖励进行预发放,即在真正发奖前,保存发奖记录,设置状态为待发放,等真正发放结束,在更新状态为已发放。这样有助于 发奖失败用户进行补发,解决客诉。 3. 利用zookeeper做配置中心,配置服务降级开关等其他配置。
● 项目目的:小店平台、菜场、咖啡业态,会员邀请未在小店平台、菜场、咖啡下过单的新人下单,新人可得新人礼包,新人在指定天内在小店线上支付并签收实付金额大于等于指定金额的订单,邀请人获得奖励。 ● 岗位职责:参与概要设计、数据库设计、缓存设计。负责被邀请人与邀请人邀请关系代码实现、新人下单、收货后,邀请状态更新代码实现,及邀请人奖励补发后台搭建开发。 ● 技术及实现:服务端用springMVC、mybatis框架,数据库采用mysql,用redis做缓存。后台页面采用JQuery+easyUI实现。 1. 采用redis做分布式锁,防止同一用户同一时刻被多人邀请,同时作为活动信息、邀请关系等信息的缓存工具,减轻数据库压力。 2. 采用rabbitMQ对用户下单及收货信息进行下发,监听下发数据更新邀请状态,实现系统解耦。 3. 利用zookeeper做配置中心,配置服务降级开关等其他配置。
● 项目目的:限时抢放利给用户,通过利益点驱动小店流量,引导新人下载/唤醒小店APP、登入注册、下单。 ● 岗位职责:参与概要设计、数据库设计、缓存设计。负责将下发的报名商品入库,根据查询条件将商品按活动开始时间-结束时间进行聚合。 ● 技术及实现:服务端用springMVC、mybatis框架,数据库采用mysql,用redis做缓存。 1. 采用rabbitMQ发送消息的推模式,监听上游下发报名商品数据进行消费,实现系统解耦。 2. 采用redis对报名商品信息、波次信息进行缓存,减轻数据库压力。缓存设计时,先查询缓存,若没有查到在查库,若查库也没有则想缓存中设置空值,预防缓存穿透。 3. 利用lambda表达式对商品按波次进行聚合,简化代码。 4. 利用zookeeper的node节点事件监听机制,配置服务降级开关等其他配置,实现动态配置。