1. Java基础扎实,熟练掌握Java面向对象编程、集合、IO、网络编程、并发编程等核心知识
2. 了解JVM内存模型、类加载机制以及调优
3. 熟练掌握Spring、Spring MVC、Spring Boot、MyBatis等主流开发框架,并能够独立自主地快速开发简单的单体项目,熟悉Spring核心原理如IOC、AOP等
4. 熟悉MySQL, 熟练使用常见的MySQL语句,对SQL优化、分库分表、事务ACID、锁、索引、约束有一定的了解。
5. 熟悉Redis的基本数据类型,对缓存穿透、雪崩和击穿有一定的了解,了解Redis在实际开发中的使用场景,具备在实际开发中
使用Redis的经验
6. 熟悉RabbitMQ消息队列的应用场景、消息传输模式、消息分发策略、高可用等概念,能够提出针对消息堆积的解决方案,具备
在实际开发中使用RabbitMQ的经验
7. 熟练使用Git、Maven等常用开发者工具,熟悉Linux常用命令,具备在Linux云服务器上部署游戏服务端的经验
8. 计算机核心基础知识扎实,熟练掌握常见的数据结构和算法,熟悉TCP/IP、HTTP等网络协议,对进程间通信、调度算法、进程管理、内存管理等计算机系统知识有一定理解。
9. 了解HTML、CSS、JS和Vue,具备使用Vue框架和Element Plus组件进行前端页面设计与开发的经验。
10. 熟悉Unix系统的源码及其实现机制,理解内核架构、进程管理、内存管理等核心模块。
11. 对TCP/IP协议的实现有一定了解,能够分析网络协议栈的工作原理,如IP、TCP、UDP等协议的包处理过程。
【量子社区】
一、项目介绍
设计并开发一个功能丰富的社区型网站。该网站集成文章模块、问答模块、评论模块、动态模块、消息模块、私信模块、后台管理模块、全局搜索等功能。
二、技术栈
1. 后端框架:Spring Boot 、MyBatis、Jwt、Kaptcha、lombok、Page Helper、aliyun OSS、WebSocket
中间件:RabbitMQ
缓存: Redis
前端框架:HTML、CSS、JavaScript、Vue3、ElementPlus、md-editor-v3、Echarts
数据库:MySQL
构建工具:Maven
三、项目描述
1. 使用Cookie存储用户登录信息的Jwt token,并通过随机盐值+多次哈希对密码进行加密存储,增强密码安全性。
2. 使用MyBatis作为持久层框架,并通过Page Helper插件对文章、评论、用户、问答、动态等数据进行分页查询,提高数据查
询效率。
3. 采用阿里云OSS存储文章和问答md文件、文章图片、用户头像等信息。
4. 使用Kaptcha生成图形数字验证码,并使用Redis存储当前用户登录失败次数,防止密码被暴力破解。
5. 采用Redis存储图形数字验证码、邮箱验证码以及最新的和访问量最高的十篇文章、回答,提高超多用户请求页面时页面的加载速度。
6. 使用WebSocket实现了用户间私信、系统消息以及发布评论后前端页面即时更新评论等即时通信功能
7. 前端使用使用md-editor-v3实现在线编辑并发布markdown文章,使用Echarts实现了文章、问答、用户、动态等模块的数据
可视化功能。
8. 使用 RabbitMQ 和线程池实现了添加评论、添加文章、添加问答功能的高并发写入,并将评论、文章、问答等数据写入
到 Redis 作为临时缓存实现评论的高并发读取,通过定时任务将评论数据同步到数据库,减少访问数据库的压力。
9. 使用Redis缓存文章、问答和动态的浏览量、点赞量、评论量等需要频繁读取和更新的数据,并通过定时任务将缓存数据同步到数据库中,减少直接访问数据库造成的压力。
量子社区是一个专注于开放、自由、高质量的知识分享和交流平台,集成发布文章、问答社区、动态发布等功能。社区涉及内容广泛,涵盖了科学、编程、历史、生活、时事等各个领域,用户可以根据自己的兴趣选择浏览不同领域下的文章和话题。量子社区集成了大量的优质内容,鼓励用户提供有深度、有见解、有价
这是一个基于C++和Qt开发的亚马逊棋AI博弈系统,能够实现人机对战。电脑AI使用了PVS搜索算法,具有一定的思考能力