每年一到八九月,各大厂的校招笔试就扎堆来了。爱奇艺作为视频行业的老牌玩家,它的测试工程师岗位笔试向来有一定代表性,尤其是“第一场”,往往能反映出这家公司对测试人才的基础要求。我当年也参加过类似的笔试,后来也帮朋友看过不少真题,今天就把这套2018秋季校招测试工程师(第一场)的考察逻辑、核心考点和备战思路完整拆一遍。
这套笔试题适合谁看?如果你是准备投递爱奇艺或者其他视频类互联网公司的测试岗位,或者你想知道校招测试笔试到底考什么、怎么答才能拿高分,那这篇文章就是给你准备的。即使你现在不是应届生,这套题的思路对你想系统梳理测试基础也很有帮助。我会把题背后的考察意图、常见的答题陷阱、以及我自己的踩坑经验都讲清楚。
1. 笔试整体的设计逻辑:不是考你会背,而是考你会用
先说一个很多人容易误解的点。校招测试工程师的笔试,并不会像学校期末考试那样考你“测试的定义是什么”这种纯背诵题。企业要招的是能直接上手干活的人,所以笔试题的设计思路基本围绕一个核心:你在面对一个真实功能时,能不能用测试思维拆解它、设计出有效的用例、找到问题的根源。
爱奇艺这场笔试的题型分布也比较典型,大致包括:选择题(覆盖计算机网络、操作系统、数据结构、数据库)、测试理论相关的简答/设计题、以及一到两道逻辑或编程题。选择题考察的是你的计算机基础底子,简答和设计题才是真正拉分的地方。
这里有一个非常关键的判断:选择题大家差距不大,真正决定你能不能进面试的是后面的用例设计题和场景分析题。因为选择题的知识点可以通过刷题快速补齐,但用例设计题考察的是你的思维深度和工程经验,这没法临时背出来。你平时有没有真的思考过“这个功能上线前应该怎么测”,在卷面上是藏不住的。
另外我注意到,这套题里有很多场景是视频类产品特有的,比如播放器缓冲、弹幕、会员购买、转码清晰度等。如果你完全没有接触过视频产品的测试,可能会觉得有点陌生。但换个角度想,这反而是个信号:爱奇艺希望招进来的人能快速理解业务,而不是只会写通用用例。所以准备这种笔试,光看软件测试的书还不够,得把自己代入到“视频网站测试工程师”这个角色里去想问题。
1.1 为什么“第一场”值得单独分析
很多公司校招会安排多场笔试,题目从题库里随机抽或者按批次出。所谓“第一场”,一般是整个校招季最早放出的一批题。它的特点是:题目相对规矩,不太会出现偏题怪题,但覆盖面很全。因为第一场笔试题其实是整个校招的“定调子”环节,出题人会尽量把该考的都考到,方便后续批次对比和筛选。
从备战角度讲,研究“第一场”的题目价值最高。后几场多半会从题库里换着法子考,但核心知识点不会变。你把第一场的每道题都弄透了,后面再遇到类似的变形题就有底气。我自己备考的时候就是把目标公司近两年的第一场笔试都翻出来做了三遍,第一遍裸做,第二遍查缺补漏,第三遍掐时间模拟考试。三遍下来,对出题风格基本就有感觉了。
1.2 整张卷子的时间分配策略
笔试时间一般是一个半小时到两个小时,题量不小。常见的时间分配误区是:在选择题上反复纠结,导致后面的设计题没时间好好写。我的建议是,选择题平均每题不超过一分钟,拿不准的先标记跳过,等所有大题写完了再回头想。
大题部分,尤其是用例设计题,最少留出四十分钟。这类题没有标准答案,但阅卷人看的是你的思路是否完整、覆盖面是否够广。哪怕时间紧,也一定要把“正常流程、异常流程、边界情况”这三个维度写全,这比纠结某个用例的输入值是否精确要重要得多。我当时考试时就把一道视频播放的用例设计题写满了大半页,从网络切换、断网重连、清晰度切换、后台播放到连续拖动进度条都列了,最后确实靠这道题拉了不少分。
2. 核心考点拆解:测试理论基础与用例设计题到底考什么
测试理论这块,表面上看考的是概念,比如黑盒白盒、等价类、边界值、场景法、错误推测法。但爱奇艺这种公司出题不会让你干巴巴地默写定义,而是给你一个具体的功能描述,让你用这些方法去设计用例。说白了,考察的是你能不能把这些理论工具真正用到实际业务里。
比如说,笔试题里给了一个“视频评论区”的功能描述:用户可以在视频下方发表评论,可以点赞、回复、删除自己的评论。让你设计测试用例。很多人拿到这种题就开始洋洋洒洒列几十条,但列完之后自己都说不清分类逻辑是什么,这就是典型的“用例堆砌”,面试官一眼就能看出来你没经过系统训练。
我当时整理了一套自己的用例设计框架,不管遇到什么功能都能往里套,在这里分享给你们:
- 功能流程类:正常完成一个操作的完整路径(发布评论→评论显示→刷新后仍在)
- 输入校验类:长度边界、特殊字符、空值、超长文本、纯空格、emoji表情
- 权限类:登录状态、未登录状态、黑名单用户、被禁言用户
- 数据一致性类:删除评论后点赞数是否同步、回复是否一并删除、服务器异常时数据是否回滚
- 并发冲突类:同一用户同时评论两次、多用户同时点赞同一评论、删除瞬间有人回复
- 兼容类:iOS/Android、平板/手机、不同版本客户端、弱网环境
这套框架的好处是,它不依赖具体功能。你拿到任何题目,先按这个维度过一遍,至少能保证用例的覆盖率是合格的,不会漏掉明显的边界和异常场景。很多同学挂在这类题目上,不是因为想不到正常流程,而是异常流程和边界值想不全,框架能帮你强制覆盖这些盲区。
2.1 等价类与边界值:笔试中的得分密码
等价类划分和边界值分析法是所有用例设计题的基础,也是笔试阅卷人最先看的部分。很多同学觉得这两个方法太简单,反而容易在小细节上丢分。举个典型的例子:视频会员卡密兑换功能,输入的兑换码是12位大写字母和数字的组合。
等价类划分的关键在于“有效等价类和无效等价类要分开写”。有效等价类就是符合规则的12位大写字母数字串;无效等价类包括:位数不足12位、超过12位、含有小写字母、含有特殊字符、含有中文、为空、已兑换过的码、不存在的码、被冻结的码。这些类别必须一条条列清楚,然后每个类别至少取一个代表值写一条用例。
边界值分析就更讲究了。12位是边界,那11位、13位就是最典型的边界值;字符类型上,最后一个合法字符和第一个非法字符也是边界。这里我提醒大家一个容易忽略的点:边界不只是长度的边界,也是格式的边界、数值范围的边界、状态转换的边界。比如兑换码的有效期,刚好在过期前一天兑换成功、过期当天兑换失败、过期后一秒兑换失败,这都是边界值。
我在批过几次模拟试卷后发现,大部分同学能写出长度边界,但很少人想到状态边界和时间边界。这就是普通用例和高质量用例的差别。笔试想拿高分,就要在这类细节上多花心思,把别人想不到的维度写出来。
2.2 场景法在视频产品笔试中的应用诀窍
场景法在测试理论里听着抽象,但其实是视频类产品笔试最喜欢考的东西。场景法的核心思路是:从用户的角度走一遍完整的操作路径,把路径上的每一步都变成测试点。
继续拿视频播放功能举例。一个完整的播放场景应该是这样的:用户打开App→首页推荐流点击视频封面→进入播放页→自动开始播放→拖动进度条到中间位置→暂停→切到后台再切回来→继续播放→调整清晰度→关闭页面。这中间的每一步都有至少一个分支:点击封面后网络断了会怎样?播放中途来电话了会怎样?拖动进度条到还没加载出来的位置会怎样?
用场景法写用例,要注意区分“基本流”和“备选流”。基本流就是没有任何意外的理想路径,备选流是每个可能出错的岔路。笔试的时候,把基本流画清楚(文字描述即可),然后围绕基本流上的每个节点补充备选流,这样答案的逻辑性会非常强。切忌一上来就东一条西一条地列用例,没有主线的用例设计题得分都不会高。
我当时练习的时候养成了一个习惯:拿到一个题,不管它是什么功能,先写一行字“基本流:XXX”,然后把这个主线列出来,再在旁边用编号标注备选流。这个习惯帮我养成了结构化的思维,考试的时候不会慌,也方便后续检查有没有漏场景。
3. 硬核基础考点:计算机知识、编程题与SQL的备战重点
除了测试理论和用例设计,爱奇艺笔试的选择题和编程题还会考察计算机基础知识。这部分是很多非科班同学的痛点,但好消息是,它的考点非常集中,完全可以提前系统准备。选择题里高频出现的领域就那几个:计算机网络、操作系统、数据结构与算法、数据库、Linux基础。
从真题的反馈来看,网络协议相关的题几乎是年年必考。特别是HTTP协议、TCP三次握手、DNS解析流程这些基础中的基础。爱奇艺这种流媒体公司,对网络知识的考察会更加侧重实际场景。比如问“视频播放卡顿可能的原因有哪些”“HTTP状态码502和504的区别是什么”,这些题表面考概念,实际考的是你能不能把网络知识和实际业务问题关联起来。
操作系统的考点相对固定,进程与线程的区别、死锁产生的四个必要条件、进程调度算法、内存管理的基本概念,这些都是选择题的高频考点。数据结构则集中在栈和队列的特性、数组和链表的区别、二叉树遍历、基本的排序算法时间复杂度和稳定性上。刷题的时候遇到这些知识点别跳过去,每一道错题背后的知识点都要吃透,这比题海战术有效得多。
3.1 数据库考察的真实难度:SQL必会,但不用慌
数据库在测试工程师校招笔试里的考察难度,比开发岗低不少。核心是SQL的基本增删改查、多表连接查询、简单的分组聚合,偶尔会考一下索引的基本原理。不会让你写特别复杂的存储过程或者触发器,这点不用过度焦虑。
但要注意的是,很多公司开始让你“根据需求写一条SQL”而不是“选择题里判断哪条SQL语句正确”。这种题考察的是你能不能真正写出来,而不是认识它。比如给一个用户表和订单表,让你查询每个用户的订单总金额并按金额排序。这类题的坑在于:分组条件容易写错、连接条件容易漏写、聚合函数和GROUP BY的配合容易搞混。
我建议备考的时候把基础的SQL语法亲手敲一遍,不要只在脑子里过。你觉得自己会了和真正写出来之间是有差距的。笔试现场可没有数据库给你调试,写错一个字段名就整个凉凉。另外,索引相关的知识至少要能说清楚“什么时候该建索引、什么时候不该建”,这在后续面试中也是高频问题。
3.2 编程题:理解题意比敲代码更重要
爱奇艺的编程题难度整体属于中等偏下,一般是一道题左右,而且题目描述里会给比较明确的输入输出示例。常见考法包括:字符串处理、数组操作、简单的递归。但这里的难点往往不在算法本身,而在于你能否准确理解题目要求。
我在帮人复盘题目的过程中发现,很多同学编程题挂掉的原因是读题读太快,把“输出排列组合中的所有逆序对数量”理解成了“输出逆序对本身”,或者把“判断是否为回文串”理解成了“判断是否存在回文子串”。这些偏差直接导致答题方向完全跑偏。
所以编程题我有个笨办法:动手写代码之前,先在草稿纸上把题目给的示例输入手算一遍,推演输出是怎么来的。这个步骤能帮你确认自己是否理解正确。理解正确之后,再看复杂度要求,决定用暴力解还是优化解。如果时间紧张,先把暴力解写出来,能过部分测试用例就有部分分数,比空着强多了。
另外提醒一句,笔试环境通常只支持特定的语言,比如C++、Java、Python。别抱着自己平时用的冷门语言不放,提前确认支持列表,用你最有把握的、笔试环境支持的语言去写。
3.3 Linux命令:测试工程师的隐藏加分项
选择题里经常出现Linux相关的题目,比如查看进程的命令、修改文件权限的命令、查看日志的命令。这些题目对已经在实习的同学来说很简单,但对没有实际用过Linux的同学来说只能靠蒙。蒙题的运气成分太大,建议还是系统过一遍。
测试工程师日常工作中Linux用得非常多,查看服务日志、部署测试环境、查端口占用、看磁盘空间,这些都得靠命令。笔试里常考的就那么几条:ls、cd、ps、grep、tail、chmod、top、netstat、find。我建议你用虚拟机或者云服务器实际操作一遍,记住每个命令常用的参数。
说个我当时踩过的坑:知道ps aux能查进程,但不知道配合grep过滤,结果在面试官面前把几十条进程列表从头翻到尾,场面一度非常尴尬。这种细节在笔试里也会以选择题的形式出现,比如“查找某个特定进程的命令是什么”,选项里全是各种命令的组合,没实操过的人很容易被迷惑。
4. 常见问题与备战心得:笔试题背后的隐形分水岭
写了这么多考题分析,最后想聊点更实际的。根据我接触过的校招案例,测试工程师笔试能不能过,很多时候差的不是智力,而是信息差和准备方法。下面这几个问题是我反复看到大家犯的错误,整理出来也算给大家排雷。
第一,不重视时间分配。很多同学在前面选择题上死磕,一道题算半天,最后大题只写了两行字。笔试的评分逻辑是“整体正确率+大题完整度”,大题的空白比选择题的失误致命得多。宁可选择题蒙几个,也要保证大题至少有完整的框架。
第二,用例设计没有层次。我见过很多同学的用例设计答案就是几十条平铺的列表,完全看不出优先级和分类。好的用例设计应该让阅卷人一眼看出:你考虑了正常流程、异常流程、边界值,并且针对高风险场景有额外的关注。建议写的时候主动标注“高优”“中优”“低优”,这在面试中也会成为你的加分项。
第三,不了解视频产品的基本业务逻辑。既然投了爱奇艺,就要提前想想视频网站有哪些核心功能模块,每个模块的测试重点是什么。会员购买涉及支付流程、订单状态流转、并发情况下的重复支付;弹幕涉及实时性、内容审核、超长文本显示;播放器涉及网络自适应、清晰度切换、记忆播放位置。提前准备这些业务场景的用例思路,笔试遇到类似题目就是送分题。
第四,编程题死磕最优解。笔试编程题不像比赛,不要求你写出时空复杂度最优的答案。只要能通过测试用例,暴力解也是满分。我见过有同学明明写对了暴力解,但因为觉得复杂度太高,删了重新写优化解,结果优化解没写完,两边都落空。这种教训真的很痛。
第五,忽略心态管理。校招季机会很多,一场笔试没发挥好很正常。我当年也挂过好几家公司的笔试,后来总结原因,往往不是能力不够,而是紧张导致读题失误、时间失控。笔试前模拟一两次全真流程,用手机计时,排除干扰,这种训练能让你的真实水平稳定发挥出来。
4.1 从笔试到面试:这轮笔试真正帮你筛出什么状态
回头再审视这套爱奇艺2018秋季校招测试工程师(第一场)的笔试题,你会发现它其实不是一个单纯的“知识检测器”,更像是一个“思维方式探测器”。它探测的是你在面对一个未知功能时,能不能保持清醒的头脑,有条理地拆解问题,并且把计算机基础知识灵活运用到真实场景中。
很多同学面试时喜欢问“测试到底有没有前途”“手工测试是不是要被自动化取代了”。但你通过这套题就能看到,不管技术怎么演进,测试工程师的核心价值始终是“找出别人发现不了的问题”,而这个能力在笔试阶段就已经开始被考察了。自动化、性能、安全这些都是后话,基础和思维才是入场券。
我个人的体会是,备考这类笔试最好的状态不是“把题背下来”,而是“建立一套自己分析问题的框架”。框架一旦建立,遇到什么题你都会有话可说、有思路可写。这比焦虑地搜集各家公司的题库有效得多。你拿到的任何一套卷子,本质上都是用来训练这种框架的工具。
最后再分享一个我自己一直在用的小方法:每次做完一套笔试题,别急着对答案,先在题目旁边写一句话——“这道题如果在面试里被问到,我该怎么延伸回答”。这个方法能让笔试的价值翻倍,因为很多公司面试时会追问笔试题,如果你能说出比笔试答案更深一层的东西,面试官对你的印象会非常深刻。希望这套拆解对你有用,祝准备校招的你顺利拿下心仪的offer。