Add Windows deployment support

## 新增功能

### 📝 Windows 部署文档
- WINDOWS_DEPLOYMENT.md: 完整的 Windows 部署指南
  - Docker Desktop 部署方式
  - 本地源码部署方式
  - 详细的问题排查指南

- QUICK_START.md: 5 分钟快速上手指南
  - 简化的部署步骤
  - 测试功能清单
  - 常见问题解答

### 🚀 Windows 启动脚本
- start_windows.bat: 一键启动服务
- stop_windows.bat: 停止服务
- logs_windows.bat: 查看日志

### 📚 测试数据
- test_data/sample_questions.txt: 10 道基础题目
  - 单选题、多选题、判断题
  - 适合快速功能测试

- test_data/sample_questions_advanced.txt: 8 道简答题
  - 测试 AI 评分功能
  - 高级概念题目

## 改进
- 优化 Windows 用户体验
- 提供一键启动方案
- 包含完整测试数据

🚀 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-12-01 12:45:54 +08:00
parent c5ecbeaec2
commit 1b3dd929fe
7 changed files with 1004 additions and 0 deletions

View File

@@ -0,0 +1,77 @@
测试题库 - Python 基础
1. Python 是一种什么类型的编程语言?
A. 编译型语言
B. 解释型语言
C. 汇编语言
D. 机器语言
答案B
解析Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。它不需要编译成机器码,而是通过解释器直接执行源代码。
2. 下列哪个不是 Python 的核心数据类型?
A. 列表 (list)
B. 元组 (tuple)
C. 数组 (array)
D. 字典 (dict)
答案C
解析Python 的核心数据类型包括 list、tuple、dict、set、str、int、float、bool 等。array 不是内置类型,需要导入 array 模块才能使用。
3. 在 Python 中,以下哪个关键字用于定义函数?
A. function
B. def
C. func
D. define
答案B
解析Python 使用 def 关键字来定义函数例如def my_function():
4. Python 中如何创建一个空字典?
A. dict = []
B. dict = ()
C. dict = {}
D. dict = set()
答案C
解析:{} 用于创建空字典,[] 创建空列表,() 创建空元组set() 创建空集合。
5. 以下哪个语句可以正确导入 Python 的 random 模块?
A. import random
B. include random
C. using random
D. require random
答案A
解析Python 使用 import 关键字导入模块例如import random 或 from random import randint
6. Python 是否支持多继承?
A. 正确
B. 错误
答案A
解析Python 支持多继承一个类可以继承多个父类。语法为class ChildClass(Parent1, Parent2):
7. Python 中的 None 表示什么?
A. 空字符串
B. 数字 0
C. 空值/空对象
D. False
答案C
解析None 是 Python 中的一个特殊常量,表示"无值"或"空值"。它不等同于 0、空字符串或 False。
8. 以下哪些是 Python 的合法变量名?(多选)
A. my_var
B. _private
C. 2nd_var
D. myVar
答案ABD
解析Python 变量名必须以字母或下划线开头,不能以数字开头。因此 2nd_var 不合法。
9. Python 中的缩进是强制性的吗?
A. 正确
B. 错误
答案A
解析Python 使用缩进来表示代码块,这是语法的一部分,不正确的缩进会导致 IndentationError。
10. 在 Python 中,如何注释单行代码?
A. // 注释内容
B. /* 注释内容 */
C. # 注释内容
D. -- 注释内容
答案C
解析Python 使用 # 进行单行注释,使用三引号 ''' 或 """ 进行多行注释。

View File

@@ -0,0 +1,33 @@
测试题库 - 高级编程概念
1. 什么是时间复杂度?请简要说明。
答案:时间复杂度是用来衡量算法执行时间与输入规模之间关系的度量标准。它描述了算法运行时间如何随着输入数据规模的增长而增长。常见的时间复杂度有 O(1)、O(log n)、O(n)、O(n log n)、O(n²) 等。
解析:时间复杂度是算法分析的重要指标,帮助我们评估算法的效率。
2. 解释什么是闭包Closure
答案:闭包是指一个函数能够记住并访问其词法作用域,即使这个函数在其词法作用域之外执行。闭包允许内部函数访问外部函数的变量,即使外部函数已经执行完毕。
解析:闭包在 JavaScript、Python 等语言中广泛应用,常用于数据封装和创建私有变量。
3. 数据库索引的作用是什么?
答案:数据库索引的主要作用是加快数据检索速度。索引类似于书籍的目录,可以让数据库快速定位到需要的数据,而不需要扫描整个表。索引可以显著提高查询性能,但会增加存储空间和降低写入性能。
解析:合理使用索引是数据库优化的关键,需要在查询性能和写入性能之间取得平衡。
4. RESTful API 的设计原则包括哪些?
答案RESTful API 的主要设计原则包括1) 使用 HTTP 方法GET、POST、PUT、DELETE表示操作2) 资源用 URI 表示3) 无状态通信4) 统一的接口5) 客户端-服务器分离6) 可缓存性7) 分层系统。
解析:遵循 REST 原则可以构建可扩展、易维护的 Web API。
5. 简述 Docker 容器化的优势。
答案Docker 容器化的主要优势包括1) 环境一致性,消除"在我机器上能运行"的问题2) 轻量级相比虚拟机启动更快、资源占用更少3) 可移植性,可以在任何支持 Docker 的平台运行4) 快速部署和扩展5) 版本控制和回滚6) 微服务架构支持。
解析Docker 已成为现代应用部署的标准工具,极大提高了开发和运维效率。
6. 解释什么是 SQL 注入攻击,如何防范?
答案SQL 注入是一种代码注入攻击,攻击者通过在输入中插入恶意 SQL 代码来操纵数据库。防范措施包括1) 使用参数化查询预处理语句2) 输入验证和过滤3) 最小权限原则4) 使用 ORM 框架5) 错误信息不暴露敏感信息6) Web 应用防火墙。
解析SQL 注入是最常见的 Web 安全威胁之一,使用参数化查询是最有效的防护方法。
7. 什么是 CORS它解决了什么问题
答案CORS跨域资源共享是一种机制允许浏览器向跨源服务器发出请求。它解决了浏览器的同源策略限制问题使得前后端分离的应用可以安全地进行跨域通信。通过设置适当的 HTTP 响应头(如 Access-Control-Allow-Origin服务器可以控制哪些域名可以访问资源。
解析:理解 CORS 对于开发现代 Web 应用至关重要,特别是前后端分离架构。
8. 简述 Git 的工作流程。
答案Git 的基本工作流程包括1) 工作区修改文件2) 暂存区git add将修改添加到暂存区3) 本地仓库git commit提交更改到本地仓库4) 远程仓库git push推送到远程仓库。常见操作还包括分支管理git branch、合并git merge、拉取git pull等。
解析:掌握 Git 是现代开发者的必备技能,理解其三区模型有助于更好地使用版本控制。