ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

爱奇艺2018校招测试工程师笔试第一场考点剖析与备战策略

爱奇艺2018校招测试工程师笔试第一场考点剖析与备战策略 每年一到八九月各大厂的校招笔试就扎堆来了。爱奇艺作为视频行业的老牌玩家它的测试工程师岗位笔试向来有一定代表性尤其是“第一场”往往能反映出这家公司对测试人才的基础要求。我当年也参加过类似的笔试后来也帮朋友看过不少真题今天就把这套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。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进