1.JAVA基础扎实,熟练掌握Java的常用类库,如:集合,IO/NIO,多线程,熟悉常见的设计模式;
2.了解JVM内存模型,以及常见的参数调整,日志监控,优化手段;
3.熟练掌握Spring,SpringMVC,SpringBoot,Mybatis开发框架;
4.熟悉基于SpringCloud Alibaba系列微服务组件,对微服务拆分,设计有较为深入的认知;
5.熟练掌握MySql数据库,熟练SQL优化,对索引,MVCC等底层工作原理有一定了解;
6.熟练掌握Redis,在项目中有实际的独立设计经验,针对缓存穿透,击穿,雪崩等问题能够设计出对应的解决方案,对Redis哨兵,Redis集群比较熟悉;
7.熟悉RabbitMQ,kafka中间件,在项目中有实际应用,处理并发,系统异步耦合场景;了解消息一致性,大规模消息积压问题的解决方案;
8.熟悉HTML,CSS,JavaScript,了解Vue,Ajax,ElementUI等前端技术的使用;
9.熟练使用Git,Maven项目管理和项目构建工具,Postman,Junit等测试工具;
技术栈:SpringBoot +Spring+SpringMVC+Mybatis+MySQL+Redis
项目描述:本项目是专门为解决大学生想要在寝室中吃零食却不想出门这一痛点而实现的零食售卖平台。该项目分为用户端和商家端,商家端可以在后台网页端实现登录,以及对于商品,套餐,订单的管理,用户端可以在小程序端进行在线浏览商品,添加购物车,修改收货地址,下单等操作;
负责功能:
1.登录及身份验证使用JWT令牌技术,使用自定义拦截器完成用户认证(token校验),判断用户是否处于登录状态,将用户信息存入ThreadLocal,解决HTTP请求无状态的问题;
2.使用Redis缓存热点数据如分类商品,并使用Spring Cache优化代码,提高系统性能和响应速度;
3.为了解决缓存一致性的问题,在系统中采用主动更新+延迟双删的缓存更新方案,满足较高的数据一致性;
4.通过WebSocket实现客户端与服务端的长连接,并实现来单提醒及用户催单等功能;
5.使用SpringTask实现订单状态的定时处理,超时未支付自动取消订单。
技术栈:SpringBoot+Mybatis+MySQL+Redis+SpringCloud Alibaba+nacos+kafka
项目描述:本项目主要为用户提供一个方便快捷的看漫画网站,用户可以根据分类观看漫画,也可以通过搜索框搜索想要观看的漫画,用户登录后可以收藏,评论漫画,根据漫画的评分和热度会有不同的排行榜,部分漫画需要开通vip才可以观看。
负责功能:
1.通过导入Tess4J依赖,对上传的漫画图片提取出文本内容和图片,使用DFA对自定义敏感词进行过滤,然后调用阿里云第三方接口对图片和文字进行审核,解决了人工审核审核速度慢的痛点;
2.使用Redis实现延迟任务,定时发布漫画,考虑到多线程的并发问题,使用分布式锁来解决集群下的方法抢占执行;
3.通过kafka消息中间件实现异步通知漫画上下架,解决了高并发情况下响应速度慢的缺点;
4.为了提高查询效率,使用ElasticSearch索引库,将查询到的漫画信息批量导入到es索引库中;
5.通过xxl-job获得固定时间的漫画数据,对于浏览量,评论,收藏,分配不同的权重,计算总分值来选出热门漫画;