宇视科技软件测试笔试:代金券等价类、SQL 联查与一小时六种题型
- 轮次
- 笔试
- 时间
- 2026-10
- 来源
- 牛客网
《面试题目》
- 笔试整体是什么结构、多长时间?(单选 22 道左右、不定项 10 道、判断 10 道、简答 4 道、编程 1 道、智力题 1 道,共 60 分钟,双机位)
- 客观题考什么?(软件测试基础、计算机基础、少量网络、SQL 关键字、Linux 命令、Python 代码输出)
- 简答一:给一个代金券功能,用等价类划分设计测试用例,怎么设计?
- 简答二:谈谈你对人工智能技术的了解。
- 简答三:手写 SQL 查询(多表联查、分组统计、条件筛选)。
- 简答四:给一个场景(登录 / 下单 / 摄像头录像 / 文件上传 / 注册)设计测试用例。
- 编程题:用 Python 或 Java 写一道基础算法题,要求能跑通。
- 智力题:一道古典概型的概率计算题。
《参考解析》
先看这场笔试的结构说明了什么。 60 分钟里 40 多道客观题 + 4 道文字简答 + 1 编程 + 1 智力题,考的不是深度,是「覆盖面 + 取舍」。客观题基本是测试理论与计算机基础的广度题;四道简答才是真正能拉开差距的部分(文字量大、占分多);编程题按作者描述难度很低,属于「别空着」的题。策略上:客观题控制在 25 分钟以内、不会的先标记跳过;简答每题 5 分钟左右只写要点;编程 8 分钟写最简可跑版本;智力题 5 分钟;剩下时间回头补标记。作者复盘「一小时做不完」,问题就出在客观题耗时过长、简答写得太长。
等价类划分怎么做代金券的用例。 等价类划分的核心是「把输入域切成有限个类,每类取一个代表值」,分有效等价类(应该能正常使用)和无效等价类(应该被拒绝并给出明确错误)。做代金券要先列出所有输入条件,再逐个切类:面额(合法区间内 / 小于最小面额 / 超过最大面额 / 非数字 / 负数 / 零);使用门槛(满 X 元可用:恰好等于 X、大于 X、小于 X);有效期(有效期内、刚好到期当天、已过期、未来生效);券状态(未使用、已使用、已过期、已冻结/作废);商品范围(适用品类 / 不适用品类 / 部分适用);叠加规则(能否与其他券同用、能否与满减同用);账户条件(新用户限定、单人限领张数)。然后按「一条用例只覆盖一个无效等价类、有效等价类尽量合并」的原则设计:例如「面额 50、满 100 可用、有效期内、未使用、适用品类内的商品下单选 120 元」就是一条覆盖多个有效类的正向用例;无效类则要一条一条单独验,才能定位到底是哪个校验没生效。答题时最好画成两列表(输入条件 → 有效/无效等价类 → 代表值 → 预期结果),评分看的是「有没有漏掉维度」而不是文字多少。
「谈谈你对人工智能技术的了解」这类开放题怎么答。 三步结构最稳:① 技术层——说清大模型/视觉模型的基本链路(数据 → 训练 → 推理),点几个具体名词(目标检测、人脸/车牌识别、行为分析、多模态),不要堆术语;② 业务层——贴合宇视所在的安防/视频物联:智能监控、越界侦测、人形检测、抓拍识别、视频结构化,说清「AI 在这些场景里替代的是人工盯屏」;③ 测试层——这是测试岗真正的得分点:模型的准确率/召回率怎么验、漏检与误报哪个代价更高(安防里漏检更致命)、光照/遮挡/雨雾/夜间等场景的鲁棒性怎么构造用例、模型版本迭代怎么做灰度与回归、数据集本身的标注质量怎么抽检。最后补一句「AI 功能不是确定性逻辑,测试要从『对不对』转成『在可接受错误率内是否稳定』」,基本就能拿到这题的分。
SQL 简答的写法。 这类题一般给两三张表(用户、订单、商品),要求「查出每个用户最近一次订单」或「统计每个分类的销量」。要点:多表用 JOIN ... ON 显式连接,过滤放 WHERE、聚合后的过滤放 HAVING;分组统计写 GROUP BY user_id 配 COUNT/SUM;「最近一次」用子查询 MAX(created_at) 回连,或用窗口函数 ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY created_at DESC) 取 rn=1;「没有下过单的用户」用 LEFT JOIN ... WHERE o.id IS NULL 或 NOT EXISTS。写完顺手说一句索引(连接列、过滤列要有索引)会加分。注意 LEFT JOIN 里把右表条件写在 ON 与写在 WHERE 的语义差别,这是最常见的扣分点。
场景化测试用例设计的通用框架。 不管给的是登录、下单还是摄像头录像,都按五层展开:① 功能正向——主流程走通、返回值与状态正确;② 边界值——输入长度的最小/最大值、金额 0 与上限、时间刚好到期、分页的首页/末页;③ 异常与容错——空输入、超长输入、特殊字符/SQL 注入串、重复提交、网络中断与超时、服务端 500、并发同一账号操作;④ 兼容与体验——不同浏览器/分辨率/系统版本(B 端还有不同摄像头型号与固件)、弱网、断网重连;⑤ 数据与安全——权限越权(普通用户改 URL 访问管理员接口)、敏感信息是否脱敏、日志是否泄漏密码。写的时候用「前置条件 / 操作步骤 / 预期结果」三段式,每条一行,比写一大段文字更容易被评分捞到关键词。
编程题的准备方向。 作者记录的是「基础算法、没有复杂数据结构」,对应到测试岗笔试通常是:字符串处理(反转、去重、统计字符、判断回文)、数组遍历(最大/次大、求和、去重、两数之和)、简单循环与条件(九九乘法表、素数、斐波那契)。这类题只要保证「能跑、有边界处理、有注释」就够,别追求花哨写法。考前把目标语言的输入输出模板背熟(Python 用 input().split()、Java 用 Scanner/BufferedReader),能省下大量时间。
概率智力题。 笔试里的概率题基本落在古典概型:袋中取球(有放回/无放回)、抽签顺序是否公平、独立事件同时发生、条件概率与贝叶斯。做法是先写样本空间总数(组合数 C(n,k)),再数满足条件的事件数,两者相除;遇到「至少一个」优先用对立事件 1 - P(一个都没有)。这类题不值得专门复习,考的是别慌:把题目翻译成「总情况数 / 有利情况数」基本就能算。
这场笔试的复盘要点。 作者自己总结的三条挺准:客观题题量大(40+ 道)要限时、简答别长篇、编程和智力题要留出固定时间。补一条:双机位 + 60 分钟意味着要提前把环境(摄像头、网络、输入法)调好,中途掉线重连会直接吃掉简答题的时间——这类考试的时间损失往往不是不会做,而是被环境打断。