Memory 面试刷题平台-开发文档
项目总览
项目介绍
2025 年 4 月 24 日
Memory 面试刷题平台是一款基于 Next.js + Spring Boot + Redis + MySQL+ Elasticsearch 的 面试刷题平台,运用 Druid + Hotkey + SaToken + Sentinel 提高了系统的性能和安全性。
管理员可以创建颖库、题目和题解;用户可以注册登录、分词检索题目、在线刷题并查看刷题记录日历图。
此外,系统使用数据库连接池、热 Key 探测、缓存、高级数据结构等来提升性能。
通过流量控制、熔断、动态 IP 黑白名单过滤、同端登录冲突检测、分级反爬虫策略来提升系统和内容的安全性。
从0到1的真实企业级项目设计开发,绝对让你收获满满!
项目收获
2025 年 4 月 24 日
该项目可以学到通用的项目开发方法和架构设计套路,可以学到:
如何拆解复杂业务,从0开始设计实现系统?
如何快速构建 Next.js 服务端渲染网站和后端项目?
如何结合 Redis + Caffeine + Hotkey 构建高性能实时缓存?
如何利用 Elasticsearch 实现灵活高效的内容搜索?
如何I5用 Redisson 高级数据结构,实现高性能的接口?
如何实现流量控制和动态IP 黑白名单,增强网站安全性?
如何实现登录冲突检测和分级反爬虫策略,保护网站内容?.
如何快速上线项目并增强可用性?.
此外,还能学会很多作图、思考问题、对比方案的方法,提升排查问题、自主解决 Bug 的能力。
功能结构
2025 年 4 月 24 日
用户模块
- 用户注册
- 用户登录(账号密码)
- 管理员】管理用户-增删改查
题库模块
查看题库列表
查看题库详情(展示题库下的题目)
【管理员】管理题库-增删改查。
题目模块
- 题目搜索
- 查看题目详情(进入刷题页面)
- 【管理员】管理题目-增删改查(比如按照题库查询题目、修改题目所属题库等)。
高级功能
题目批量管理
- 【管理员】批量向题库添加题目。
- 【管理员】批量从题库移除题目
- 【管理员】批量删除题目。
分词题目搜索,用户刷题记录日历图,自动缓存热门题目,网站流量控制和熔断,动态IP黑白名单过滤,同端登录冲突检测,分级题目反爬虫策略。
库表设计
2025 年 4 月 24 日
用户表,题库表,题目表,题库题目关系表。
代码生成器 | MyBatis-Plus (baomidou.com)
快速开始 | Knife4j (xiaominfo.com)
初始化
2025 年 4 月 24 日
数据访问层代码生成,业务代码生成。
业务接口梳理
根据之前整理的功能列表,分析核心业务流程需要调用的接口:
用户模块
- 用户注册:已完成 万用模板自带
- 用户登录(账号密码):已完成万用模板自带
- 【管理员】管理用户-增删改查:已完成万用模板自带
题库模块
- 查看题库列表:分页获取题库接口,已通过生成器生成,需要确认
- 查看题库详情(展示题库下的题目):了根据 id 获取题库详情接口,需要开发
- 【管理员】管理题库-增删改查:??已通过生成器生成,需要确认
题目模块
- 题目搜索:分页获取题目接口,已通过生成器生成,需要确认
- 查看题目详情(进入刷题页面)根据 id 获取题目详情接口,需要确认
- 【管理员】管理题目-增删改查:”了已通过生成器生成,需要确认
- 【管理员】按照题库查询题目:根据题库id 获取题目列表,需要开发管理员】修改题目所属题库等:?修改题目所属题库接口,需要开发
最后,通过接口文档来完整测试一遍业务流程即可
后端业务
2025 年 4 月 25 日
拿到源码,研究下代码生成器,再尝试启动项目。
配置文件中文问题果然这么解决了,修改全局文件编码方式,再重启下 IDEA 才生效,项目启动成功。
1 |
|