ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

腾讯音乐系统测试岗笔试复盘:题型考点与备考全攻略

腾讯音乐系统测试岗笔试复盘:题型考点与备考全攻略 我是在2023年秋招季参加腾讯音乐系统测试岗第二批笔试的。投的是TME旗下的QQ音乐、酷狗音乐、酷我音乐相关的测试岗位方向是系统测试。整个笔试流程走下来体感是题型不算偏但覆盖面广而且非常看重测试思维不是单纯刷题就能应付的。这篇文章把我那场笔试的完整复盘写下来包括题型分布、核心考点、我踩过的坑、以及针对系统测试岗的备赛思路给接下来准备大厂测试岗笔试的朋友做一个参考。1. 腾讯音乐笔试的整体定位与考察思路腾讯音乐的校招笔试和互联网大厂通用测试岗笔试有一些区别。它不是单独的“软件测试工程师”通用卷而是结合了业务背景、系统测试特有的考察点整体分几个模块计算机基础、测试理论知识、数据库/Linux、编程题以及部分测试场景分析题。1.1 系统测试岗到底在考什么我之前准备过几家公司的测试笔试有一段时间走了弯路——花大量时间背测试理论概念什么等价类、边界值、因果图背得很熟。但腾讯音乐这场笔试给我一个很强烈的感觉理论考察只是敲门砖真正的分水岭在测试思维和业务理解上。所谓系统测试核心是验证整个系统是否符合需求规格端到端的功能、性能、兼容性、安全性都在范围内。所以笔试题目会假设你面对一个音乐App的完整功能链路比如播放、下载、歌单同步、会员权益校验去看你能不能设计出覆盖这些场景的测试方案。第二批笔试的题目结构和第一批基本一致但题目细节上有差异整体难度持平。题型分为几个大块单选约20题、多选约10题、编程题2题、简答/场景设计题2-3题。考试时间一共120分钟题量不小时间比较紧。1.2 腾讯音乐这批笔试的三大特点第一业务场景嵌入深。很多题目不是单纯问“怎么测登录功能”而是给你一个“QQ音乐绿钻会员购买后权益延迟到账”的实际场景让你分析可能的原因和测试点。这意味着你不能只懂测试理论还得了解音乐类产品的基础业务逻辑。第二数据库和Linux考察偏实用。不考复杂语法但考实际排查问题时的常用命令和SQL写法比如多表联查、聚合统计、日志查看等。第三编程题门槛适中。没有复杂的数据结构题重点在字符串处理、数组操作和基础算法。难度大概在LeetCode简单到中等之间。注意很多同学在笔试前狂刷LeetCode最后发现编程题只占不到30%的分值反而是测试分析和SQL写法的题崩了。这是我身边真实发生的情况。系统测试岗的笔试重心一定要搞清楚。2. 笔试前必备的知识储备与资料准备说句实话系统测试岗笔试题的“知识边界”是相对明确的。我在准备阶段把复习内容分了几个方向事实证明押中了绝大部分考点。2.1 测试基础理论不能只背概念腾讯音乐笔试的选择题里测试基础相关的考点主要是测试分类单元、集成、系统、验收、测试生命周期需求分析→测试计划→测试设计→测试执行→测试报告、测试用例设计方法、缺陷生命周期、覆盖率概念等。这里我建议不要干背定义。举个例子题目如果问“以下哪个属于系统测试阶段发现的缺陷”很多人会选错因为分不清集成测试和系统测试的关注点。系统测试关注的是整个系统层面的功能、性能、兼容性而集成测试关注的是模块之间的接口交互。所以看到“两个模块之间数据传递错误”这种选项那是集成测试的范畴不该选。我准备的时候把每个测试阶段画了一张图标注输入、输出、关注点、参与人员、典型缺陷类型。笔试时遇到概念题直接对应到图上的位置快而且准确。2.2 数据库SQL题是拉开分差的关键腾讯音乐的笔试里SQL题属于必考而且分值不低。我这场遇到的SQL题大概是这样的场景有一张用户表user_id, user_name, registration_date和一张付费记录表pay_id, user_id, pay_amount, pay_time要求统计出每个用户的累计付费金额并且只显示累计付费金额大于100元的用户按金额倒序排列。这题考察的就是JOIN、GROUP BY、HAVING、ORDER BY的综合使用。SELECT u.user_id, u.user_name, SUM(p.pay_amount) AS total_pay FROM user u INNER JOIN pay_record p ON u.user_id p.user_id GROUP BY u.user_id, u.user_name HAVING total_pay 100 ORDER BY total_pay DESC;还有一题是查询“连续三天登录的用户”这个稍微有点难度需要用到窗口函数或者自连接。-- 使用窗口函数 LAG 判断连续日期 SELECT DISTINCT user_id FROM ( SELECT user_id, login_date, LAG(login_date, 2) OVER (PARTITION BY user_id ORDER BY login_date) AS prev_prev_date FROM login_log ) t WHERE DATEDIFF(login_date, prev_prev_date) 2;我在笔试前两周每天刷20道牛客网的SQL题重点练GROUP BY、窗口函数、子查询和CASE WHEN的组合场景。事实证明这些练习没有白费我在这部分拿分比较稳。2.3 Linux常见命令要形成肌肉记忆系统测试岗笔试考Linux不奇怪——系统测试经常要在服务器上看日志、查进程、看资源占用这些都得靠命令。腾讯音乐这批笔试里Linux相关的选择题大概有3-5题考的是这些查看进程的命令ps、top查看日志的命令tail -f、grep查看端口占用netstat -tlnp、ss -tlnp文件权限修改chmod磁盘空间查看df -h、du -sh有一道印象比较深的题给出一串命令问你知道它的作用大概类似tail -f app.log | grep ERROR这种。这个组合命令的意思是实时追踪日志文件里包含“ERROR”的行在微服务排查中非常常用。我自己的建议是这些命令不用死记在本地装个Linux虚拟机或者用Git Bash在Windows上练一遍命令自然就记住了。2.4 计算机网络与操作系统基础但别丢分腾讯音乐笔试里有几题计算机基础难度不大但容易因为忽略细节丢分。主要包括TCP三次握手和四次挥手的过程、HTTP和HTTPS的区别、常见的HTTP状态码含义、进程和线程的区别以及死锁的四个必要条件等。这些内容看似“老生常谈”但在系统测试岗的笔试里出现频率很高。因为系统测试或多或少要关注接口通信、服务异常定位没有这些底子后面工作会很吃力。我准备的时候用的是“口诀表格对照”的方式。比如死锁四个必要条件——互斥、占有并等待、非抢占、循环等待一旦条件不满足死锁就不会发生。用这种方式理解模型而不是死记文字才能在选择题的变种题里不翻车。3. 题型结构复盘120分钟怎么分配复习归复习上了考场真正决定成败的其实是时间分配和答题策略。我的核心建议是编程题一定要控制在40分钟以内完成剩下的时间全部留给测试分析和SQL题。3.1 选择题控制在35分钟左右腾讯音乐这批笔试的选择题部分单选多选加起来差不多30题。我做题速度中等偏快大概用了35分钟。这里要特别提醒多选选择题往往“少选得一半分错选不得分”具体规则以实际为准所以不确定的选项千万别乱选。我在这部分的一个策略是拿不准的多选题只选最有把握的选项保底拿一半分。选择题考察范围比较广除了上面提到的基础知识还会出现一两道测试工具相关的题比如JMeter、Postman、Selenium的基本用途。这些我觉得只要用过工具基本能答对关键是要清楚每个工具的定位JMeter偏性能测试和接口测试Postman偏单接口调试Selenium偏Web UI自动化。3.2 SQL题留25-30分钟SQL题一般有2题左右属于稳拿分的题目。我做完选择题后先扫了一遍SQL题确认题目要求的是单表操作还是多表操作先写思路再动手。遇到表名和字段名长的题目先把表结构在草稿纸上列出来降低出错概率。这里想分享一个错误示范我第一次参加某厂笔试时遇到SQL题直接上手写写到一半发现JOIN条件反了改起来非常浪费时间。后来我学乖了——先在脑里确定好逻辑顺序SELECT要查什么列→FROM哪张表→JOIN哪个条件→WHERE怎么过滤→GROUP BY怎么分组→HAVING怎么筛选→ORDER BY怎么排。按这个顺序写基本不会漏。3.3 编程题控制在35分钟以内编程题通常有两道难度类似LeetCode简单到中等。我这场碰到的是两道比较典型的题目。这种题的解题思路不复杂但要注意细节处理。两道题里有一道是做字符串转换的另一道和数组中的快慢指针运算有关除了算法本身还涉及处理数据越界和边界条件。编程题做题速度是最关键的。如果一道题卡了超过20分钟我的建议是直接跳下一题先把能拿的分拿到。系统测试岗笔试的编程题分值虽然不低但相比算法岗占比已经低很多了不值得在一道题上死磕。3.4 测试设计题最后40分钟的重头戏最后的测试设计/分析题是我觉得最有区分度的部分。它没有一个所谓的“标准答案”但考官能从你的回答看出你有没有测试思维。腾讯音乐这批笔试的测试设计题给我留下的印象很深刻题目大概是让你基于一个交互页面设计测试用例同时考察数据状态的情况。我当时需要针对一个类似音乐播放页面的复杂模块设计用例还要考虑不同的网络环境和设备兼容情况。这题没有标准答案但一定要做到“系统全面”且有层次这也是考察候选者测试素养的核心。4. 核心考点深度解析系统测试笔试的“题眼”这部分我挑几个关键模块细说尤其是容易失分的地方和系统测试岗位特别重视的考察点。4.1 测试用例设计别只回答正常路径设计测试用例的题基本是必考题考察核心是看你能不能覆盖正常、异常、边界、极端四类场景。举个具体的例子如果给你“绿钻会员购买”功能让你设计测试用例很多人会写输入正确的支付密码支付成功支付成功后会员状态变为已开通余额不足时支付失败这种答法只能算合格线的50%。真正的系统测试思维应该从功能、UI、接口、数据、兼容性、安全、性能多个维度展开。我当时在笔试中采用的方法是“测试金字塔”先列正常流用户购买成功再列异常流支付超时、支付失败、重复支付、虚拟支付回调丢失、并发下单再列边界条件购买一年会员到期前一天续费、重复购买同一档会员、购买历史与语音包的组合产品之后是数据一致性订单状态、用户权益状态、支付回调状态三方一致性最后是兼容与体验层面不同版本App、不同网络、弱网、断网恢复。我还特意关注了数据一致性问题尤其是支付回调与权益开通的一致性验证。这种偏底层链路的问题在系统测试岗位的笔试面试中是被反复问到的写进用例里会显得你的思路“不像个新手”。4.2 缺陷生命周期与管理要背但更要理解腾讯音乐的选择题里有几道关于缺陷处理的题目。缺陷生命周期一般包括新建New→已指派Assigned→已修复Fixed→已验证Verified→已关闭Closed中途可能出现的状态有拒绝Rejected、延期Deferred、重新打开Reopened。这里有一个陷阱题当开发人员认为缺陷不是缺陷时应该如何处理正确做法是测试人员先在本地确认缺陷能否稳定复现如果确认能复现则与开发进行沟通并附上复现步骤如果开发坚持拒绝则通过缺陷管理工具把状态改为“拒绝”并请求产品经理仲裁。我在笔试时遇到类似题差点选了“测试人员直接关闭缺陷”这个错误选项。记住测试人员没有权限单方面关闭缺陷必须经过开发展开确认。4.3 接口测试系统测试的隐藏重点有经验的测试都清楚系统测试虽然侧重端到端但接口测试是前置环节。腾讯音乐笔试虽然没有直接出接口测试的大题但选择题里渗透了不少相关内容比如HTTP的GET和POST区别、RESTful接口的理解、接口返回码的含义以及一个完整的接口测试用例应该包含哪些字段请求方式、请求头、请求体、预期状态码、预期业务码、响应体断言等。有一道题印象很深问“HTTP状态码502的含义”选项有服务器内部错误、错误网关、服务不可用、请求超时。正确答案是错误网关即网关或代理服务器收到了上游服务器的无效响应。这类题就是靠平时积累我在准备时整理了常见状态码表从1xx到5xx都过了一遍笔试时才没有犹豫。提示接口测试相关的知识建议系统过一遍HTTP协议基础。推荐看一下《图解HTTP》前几章HTTP方法、状态码、请求头响应头、Cookie和Session机制这些是互联网测试岗笔试面试的基础中的基础。4.4 性能测试不考深但考概念系统测试中性能测试是个绕不开的话题笔试选择题里出现了一两题主要是考察基本概念并发用户数和TPS每秒事务数的关系响应时间、吞吐量、错误率的关系性能测试分类负载测试、压力测试、稳定性测试、并发测试比如一道题某系统在500个并发用户下平均响应时间从200ms升高到1500ms且错误率超过10%这属于性能测试中的什么结果答案是系统已达到性能瓶颈。这种题不需要你真正做过压测但要知道并发增加、响应时间和错误率变高意味着系统容量逼近上限。4.5 测试环境与数据准备容易被忽略的考点腾讯音乐笔试中选择题部分还考了测试环境的理解。系统测试非常依赖测试环境的稳定性——如果环境不稳定测试结果就没有参考价值。考点包括测试环境与生产环境的隔离、测试数据的准备与清理、多环境配置管理dev/test/staging/prod。我当时记录了一个印象深刻的选择题以下哪个不是测试环境数据准备的方法选项有通过接口造数、通过直接操作数据库造数、使用生产环境脱敏数据、随意复制测试库数据。正确答案是“随意复制测试库数据”因为测试数据需要保持独立性和可重复性随意复制会导致数据混乱无法保证测试结果的有效性。这些细节题让我意识到腾讯音乐校招笔试的套路并不是简单考“测试概念知识”而是考察候选人是否了解“真实测试工作是怎么开展的”。5. 实操复盘我的答题过程与做题节奏写到这里我尽量还原一下我当时真实的做题顺序和状态给准备笔试的朋友一个直观参考。5.1 开考后的前30分钟先做选择题腾讯音乐笔试系统支持题间跳转我选择了先做选择题。原因很简单选择题里有一些简单题能快速建立信心同时它们在总分中占比不小。做题顺序上我挑自己最有把握的先做计算机基础、Linux命令、测试概念这些做得很快。遇到不确定的题先在草稿纸上标注题号不在系统里纠结太久避免时间黑洞。在做多选时我特别谨慎。有些选项看起来正确但其实概念上有个小坑。比如问“以下属于黑盒测试方法的有”选项有“等价类划分、边界值分析、语句覆盖、判定覆盖”。语句覆盖和判定覆盖属于白盒测试方法所以不能选。这种题就是典型拿不准就丢分的题如果只背名字不建知识体系很容易混淆。5.2 第30-60分钟集中攻克SQL和基础编程选择题结束后我把注意力放在SQL题上。先读题列出用到的表和字段再动手写。写完后我会用简单的测试数据在心里跑一遍确认逻辑不出错。编程题我遇到的两道第一道相对简单十分钟左右就通过了示例用例第二道稍微复杂一些花了大概二十分钟。其中一道题是关于字符串处理的涉及正则表达式的使用和字符统计核心考的是逻辑和边界处理能力。对于不依赖高级算法正常人通过训练都能掌握的题心态稳住很重要。5.3 最后50分钟留给测试设计题说实话测试设计/分析题是我最看重的部分也是我花时间最多的部分。腾讯音乐的测试设计题给的业务场景是音乐App的真实功能要求设计测试用例。所以这部分要结合系统测试的思维从功能、接口、数据、兼容性、异常场景、并发场景多个维度展开。有一个小技巧在测试设计题里先搭框架再填细节。不要想到哪写到哪而是先列出维度比如“功能测试-正常流”、“功能测试-异常流”、“接口测试-契约验证”、“数据一致性”、“兼容性专项”、“安全专项”然后在每个维度下写具体用例。这样做的好处是即使你的某个用例描述得不够精准考官也能看到你的思路是完整的、有结构的。我在测试设计题里写了一个细节支付成功但是因为网络原因导致客户端没有收到支付结果用户看到的状态是待支付此时用户重新发起支付会怎样针对这个场景我设计了三类用例一是验证重复支付时服务端是否做了幂等处理二是验证客户端能否主动向服务端查询支付结果三是验证补偿机制是否能把用户权益正确开通并同步。这类覆盖“分布式事务”“幂等”“状态一致性”的用例是系统测试的核心关注点写上去会让审核人眼前一亮。6. 常见失分点与笔试题的“坑”这部分我复盘了自己和周围同伴考完交流出来的失分点也总结了一些容易踩坑的地方。6.1 选择题“理论清晰但选项误导”很多失分不是你不知道而是选项设计得太“像”正确答案。比如测试分类的题目选项里把“系统测试”和“验收测试”的定义混淆只要你概念里有一个小模糊就会选错。我给自己的教训是复习阶段必须把“定义典型场景典型缺陷类型”绑定起来记而不是孤零零背名词。比如提到系统测试就要想到它对应的场景是需求规格说明书的验证对应的是端到端业务流对应的缺陷是业务逻辑错误、性能不达标、安全漏洞等。三个绑在一起再怎么出迷惑选项也难不倒。6.2 SQL题“一上来就写JOIN”很多人在做SQL题时条件反射式地看到多表就直接LEFT JOIN绕过WHERE条件或GROUP BY直接写。但实际上SQL题的考点往往就在分组聚合和条件过滤的顺序上。此外还需要注意SQL语句中的空值处理。我在这场笔试中遇到一题统计用户累计消费金额但某些用户没有任何付费记录。如果直接使用INNER JOIN这些用户会被过滤掉但如果使用LEFT JOINSUM函数对NULL值也要注意处理。这类细节就是拉开分数的地方。写SQL查不出结果时检查一下有没有遗漏表名字段名检查GROUP BY和HAVING的顺序检查JOIN的条件是不是少了一个字段这些低级错误占比很高。6.3 编程题不审题就动代码有的编程题题目就很长写得像阅读理解。如果没有读懂就开始写很容易漏掉关键条件。我那场笔试的编程题里有一句话是“对数组做操作时如果数组为空直接返回-1”这就是一个边界条件不处理会直接挂测试用例。建议是先把题目读完画出关键限制条件和边界情况再构思解法最后动手写代码。写完后用题目给的示例跑一遍再用一个自己想出来的边界情况自测。时间允许的情况下这个流程一定要走完。6.4 测试设计题只写正常流不稳定流这个我在前面也提过。很多人笔试时时间不够脑子里想的都是用户怎么正常地使用功能于是测试用例全写的都是“用户应该能成功”但真正的测试设计题尤其是系统测试岗考官想看到的是异常流、边界流、冲突流。举一个我看到的示例测试“收藏歌单”这个功能如果你的用例只有这些用户点击收藏按钮歌单收藏成功用户再次点击取消收藏取消成功这就没体现出系统测试的价值。面试官绝对会追问弱网时连点收藏会发生什么重复收藏同一歌单会怎样歌单被删除后用户的收藏状态是什么场景断网后恢复网络收藏状态是否与服务器同步这些都是隐藏在正常业务流背后的场景能够想到这些并在笔试中写出来的测试同学更有可能拿到好结果。7. 针对系统测试岗笔试的准备策略与实战建议笔试结束了但复盘才是有价值的部分。结合整个腾讯音乐第二批笔试的经历给后来者一些建议。7.1 备赛时间线两周突击方案如果你是临时决定投系统测试岗我建议按下面的节奏冲刺第1-3天打通测试理论基础。用“测试分类测试用例设计方法缺陷生命周期常见测试类型”四个模块建立整体知识框架每个模块配10道牛客网选择题验证。第4-6天集中刷SQL题每天15道重点练GROUP BY、HAVING、窗口函数、多表JOIN。刷完一定看别人的解法对比自己的写法看有没有性能更优或者逻辑更清晰的写法。第7-9天回顾计算机网络和操作系统的基础知识整理状态码表、TCP握手挥手流程、进程线程对比表。不需要深入底层原理但基本概念要滚瓜烂熟。第10-12天练测试设计题。每天找两个真实业务场景比如登录、支付、搜索、播放、下载写一份完整的测试用例框架严格按照功能、接口、数据、兼容、异常、性能、安全多个维度展开。第13-14天做真题/模拟题找考试节奏。编程题每天保持2道左右的练习。注意不要频繁切换题目类型保持刷题手感的同时重点复盘自己之前的错题和混淆点。7.2 系统测试岗的“知识地图”系统测试岗与其他测试岗位核心区别在于它面向的是完整系统的质量保障需要关注的点比较综合。我总结了一套“知识地图”。举个例子你看到音乐App的“下载歌曲”功能就要同时想到下载流程涉及的功能、接口、数据、网络、存储、权限、并发、兼容性等环节这就是系统测试的思维模式。7.3 笔试之后的准备笔试只是第一步如果通过了紧接着就是面试环节。腾讯音乐的面试官通常会围绕你笔试中的答题内容进行追问特别是测试设计题他们会问你“为什么这么设计”、“漏了哪些场景”、“如果新增一个需求怎么调整”。所以建议笔试结束后不要立刻丢掉题目而是把测试设计题的答案再打磨一遍多想想更好的方案也复习一下自己在SQL和编程题里有没有更优解。我在笔试结束后就根据回忆重新整理了测试设计题的答案查漏补缺。这些整理好的答案在后续面试中给了我很大的参考价值。8. 写在最后系统测试岗笔试的真实体会考完腾讯音乐这场笔试我最大的体会是系统测试岗笔试并不是一个“背多分”的考试而是一个考察你有没有系统化测试思维的过程。测试理论、SQL、Linux、编程这些都是工具真正需要你具备的能力是把这些工具组合起来对一个业务系统形成完整的质量保障策略。从网易、腾讯、阿里、字节等公司的测试岗笔试情况来看各大厂虽然有各自不同的侧重点但“对测试用例设计的深度考察”、“对SQL和数据库的实际运用”、“对Linux排查工具的熟悉程度”、“对接口和网络协议的基本理解”这几个方向几乎没有缺席过。这也说明系统测试岗的准入门槛已经不局限于“功能测试执行者”而是更加偏向有全栈意识和自动化思维的人才。如果你也在准备大厂系统测试岗的笔试建议尽早开始积累尤其是SQL和测试设计题这种短期就能有明显提升的项目性价比很高。扎实的准备是不焦虑的唯一途径。
返回列表