1.熟悉Java语法,多线程、集合等基础框架。
2.对JVM 原理有初步理解,包括内存模型、垃圾回收机制,及优化思路。
3.熟练使用SSM等主流框架,对Spring Bean的生命周期及实现机制有一定了解,项目中结合Spring Bean的生命周期实现策略模式。
4.熟悉自定义注解、AOP 的使用,及反射的使用场景与其原理。
5.熟练掌握Mysql语法、及事务、锁、crash-safe等机制原理。了解Mysql多维度优化策略。
6.熟悉单例、模板、策略、装饰者、建造者等设计模式的使用与应用场景。
7.熟悉Jdk新特性的使用。
8.熟悉使用阿里云DataWorks大数据产品,以及业务的使用场景。
9.熟悉基于Dubbo构建微服务架构开发,了解Dubbo底层IO模型、远程代理、Spi原理。
10.熟悉Redis非关系型数据库,及遇到缓存穿透、雪崩、击穿等解决方式。并了解Redis实现高可用技术手段。
11.熟悉Redission分布式锁的使用与使用场景,了解其加锁原理。
12.熟悉 RocketMq 的使用,及消峰限流、异步解耦、事务消息特性。
13.熟练使用IntelliJ IDEA、Maven、Git、Svn 等开发及项目管理工具。
项目一:感智汇
开发架构:SpringBoot、SpringCloud、kafka、Mybatis、Mysql、Redis、nacos
项目描述:
“感智汇”定位于全市统一感智底座,能够高效解决“标准统一难、数据共享难、实时感知难、数据汇集难”等问题,项目涵盖平湖市统一的视频、物联(包括遥感)、公共数据、算力资源池等,将为数字政府建设提供设备管理、算法管理、数据管理、应用管理、项目管理等多种数字资源要素的融合管理能力。
责任描述:
1.提供概览页面。通过接入地图,以设备资源经纬度在地图打点,展示设备资源的分布,并以街道等为维度的数据汇总,为政府人员快速全面了解资源概况。
2.为平台提供设备视频预览功能,自主配置算法与监测范围。通过对接海康,视频播放,实时抓图等功能对平台上层应用支持。
3.由于设备的信息安全性与信息的私密性,平台提供以申请,审批的方式。达到平台资源共享途径透明性、可追溯性。
4.由于平台资源数量大,提供源暂存夹、收藏夹、批量等功能。便于使用者管理。
5.建立标签体系,资源打标签,通过标签筛选快速定位相关设备资源。
6.为解决平台共享资源数据与政府相关系统数据共享。与第三方政府服务商对接,共享资源。
7.通过Kafka监听平台设备实时事件消息,并推送至共享资源部门,实现共享设备资源数据收集
项目一:惠鲸/拼拼有礼
涉及技术:SpringBoot、Dubbo、RocketMq、Datawordks、OpenSearch、ElasticSearch、Mybatis、Mysql、Redis、apollo
项目描述:
惠鲸有限公司是一家致力于开发全网购物省钱社交电商平台的公司。为了解决原有APP有限的营销模式及稳定用户群体,推出的拼拼有礼APP。平台接入cps商品、第三方供应链商品,为上层业务建立购物商城,及拼团、魔力盲盒等营销活动。为快速推广与社交电商定位,通过依托微信用户群体快速传播能力推出小程序客户端,并通过营销、线下活动等方式,上线三个月达到500万用户。
项目采用模块划分,SpringBoot构建Dubbo微服务应用。
职责描述:
1.建立会员粉丝与会员成长体系,并与会员推广收益成正比关系,有效提高用户推广积极性。
2.为有助于顶级会员用户提供,有效的、可视化的推广引导。利用阿里DataWorks大数据产品,以顶级会员用户向下链路为维度,统计出单、粉丝增长等以折线图、条形图等方式展示。
3.基于社交平台的定位,为用户提供以低时间成本维持社群的活跃度。接入第三方AI助理机器人,用户通过定制化素材、跟群策略,服务端通过实时监听通过多线程实现素材转发、消息跟发。
4.为平台能有效拉新推广,推出新人专享、免单活动营销活动。
5.解决第三方cps商品下单数据,能够在自营App内同步展示的问题。通过配置调度规则,以时间为维度拉去第三方订单数据,再通过Mq异步处理实现数据的落库。
6.会员通过观看广告领取拼团获取红包奖励。为解决用户对广告的反感,并均衡广告的收益。平台推出优享会员,为用户赋予自动拼团、免广告等特权。
7.为推广团长更多的推广手段,推出兑换码体验会员功能。由团长向社群发放,让更多用户了解与体验平台优享会员特权,并吸引更多的新用户加入。
8.为增加用户活跃度,提升会员积极热情。实现APP线上活动门票售卖,活动现场二维码核销的方式开展线下活动
9.初期平台商品全部来源于cps商品,后期接入第三方供应链商品。以自营商品的形式上架。实现自主选品与定价提高平台收益。
技术要点:
1.登录、免单等模块。通过模板模式与策略模式。降低代码耦合度与代码复杂度。
2.统计出单、粉丝、榜单等信息,数据量大并以时间等多维度统计。由于对实时性没有要求,采用Dataworks做定时离线统计,将统计结果导出至Es,减少Mysql服务压力。
3.公共服务模块封装,通过SpringBoot自动化配置,快速接入微服务应用中心。
4.体验会员功能,由于是兑换码进行兑换的方式。通过令牌桶单机限流与Redis记录验证次数,防止恶心盗刷。
5.利用Redis的List类型数据结构类型的队列特性,记录会员完成免单任务弹幕播报。有效减少Mysql数据的存储量与接口的响应速度。
6.自营订单支付,由于自营商品对接第三方供应链原因,真实下单在用户支付回调完成。若发生失败,利用消费失败Mq重复投递特性,保证数据幂等性的情况下,通过补偿措施保证数据一致性。
7.防止用户有暴力破解验证码行为。验证码验证失败超过三次,利用Redis实现,加入黑名单,限时封禁。
8. 为保证用户登录态的可控。采用jwt结合redis实现用户鉴权与异地登录用户下线。