JD测开面经
一面
讲讲AI自动生成测试用例工具
Testim
讲讲分布式锁的优化----分布式锁用于协调多个节点对共享资源的访问的一种机制
(1) 基于 Redis 的分布式锁优化
Redlock 算法:
- 优化点:增加节点数量,提高锁的可靠性。设置合理的超时时间和重试策略。
(2)基于数据库的分布式锁优化
- 乐观锁:使用版本号或时间戳实现乐观锁,减少锁的竞争。
- 优化点:增加重试机制,避免因冲突导致任务失败。使用批量操作减少数据库压力。
慢SQL如何优化
(1)查询日志和使用数据库自带的监控工具或者第三方工具(Prometheus、Grafana),分析性能,分析查询慢的语句,进行语句优化(2)使用redis,内存存储热点数据(3)优化表结构,添加索引
直接Select数据库会有什么风险
数据量大->内存、带宽资源耗尽->响应时间长、程序崩溃
查询条件没有使用索引->全表扫描->消耗资源
不安全->数据泄露
应对措施:
使用索引:确保查询语句中的字段有索引
分页查询
优化查询语句
接口自动化框架如何搭建
(专门一期)
介绍一下压测,怎么做的
先讲概念
(1)明确压测目标(性能、稳定性、可靠性、错误率、返回时间)
(2)压测计划(环境搭建、测试流程、模拟用户场景、压测数据)
(3)jmeter设置并发数 小于500 jimeter图形 500-1000命令行 1000-10000 分布式 10000+ 阿里云pts
(4)实时监控性能指标(响应时间、吞吐量、资源使用、错误率、95)查看结果-分析性能、可优化点-优化-回归测试-测试报告
二面
- 讲讲测试开发的项目
深度协议分析抓包用 wireshark
- 支持抓取所有网络流量(不仅仅是 HTTP/HTTPS)。
负责app和H5页面测试抓包用什么工具 fiddler
测试流程是什么
各个阶段做了哪些测试
后端写好接口-提测(冒烟测试)-ui测试->接口测试(单元、集成、系统)-功能测试-性能测试-压力测试-弱网测试-bug追踪-回归测试 app测试有哪些(有接口自动化测试,性能测试,安全测试,兼容性测试,UI自动化测试)
AirTest(基于图像识别和 UI 层次结构的自动化测试框架)的UI自动化如何和兼容性测试结合起来
(1)确定测试目标
(2)编写自动化测试脚本
(3)配置多设备测试环境,在 Airtest 中通过设备 ID 或 IP 连接不同设备:
(4)运行脚本,记录、分析数据
-openCV如何设定图像精度(AirTest底层)
在 Airtest 中,图像识别是基于 OpenCV 实现的,Airtest 通过图像匹配算法(如模板匹配)来定位 UI 元素,而图像匹配的精度可以通过调整阈值(threshold)来控制。
测试环境和预发环境的定位和区别
预发环境:主要用于最终的功能验证和性能测试,特点是与生产环境一致、稳定,使用真实数据。
AI开发自动写测试用例的工具的亮点 -为什么用到稳定率(精确度) -面对新的需求,用例生成不稳定怎么做
-向量数据库
向量数据库(Vector Database)是一种专门用于存储、索引和查询向量数据(即高维数据)的数据库
核心能力是高效处理高维向量数据