腾讯云雀测试秋招一面凉经:自动化稳定性与两数之和
- 轮次
- 一面
- 时间
- 2026-08
- 来源
- 牛客网
《面试题目》
- 自我介绍
- 简单介绍一下项目经历
- 怎么保持自动化测试的稳定性?
- 测试中的难题怎么解决的?
- 测试用例中 P0 和 P1 级别的大概占比多少?
- 测试用例通过率大概有多少?
- 回归测试是只跑了 P0 和 P1 级别的用例吗,用时怎么统计的?
- 整个自动化测试框架都是自己独立实现的吗?
- 接口测试有接入自动化流程吗?
- 测试的接口主要有哪些功能?
- 自动化测试怎么实现测试数据自动生成和清理的?
- Linux 常用命令,怎么查看日志的?
- 手撕:requests 库和 curl 命令发起 HTTP 请求的代码
- 手撕 LeetCode 算法题:两数之和
- HTTP 和 HTTPS 的区别
- 怎么用 AI 工具辅助的?有用过 workbuddy 吗?
- 反问
《参考解析》
-
自动化测试稳定性是这场的核心问题:面试官连问了稳定性、通过率、耗时统计,想看的是你有没有把「不稳定」当成可度量、可治理的问题。可答的点包括——用例之间数据隔离、每轮跑完清理环境;等待一律用显式等待或轮询接口状态,禁用固定 sleep;定位器优先用稳定的测试专用属性而不是绝对路径;外部依赖用 mock 或稳定测试账号;把偶发失败单独打标并定期复盘,区分产品 bug 与脚本 bug。指标上给出「通过率与重跑率」「单轮耗时趋势」,比空谈「我们很稳定」有说服力。
-
P0/P1 占比与回归范围怎么答:P0 一般是核心链路(登录、下单、支付这类),占比通常在 10%–20%,P1 覆盖主要功能分支。回归跑什么取决于本轮改动影响面:时间紧就跑 P0 + 改动相关模块,时间够再全量。被问「用时怎么统计」时,答案是流水线里按阶段记录(用例执行时长、等待时长分开),用历史均值判定本轮是否异常,而不是拍一个总数。
-
测试数据自动生成与清理:生成侧按业务约束造数据——工厂方法或 faker 造随机但合法的字段,关键唯一字段带时间戳或 UUID 防冲突,需要关联关系的数据按依赖顺序生成;清理侧用「测试标记」批量回收(给造的数据打统一前缀或标签),或者直接用独立的测试库/独立租户,跑完 truncate 或按标签删除。要注意级联依赖与软删除,别把生产数据误删,也要考虑并发跑时多套数据互不干扰。
-
requests 与 curl 各写一版:
requests版本是requests.post(url, json=payload, headers=headers, timeout=5),再把状态码、resp.json()的断言写全;curl版本是curl -X POST <url> -H "Content-Type: application/json" -d '{"k":"v"}',带上-i看响应头、-s -o /dev/null -w "%{http_code}"只取状态码。这类题目看的是细节:超时、编码、是否有断言,别只写一行请求就交。 -
HTTP 与 HTTPS 的区别:HTTPS 是 HTTP 加 TLS,默认端口 443 对 80;传输内容加密、有证书做服务端身份认证、并且能校验报文完整性。握手过程大致是客户端发 ClientHello(支持的 TLS 版本与密码套件)、服务端回证书、双方协商出会话密钥,之后用对称加密传数据。面试常追问「对称与非对称各用在哪」——非对称只用于握手阶段交换密钥,业务数据走对称加密,因为性能更好。
-
Linux 查日志的常用组合:
tail -f实时跟踪;grep -n "关键字" file定位行号;grep -C 5看上下文;awk/sed截取时间段;大文件用less而不是cat。排查一次线上问题通常是「先 tail 看有没有异常栈 → grep 请求 id 串起全链路 → 按时间窗过滤」,能说出这条路径比背命令清单更得分。