面灵AI→

海能达 软件测试笔试:单选、缺陷报告多选与 C++ 字母去重

轮次
笔试
时间
2026-09
来源
牛客网

《面试题目》

笔试

  1. 单选题 10 道:三四道简单编程题,另有一两道安全测试、压力测试相关题目
  2. 多选题 1 道:缺陷报告提交包含哪些内容?(缺陷标题、优先级等选项)
  3. 编程题 3 道(语言 C++):字母去重

《参考解析》

  1. 缺陷报告要素这题看着简单,失分点全在细节:一份能用的缺陷报告至少要有——标题(含场景、现象与触发条件,一眼能看出问题)、复现步骤(编号、可执行、含前置条件与测试数据)、预期结果与实际结果、严重程度与优先级(两者不是一回事:严重程度看对业务的影响,优先级看修复的先后)、发现环境(设备型号、系统版本、构建号、账号与数据)、附件(日志、截图、录屏、崩溃堆栈)、以及提交人/指派人/状态。多选容易漏掉的是「测试环境信息」和「复现概率」;也容易多选「修复方案」——给建议可以写进备注,但方案属于开发职责。

  2. C++ 字母去重要先问清三件事再动手:第一,结果要不要保持原顺序(保序就得用标记数组或 unordered_set 边遍历边判断,不保序可以先排序再 unique);第二,大小写是否算同一个字母('A' 与 'a' 要归一化还是分别保留);第三,输入范围是否只有 ASCII(只处理 128 个字符用 bool seen[128] 最省,含中文/Unicode 就得考虑多字节编码,char 逐字节处理会切坏字符)。最短的保序写法是遍历原串、用一个标记数组判断该字符是否出现过,没出现就追加到结果串,时间 O(n)、额外空间 O(1)(字符集固定时)。写完后主动说复杂度与边界(空串、全同字符、超长串),比代码本身更得分。

  3. 安全测试的考点通常是「知不知有哪些攻击面」:软件测试视角常考的是——注入类(SQL 注入、命令注入、模板注入)、跨站类(存储型/反射型 XSS、CSRF)、越权(水平越权查别人的订单、垂直越权调管理接口)、认证与会话(弱口令、暴力破解、验证码可绕过、token 不过期)、敏感信息(明文传输、日志打印身份证与手机号、接口返回多余字段)、文件相关(上传类型校验、路径穿越、下载越权)。答这类题要点出「用例怎么设计」:每个入口都试非法输入与越权身份,并验证服务端有没有做校验(前端限制不算防护)。

  4. 压力测试和性能测试的差别要说准:性能测试回答「在预期负载下指标是否达标」,压力测试回答「系统能扛到哪、撑不住时怎么退化、恢复后能不能自愈」。要能说出核心指标——TPS/QPS、平均与 P95/P99 响应时间、错误率、资源占用(CPU、内存、连接数、带宽)、以及拐点在哪;方法是并发梯度加压、找到指标开始劣化的临界点、再做长时间稳定性(如 8 小时)与突发流量测试。常用工具是 JMeter、LoadRunner、ab、wrk,答题时补一句「压测环境要和生产同构,否则数字没有意义」很加分。

  5. 笔试备考的取舍:这类测试岗笔试通常由三类题组成——编程与数据结构基础(字符串处理、数组、简单模拟)、测试理论(用例设计方法:等价类、边界值、因果图、场景法;缺陷生命周期;测试类型划分)、以及计算机基础(网络、数据库、Linux 常用命令)。编程题用 C++ 写要注意手写输入输出与边界,别习惯性依赖在线判题模板;理论题按「定义 + 例子 + 我怎么做」组织答案,论述题写够要点分层,比堆字更容易拿分。