10. 安全 / 测试 / 部署
本章收录 34 道老师常问问题,高频题靠前。回答时尽量结合自己的项目举例。
1. 项目测试类型、测试流程?
- 主要进行功能测试、兼容性测试、边界值测试、异常测试。逐模块测试增删改查、跳转、弹窗功能
- 测试不同浏览器、设备兼容性
- 测试空值、极值、非法数据等边界场景,保证系统全方位稳定。
2. 单元测试的作用与使用场景?
针对核心工具方法、业务接口进行单独测试,提前排查代码逻辑bug,快速定位问题,避免整合开发后大面积报错,提升代码健壮性。
3. 项目部署完整步骤?
- 环境搭建:服务器安装JDK、MySQL、运行环境
- 数据库导入sql脚本
- 项目打包为jar包
- 上传服务器、配置数据库连接参数、开放端口
- 启动项目、测试访问、配置后台守护进程保证稳定运行。
4. 线上报错排查思路?
- 查看服务器日志定位报错位置
- 区分前端参数、后端逻辑、数据库三类问题
- 断点调试、核对SQL语句、校验参数格式
- 修复bug后重新测试,保证功能正常。
5. 如何防止重复提交?
前端禁用重复点击按钮;后端添加接口防抖、请求幂等性处理,拦截短时间内重复相同请求,有效防止数据重复提交、数据冗余问题。
6. 系统做了哪些安全措施?
- 认证授权:登录态与角色权限
- 密码哈希:不明文存储
- 校验与预编译:防注入
- 越权校验:服务端校验归属
- 上传限制:类型与大小白名单
7. 如何测功能?
简要结论:用例覆盖主流程与异常;准备表格:步骤、期望、实际。
关于「如何测功能」,答辩建议按「概念解释 → 原理要点 → 项目应用」三步展开:
- 先用一句话说清定义或结论(如上)
- 补充 2~3 个技术要点或注意事项,体现理解深度
- 结合系统测试与上线部署,结合自己的代码、配置或表结构举例,避免只背关键词
8. 如何部署上线?
部署流程:准备 JDK/DB→导 SQL→改配置→打包上传→启动→Nginx 反代→验证。
- 防火墙开放端口
- 进程守护 systemd
- 答辩能口述完整步骤
结合毕设:结合系统测试与上线部署,可指出具体类名、配置项或表结构,避免只背概念。
9. 常见上线故障?
跨域是浏览器同源策略限制不同源 AJAX 请求,需服务端 CORS 或 Nginx 反代。
- @CrossOrigin、WebMvcConfigurer、Filter 均可配置
- 允许 Origin、Methods、Headers 需最小化
- 前后端分离联调时高频考点
结合毕设:结合系统测试与上线部署,可指出具体类名、配置项或表结构,避免只背概念。
10. 演示失败预案?
简要结论:本地可运行包 + 录屏备份。
关于「演示失败预案」,答辩建议按「概念解释 → 原理要点 → 项目应用」三步展开:
- 先用一句话说清定义或结论(如上)
- 补充 2~3 个技术要点或注意事项,体现理解深度
- 结合系统测试与上线部署,结合自己的代码、配置或表结构举例,避免只背关键词
11. 弱口令?
简要结论:复杂度提示。
关于「弱口令」,答辩建议按「概念解释 → 原理要点 → 项目应用」三步展开:
- 先用一句话说清定义或结论(如上)
- 补充 2~3 个技术要点或注意事项,体现理解深度
- 结合系统测试与上线部署,结合自己的代码、配置或表结构举例,避免只背关键词
12. 登录锁定?
登录流程:提交账号密码→后端校验→写 Session/签发 JWT→后续请求带凭证→拦截器鉴权。
- 密码 BCrypt 比对,不明文传输存储
- 失败次数限制与验证码可选
- 答辩建议画简单时序图
结合毕设:结合系统测试与上线部署,可指出具体类名、配置项或表结构,避免只背概念。
13. 验证码?
验证码防止暴力破解与刷接口,常见图形码/短信码,服务端校验后一次性失效。
- 登录、注册、敏感操作前校验
- 可存 Session 或 Redis 并设过期
- 答辩说明为何不能仅前端校验
结合毕设:结合系统测试与上线部署,可指出具体类名、配置项或表结构,避免只背概念。
14. HTTPS?
HTTPS 加密传输防窃听;CSRF 跨站请求伪造,防护 Token、SameSite Cookie、Referer 校验。
- 生产必须 HTTPS
- 表单 POST 带 CSRF Token
- 答辩说明安全措施
结合毕设:结合系统测试与上线部署,可指出具体类名、配置项或表结构,避免只背概念。
15. XSS?
XSS 跨站脚本:恶意脚本注入页面,防护需输出编码、CSP、富文本过滤。
- 前端 v-html 谨慎,后端转义用户输入
- Cookie 设 HttpOnly 减窃取风险
- 答辩结合评论/公告等输入场景说明
结合毕设:结合系统测试与上线部署,可指出具体类名、配置项或表结构,避免只背概念。
16. CSRF?
HTTPS 加密传输防窃听;CSRF 跨站请求伪造,防护 Token、SameSite Cookie、Referer 校验。
- 生产必须 HTTPS
- 表单 POST 带 CSRF Token
- 答辩说明安全措施
结合毕设:结合系统测试与上线部署,可指出具体类名、配置项或表结构,避免只背概念。
17. 越权测试?
越权:用户访问非本人资源,如改 URL 中 id 查看他人订单。
- 服务端校验数据归属 userId
- 不只隐藏前端按钮
- 答辩举例测试方法
结合毕设:结合系统测试与上线部署,可指出具体类名、配置项或表结构,避免只背概念。
18. 上传漏洞?
简要结论:白名单。
关于「上传漏洞」,答辩建议按「概念解释 → 原理要点 → 项目应用」三步展开:
- 先用一句话说清定义或结论(如上)
- 补充 2~3 个技术要点或注意事项,体现理解深度
- 结合系统测试与上线部署,结合自己的代码、配置或表结构举例,避免只背关键词
19. 敏感日志?
日志用于排错、审计与性能分析,常用 SLF4J + Logback/Log4j2。
- 分级别:ERROR/WARN/INFO/DEBUG
- 关键业务、异常、慢接口应记录
- 生产避免打印敏感信息与过量 DEBUG
结合毕设:结合系统测试与上线部署,可指出具体类名、配置项或表结构,避免只背概念。
20. 错误堆栈?
简要结论:不对外。
关于「错误堆栈」,答辩建议按「概念解释 → 原理要点 → 项目应用」三步展开:
- 先用一句话说清定义或结论(如上)
- 补充 2~3 个技术要点或注意事项,体现理解深度
- 结合系统测试与上线部署,结合自己的代码、配置或表结构举例,避免只背关键词
21. 备份恢复?
简要结论:演练。
关于「备份恢复」,答辩建议按「概念解释 → 原理要点 → 项目应用」三步展开:
- 先用一句话说清定义或结论(如上)
- 补充 2~3 个技术要点或注意事项,体现理解深度
- 结合系统测试与上线部署,结合自己的代码、配置或表结构举例,避免只背关键词
22. 回滚?
简要结论:保留旧包。
关于「回滚」,答辩建议按「概念解释 → 原理要点 → 项目应用」三步展开:
- 先用一句话说清定义或结论(如上)
- 补充 2~3 个技术要点或注意事项,体现理解深度
- 结合系统测试与上线部署,结合自己的代码、配置或表结构举例,避免只背关键词
23. 冒烟测试?
冒烟测试:上线前验证主流程可走通;回归测试:改 bug 后重测相关模块。
- 测试用例表记录期望/实际
- 答辩展示测试截图
- 体现质量意识
结合毕设:结合系统测试与上线部署,可指出具体类名、配置项或表结构,避免只背概念。
24. 回归测试?
冒烟测试:上线前验证主流程可走通;回归测试:改 bug 后重测相关模块。
- 测试用例表记录期望/实际
- 答辩展示测试截图
- 体现质量意识
结合毕设:结合系统测试与上线部署,可指出具体类名、配置项或表结构,避免只背概念。
25. 接口测试?
测试包括功能、边界、异常、权限、兼容性;准备用例表与截图。
- 登录失败、非法参数、越权访问
- 主流程必须可演示
- 答辩诚实说明范围
结合毕设:结合系统测试与上线部署,可指出具体类名、配置项或表结构,避免只背概念。
26. 性能压测?
简要结论:概念/如实。
关于「性能压测」,答辩建议按「概念解释 → 原理要点 → 项目应用」三步展开:
- 先用一句话说清定义或结论(如上)
- 补充 2~3 个技术要点或注意事项,体现理解深度
- 结合系统测试与上线部署,结合自己的代码、配置或表结构举例,避免只背关键词
27. Docker?
Docker 容器化打包环境,镜像一次构建到处运行;毕设可选,了解概念即可。
- Dockerfile 构建镜像
- docker-compose 多服务
- 答辩如实是否使用
结合毕设:结合系统测试与上线部署,可指出具体类名、配置项或表结构,避免只背概念。
28. 进程守护?
简要结论:systemd。
关于「进程守护」,答辩建议按「概念解释 → 原理要点 → 项目应用」三步展开:
- 先用一句话说清定义或结论(如上)
- 补充 2~3 个技术要点或注意事项,体现理解深度
- 结合系统测试与上线部署,结合自己的代码、配置或表结构举例,避免只背关键词
29. 防火墙端口?
简要结论:最小开放。
关于「防火墙端口」,答辩建议按「概念解释 → 原理要点 → 项目应用」三步展开:
- 先用一句话说清定义或结论(如上)
- 补充 2~3 个技术要点或注意事项,体现理解深度
- 结合系统测试与上线部署,结合自己的代码、配置或表结构举例,避免只背关键词
30. 环境隔离?
配置分 dev/test/prod 环境,application-{profile}.yml 或 properties 切换。
- spring.profiles.active 指定环境
- 敏感信息用环境变量,不入库
- 答辩说明本地与服务器配置差异
结合毕设:结合系统测试与上线部署,可指出具体类名、配置项或表结构,避免只背概念。
31. 密钥外置?
简要结论:环境变量。
关于「密钥外置」,答辩建议按「概念解释 → 原理要点 → 项目应用」三步展开:
- 先用一句话说清定义或结论(如上)
- 补充 2~3 个技术要点或注意事项,体现理解深度
- 结合系统测试与上线部署,结合自己的代码、配置或表结构举例,避免只背关键词
32. 交付清单?
简要结论:源码文档账号。
关于「交付清单」,答辩建议按「概念解释 → 原理要点 → 项目应用」三步展开:
- 先用一句话说清定义或结论(如上)
- 补充 2~3 个技术要点或注意事项,体现理解深度
- 结合系统测试与上线部署,结合自己的代码、配置或表结构举例,避免只背关键词
33. 运维文档?
简要结论:安装步骤。
关于「运维文档」,答辩建议按「概念解释 → 原理要点 → 项目应用」三步展开:
- 先用一句话说清定义或结论(如上)
- 补充 2~3 个技术要点或注意事项,体现理解深度
- 结合系统测试与上线部署,结合自己的代码、配置或表结构举例,避免只背关键词
34. 最大运维坑?
简要结论:真实案例。
关于「最大运维坑」,答辩建议按「概念解释 → 原理要点 → 项目应用」三步展开:
- 先用一句话说清定义或结论(如上)
- 补充 2~3 个技术要点或注意事项,体现理解深度
- 结合系统测试与上线部署,结合自己的代码、配置或表结构举例,避免只背关键词