1、熟练常见的开发工具 Eclipse、IDEA 和版本控制器 Git 等,并熟练使用 maven 进行项目构。
2、熟练掌握 Java 基础知识,熟悉 Java 集合、多线程等类库,熟悉 Lambda 表达式、 Stream API 等特性。
3、熟悉 Spring、Spring MVC、MyBatis、Spring Boot、Spring Cloud 等主流开发框架。
4、熟悉 MySQL 数据库,并能熟练进行 SQL 语句编写,且具有一定的 SQL 调优能力。了解事务、索引等知识。
5、熟悉并发编程,熟悉线程池、锁、并发容器等基础知识。
6、熟悉 RabbitMQ 消息队列的使用及相关知识,了解 MQ 的常见问题如可靠投递、重复消费等。 7、熟悉 Redis 使用,掌握 Redis 常用五种数据类型,能够使用 Redisson 操作 Redis。
8、熟悉 JavaWeb 技术,包括 Filter,Listener,Cookie,Session,Servlet 等技术。
9、了解使用 Nginx 服务器软件,Vue、ElementUI 前端框架。
10、掌握 Java 虚拟机(JVM)的基础知识,包括内存管理、垃圾回收机制和类加载过程,具备基础的 JVM 调优和 故障排除能力。
11、在项目中使用 MongoDB 进行数据存储和查询,负责数据库设计、索引优化和性能调优。
项目一:博库网
应用技术
Spring Cloud 2.1.0
Spring Boot 2.2.5
MyBatis-Plus 3.3.1tmp
Nacos 1.1.0
Redis 4.0
Nginx 1.12.x
ElasticSearch 6.8
Seata 1.1.0
Jenkins
开发工具
IntelliJ IDEA
项目描述
博库网是一家品种丰富的中文网上商店,拥有160万种图书在线热销。项目采用SOA面向服务的分布式架构,主要功能模块包括:
商品管理模块
商品检索模块
商品详情模块
用户登录模块
购物车模块
订单模块
支付模块
个人职责
参与项目前期需求分析、讨论及技术选型。
与产品团队沟通,理解项目需求和业务逻辑,参与模块相关的数据库设计。
负责单点登录功能模块的核心设计和开发。
参与购物车功能模块接口的开发。
配合测试团队进行项目维护及日志查询等工作。
技术描述
架构:采用Spring Cloud分布式框架,使用Nacos作为配置中心及注册中心。
缓存:首页使用Redis作为缓存,并通过分布式锁防止缓存击穿。
单点登录:使用网关统一鉴权,采用JWT生成Token并保存到Cookie中。
购物车模块:采用异步编排技术进行远程调用处理,提高系统吞吐量。
数据存储:购物车对象使用Redis和MySQL存储,并缓存实时价格。
分布式事务:在添加商品时,使用Seata框架解决分布式事务问题。
项目二:智能主图打标系统
应用技术
Spring Boot
Spring Cloud
MyBatis
Redis
Nginx
开发工具
IntelliJ IDEA
项目描述
智能主图打标系统基于B2C架构模式,主要在双十一和六一八期间为商品添加打折图标并推送到天猫平台,提升商品吸引力。主要功能包括:
构建打标任务
构建打标模板
搜索并拉取天猫图片信息
添加商品
构建打标图片
投放打标图片
个人职责
参与项目前期需求分析和讨论。
与项目负责人共同完成开发任务。
参与所负责模块相关的数据库设计。
负责业务的开发和维护工作。
对接天猫图片接口,开发天猫图片搜索模块。
处理天猫图片,构建为打标图片。
负责投放打标完毕的图片。
根据项目进度,撰写相应的接口文档。
配合测试工程师进行软件测试工作。
技术描述
并发控制:使用Redis解决任务的并发执行和锁定问题,通过分布式锁确保任务不被重复执行,有效管理任务的执行状态和进度。
缓存封装:利用Spring AOP结合自定义注解,封装自定义缓存注解,减少重复代码。
定时任务:采用TimerTask进行调度和执行定时任务,结合Spring的@Scheduled注解,定期检查和更新任务执行时间,确保任务准确性和可靠性。
并行处理:使用Java的并行处理框架ForkJoinPool高效处理大量推送任务。
性能监控:使用Spring Boot的@Timed和@Counted注解,对打标成功和失败进行性能监控和指标收集。
第三方接口:调用天猫第三方接口,将处理后的图片上传至天猫空间。
角色 | 职位 |
负责人 | Java开发工程师 |
队员 | 产品经理 |
队员 | UI设计师 |
队员 | 前端工程师 |