熟悉 Java 基础知识,如基本数据类型、异常处理、集合、多线程等,能使用 Java8 的 Stream API 操作集合类。
熟悉 SSM、Spring Boot、MyBatis-Plus 等主流后端开发框架,熟悉 AOP、IOC 设计思想,能独 立开发项目。
熟悉 MySQL 、PgSql、Oracle、SqlServer的基本使用,比如索引、事务隔离、日志系统,具备 SQL 语句编写能力,有报表开 发、数据清洗经验。
了解 Redis 比如 缓存穿透、缓存雪崩、缓存击穿、Redis分布式锁等。
了解 SpringCloud 分布式框架,掌握SpringCloud各大组件的使用,如 Nacos注册中心、 GateWay网关等组件。
了解 Linux 的基本命令使用,如 ls、find、tar、ps 等命令,能在 Linux 系统中安装 JDK、MySQL 等。
熟悉 HTML、CSS、JavaScript、Vue,了解过前端开发框架,如 Vue2、Vue3、Element-ui。
掌握 Git 工具的基本操作如上传、拉取代码和版本控制, IDEA, Maven, Navicat 等开发工具。
该项目是一个集中管理交付项目进度的系统,旨在帮助团队把控项目交付成本、跟踪项目问题, 并提供全面的项目管理和监控功能。该系统的开发过程中,我担任了以下职责:
技术栈:
后端框架:Spring Boot
持久层框架:MyBatis-Plus
缓存服务:Redis(用于存储用户 Token 和热点数据缓存)
数据库:Mysql
权限控制:Spring Security + JWT
定时任务:Quartz
前端技术:Vue3.js + Element UI
项目职责:
系统架构设计: 使用 Spring Boot 搭建后端服务,设计 RESTful API 接口,实现前后端分离。 采用 MyBatis-Plus 实现数据持久化,优化数据库查询性能,支持动态 SQL 和分页查询。 使用 Redis 缓存用户 Token 和热点数据,减少数据库压力,提升系统响应速度。
权限控制与角色管理: 基于 Spring Security 和 JWT 实现用户认证和权限控制,支持动态菜单配置和角色权限分配。 设计 RBAC(基于角色的访问控制)模型,确保不同角色用户只能访问其权限范围内的功能。
项目管理模块开发: 实现项目管理功能,包括项目创建、编辑、删除、查询等操作,支持项目状态跟踪和进度管理。 开发项目计划模块,支持甘特图展示和任务分配,确保项目按计划推进。
报表与数据分析: 开发项目周报表和人员产出统计功能,支持数据导出和可视化展示。 使用 ECharts 实现数据可视化,生成项目人员分布图和项目进度趋势图。
定时任务与异步处理: 使用 Quartz 实现定时任务,定期生成项目周报和发送提醒邮件。 通过异步任务处理耗时操作(如数据导出),提升系统性能。
性能优化与问题排查: 优化数据库查询,使用索引和缓存技术提升系统性能。 通过日志分析定位并解决系统瓶颈。