1. 熟练掌握JavaSE基础,如集合、反射,IO,了解常见的设计模式,了解多种语法糖,具有良好的编码习惯。
2. 熟悉Java并发编程相关知识,了解JMM、synchronized、volatile、 AQS、CAS、线程池等知识。
3. 了解JVM的基本知识,如运行时数据区域、类加载机制、垃圾回收算法、垃圾回收器、常用可视化调优工具等。
4. 熟悉MySQL数据库,对事务、索引、锁机制等有一定的理解,能够编写常用的SQL语句及简单的SQL优化。
5. 熟练掌握Spring、SpringMVC、 MyBatis 等主流开发框架,对于Spring的IOC、AOP、MyBatis的缓存机制、动态SQL等有基本了解。
6. 熟悉Redis的基本使用、数据类型、持久化机制、内存淘汰策略、数据一致性、限流等使用场景。
7. 熟练使用Git、IDEA、 ChatGPT、 Swagger、 Navicat 等工具提高开发协作效率,熟悉常用的Linux命令
8. 熟悉使用Vue-CLl脚手架、VS Code、WebStorm IDE等开发工具快速开发前端项目。
9. 了解SpringCloud和SpringCloudAlibaba 核心组件(Nacos,Gateway,OpenFeign)的使用。
我的分析平台项目
项目介绍:用户输入分析目标、图表名称、和上传excel文件,后台调用的IA接口,将excel中的数据做解析,提交给AI自动生成可视化图表及分析结论,实现数据分析、降低数据分析的人工成本、提高数据分析效率。
技术栈:SpringBoot、MyBatisPlus、Redis、MySQL、RabbitMQ、Vue
主要职责:
1.为保证系统的安全性,对用户上传的原始数据文件进行了后缀名、大小内容等多重校验。
2. 由于AI的输入Token限制,使用Excel解析用户上传的XLSX表格数据文件并压缩为CSV,实测提了20%的单次输入数据量、节约了成本。
3.为防止期户恶意用系统资源,基于Redisson的令牌桶策略实现分布式限流,控制单用户访问的频率。
4. 使用RabbitMQ 来优化线程池的数据丢失、多台服务器数据不共享的问题,通过Direct交换机转发给解耦的Al生成模块消费并处理任务,提高了系统的可靠性。