# intelligent-interview **Repository Path**: limou3434/intelligent-interview ## Basic Information - **Project Name**: intelligent-interview - **Description**: 一个在线接入智能模型的完整项目源代码 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-16 - **Last Updated**: 2025-03-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Intelligent Interview ## 项目简介 **Intelligent Interview** 是一款基于 SpringBoot 和 React 的智能面试刷题平台,采用前后端分离架构,并通过 Docker 容器化部署。平台支持分词搜索、高效刷题记录管理、权限控制、流控熔断等功能,为用户提供流畅的刷题体验。 ## 代码仓库 - GitHub 仓库:[limou3434/intelligent-interview](https://github.com/limou3434/intelligent-interview) ## 技术架构 ### 后端技术栈 - **SpringBoot**:后端核心框架 - **Redis**:高效缓存与刷题记录存储(bitmap) - **MySQL**:题库和用户数据存储 - **Elasticsearch**:实现分词搜索,提高题目检索效率 - **Sa-Token**:权限认证和单点登录(SSO) - **Sentinel**:流量控制与熔断降级 - **Nacos**:动态配置管理与黑名单机制 - **Druid**:SQL 监控和数据库优化 ### 前端技术栈 - **React** + **Next.js**:响应式前端应用,服务端+客户端混合渲染 - **TypeScript**:提升代码可维护性 - **Redux**:全局状态管理 - **Ant Design + ProComponents**:现代化 UI 组件库 ### 部署架构 - **Docker**:容器化部署,前后端均使用 Docker 运行 - **Nginx**:反向代理,实现负载均衡与跨域问题解决 - **Git Hooks**:自动化部署,定时拉取更新并重启 Docker 镜像 ## 功能模块 ### 1. 管理模块 - 管理员可对题库、题目、用户进行增删查改 - 支持批量操作,提高管理效率 ### 2. 用户登录 - 基于 Sa-Token 实现用户身份认证 - 取代传统手写登录逻辑,增强安全性 ### 3. 单点登录(SSO) - 允许用户多端同时登录 - 同端登录互斥,保障账号安全 ### 4. 分词搜索 - 基于 Elasticsearch 实现智能题目检索 - 支持高效分词,提高搜索精准度 ### 5. 刷题记录管理 - 采用 Redis + bitmap 记录刷题历史 - 提供日历图展示刷题进度,直观分析用户刷题情况 ### 6. 权限管理 - 采用 Sa-Token 进行细粒度权限控制 - 限制不同角色的访问权限 ### 7. 动态黑名单 - 基于 Nacos 配置中心实现 IP 黑名单 - 结合请求拦截,防止恶意访问 ### 8. 流控与熔断 - 使用 Sentinel 进行流量控制 - 保障系统高并发下的稳定性 ### 9. 性能与安全优化 - **Caffeine**:本地缓存提升查询性能 - **Hotkey 探测**:自动缓存高频题目,减少数据库压力 - **SpringScheduler**:定期同步数据到 Elasticsearch,确保数据一致性 - **Nacos 动态黑名单**:自动更新黑名单,防止恶意攻击 - **Druid 监控 SQL**:优化数据库查询,提高性能 ## 部署指南 1. **克隆仓库** ```bash git clone https://github.com/limou3434/intelligent-interview.git cd intelligent-interview ``` 2. **构建 Docker 镜像并运行** ```bash docker-compose up -d ``` 3. **访问系统** - 前端地址:http://localhost:3000 - 后端 API:http://localhost:8080 ## 贡献指南 欢迎对本项目提出 Issue 或 Pull Request,共同优化智能面试刷题平台。 ## 许可证 本项目遵循 MIT 许可证,详情请见 [LICENSE](./LICENSE)。