ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

联想CNBU测试岗校招经验:笔试面试重点与自动化测试准备

联想CNBU测试岗校招经验:笔试面试重点与自动化测试准备 联想22校招的CNBU测试岗我当年也盯着这个岗位看了很久。先说清楚背景CNBU在联想内部是消费笔记本事业部Consumer NB Unit的缩写负责小新、拯救者、YOGA这类面向普通用户的PC产品线。校招里挂“测试”后缀本质是招测开方向或者功能测试方向的新人笔试和面试考察的侧重点和互联网公司的通用测试岗有一定区别它更在意你对硬件的理解、对PC整机测试流程的认知以及自动化脚本能力的底子。这篇内容我按自己当年的准备思路和后来复盘的经验来写适合正在投联想校招测试岗、或者想进PC整机厂商做测试的同学参考。1. 联想22校招CNBU测试岗到底在考什么1.1 笔试环节的命题逻辑先说笔试。联想的校招笔试通常分成两段一段是综合素质测评另一段是专业笔试。综合素质测评就是常见的行为风格测试这部分不用太焦虑按自己真实情况选就行别前后矛盾。专业笔试才是拉开差距的地方。CNBU测试岗的专业笔试核心考点集中在四个方向Linux基础操作、SQL常用查询、Python或Java基础语法、测试理论与用例设计。这四块我在不同年份的校招帖里反复看到过基本是稳定的出题范围。值得注意的是它很少考算法题也不考深度学习那套东西——PC厂商的测试岗更看重你是否能做日常的测试开发工作比如写自动化脚本、排查日志、维护测试环境。从题型上看一般是选择题加简答题选择题考察基础概念简答题会让你设计测试用例或给出某个bug的排查思路。如果你之前只刷过互联网公司的算法题到这里可能会有点迷糊因为它的考察逻辑完全不一样——它不问你“怎么反转二叉树”而是问你“系统卡顿怎么定位是CPU还是内存的问题”。1.2 简历筛选和岗位匹配的关键点通过笔试之后面试官会在简历里找和你岗位匹配的信息。当时我看到不少同学简历上写了一堆Java后端项目但测试相关的经历几乎是空白这类简历通过率明显偏低。反过来那些有测试实习经历、或者做过自动化测试脚本、甚至只是在GitHub上维护过一个简单的接口测试项目的同学更容易进入面试环节。这里有个容易忽略的细节CNBU本身就是做消费笔记本的所以简历里如果出现过硬件相关的项目比如嵌入式开发、Android系统测试、甚至只是自己折腾过黑苹果、刷过开发板都会比纯软件项目更受关注。原因不复杂——PC整机测试要接触BIOS、嵌入式控制器EC、操作系统驱动层这些知识软件出身的同学通常没接触过但面试官很看重学习意愿和相关背景。我见过一个很典型的例子同校的一个同学简历写的是“基于Python的自动化测试工具开发”但项目描述里没有任何测试场景只讲了一堆代码模块怎么设计。面试官问他“这个工具用在什么测试场景、发现了什么问题、为什么这么设计”他基本答不上来。这个问题充分说明简历筛选过不代表你真的匹配面试中的项目深挖才是重头戏。2. 面试环节的重头戏项目深挖与测试思维2.1 面试官深挖项目的三个方向联想校招面试通常有两到三轮技术面试加一轮HR面。技术面试里面试官拿到你的简历后大概率会先挑一个项目开始问。结合CNBU测试岗的性质他们重点关注三个方向。第一项目本身做了什么你负责的模块是什么。这个部分可以用STAR法则去组织说清楚背景、任务、行动和结果。但注意不要只背准备好的话术面试官随时会打断你追问细节。比如你提到“我搭建了一个接口自动化测试框架”他大概率会追问“你用了什么测试框架”“怎么处理接口间的依赖”“数据怎么管理”。第二你在项目中遇到的测试难点是什么怎么解决的。这个问题的考察点其实不在难点本身而在你的排查思路。面试官想通过这个问题看出你在真实测试工作中是不是一个能独立解决问题的人。我当时被问到的是一个设备老化测试全自动执行脚本相关的项目面试官一直在追问脚本的执行效率、异常处理、日志上报这些细节明显比单纯背概念要深入得多。第三你对测试流程和测试理论的理解。这里会涉及V模型、敏捷测试、冒烟测试、回归测试、安全测试这些基础概念。不要只背定义要能结合场景说。比如说到冒烟测试你可以说“PC整机开始系统集成测试之前会先跑一遍冒烟测试把开机、进系统、基本功能、音频视频输出这些主链路先过一遍如果冒烟挂了整个迭代就要打回重测”。2.2 测试思维和开发思维的区别从“怎么实现”到“怎么证明”有一点我觉得是在校招面试中特别重要的测试思维和开发思维有本质区别。开发思维是“我怎么把这个功能实现出来”而测试思维是“我怎么证明这个功能符合预期怎么找到它不符合预期的场景”。面试官问“你怎么理解测试工程师这个岗位”的时候很多人会回答“保证产品质量、发现bug”这个答案不能说错但太泛了。更好的回答思路是测试的职责不仅是发现问题还要通过问题反推流程的改进比如补充测试用例、完善自动化覆盖、推动开发修复最终形成一个质量闭环。同时你还需要意识到在一个PC产品团队里测试工程师往往是和研发、产品经理沟通最密切的角色。比如笔记本的某个新功能产品经理说“我们要支持在不用进系统的情况下调节屏幕亮度”研发想到的是“改EC固件”但测试工程师要考虑的是“怎么覆盖不同机型、不同系统版本、以及多次调节后的稳定性”。你如果能把这个层面的思考讲出来面试官会觉得你真的懂测试而不只是会跑跑用例。3. 手写测试用例核心考察点与高效输出方法论3.1 从登录功能看等价类和边界值设计面试中拿到“请针对登录功能设计测试用例”这种题几乎是必考。很多同学能写出几条但缺乏系统性。我一般建议从四个维度展开功能、兼容性、异常场景、安全。功能层面核心流程是“输入正确的账号密码登录成功”以及“输入错误的账号或密码登录失败并提示错误”。这里要拆出输入框本身的限制条件比如账号长度、密码复杂度、是否允许空格、是否允许特殊字符。边界值法在这道题里特别有用。比如密码要求6到16位那么5位、6位、16位、17位就是四个典型的边界用例分别对应无效、有效、有效、无效。等价类划分则可以把无穷多的输入归纳为几类合法账号、非法格式账号、不存在的账号、密码错误、密码过期等。异常场景也很重要比如断网情况下点登录、服务器返回500、用户快速连续点击登录按钮这些在实际测试中都可能发生。安全维度则要考虑SQL注入、暴力破解、密码明文传输等问题。3.2 测试用例设计里的“隐藏分”从PC整机场景延伸既然你投的是CNBU测试岗面试官可能会把场景从App或者网页扩展到PC整机。比如让你测试“笔记本的电源适配器插入后自动充电”这个功能该怎么设计用例。这种题考的是你对硬件测试场景的敏感度。除了基本功能“插上电源线后电池充电状态变为充电中”你还要想到插入适配器后系统是否正常识别、适配器功率不匹配时是充电还是供电、插拔过程中系统是否蓝屏或重启、电源管理软件显示的电量百分比是否正确、多次插拔后EC和OS侧的充电状态是否同步。再比如“笔记本合盖后休眠再开盖唤醒”这个功能。常规思维是验证能否正常唤醒。但如果你能补上“合盖瞬间正在进行文件拷贝唤醒后拷贝是否中断”“合盖状态外接显示器能否继续工作”“合盖休眠后电池耗电是否正常”面试官会明显对你另眼相看。3.3 短时间内高效输出用例的方法面试时给你10到15分钟写用例时间有限不建议一上来就狂写。我的习惯是先花1分钟在草稿纸上画出角色和场景再按功能、兼容、异常、安全四个维度去填用例。每写一条心里过一遍这条用例的输入、步骤、预期结果是否清晰避免写出来连自己都无法复现。写完之后如果还有时间再补充几条“反人类操作”的用例。比如手机App在弱网下不断切换网络、PC在低电量时同时跑大型软件和系统更新。这些用例不见得被面试官逐一追问但出现在你的答案里代表你有边界意识这是测试岗位很重要的素质。4. 自动化测试与测试开发方向校招中的加分项4.1 pytest框架入门快、面试常问不管你是面的功能测试还是测开方向自动化测试始终是一个绕不开的加分项。在CNBU测试岗的面试里Python、pytest、自动化测试框架这三者的组合出现频率很高。原因很简单PC整机测试虽然有不少手工部分但回归测试、老化测试、稳定性测试都需要脚本化执行pytest正好是行业里最常用的落地工具之一。一个典型的自动化测试代码片段是接口请求加断言比如下面这个例子import pytest import requests def test_login_success(): url https://api.example.com/login payload {username: testuser, password: 123456} resp requests.post(url, jsonpayload) assert resp.status_code 200 assert resp.json()[code] 0 assert resp.json()[data][token] is not None def test_login_wrong_password(): url https://api.example.com/login payload {username: testuser, password: wrong} resp requests.post(url, jsonpayload) assert resp.status_code 200 assert resp.json()[code] 1001面试官看到这类代码一般会追问几个问题为什么用pytest而不是unittest怎么处理接口依赖测试数据怎么管理这些问题我在面测开岗时都被问过后来复盘发现它们的核心都指向“你能否构建一个可维护、可扩展的测试框架”。一个好的回答框架是先说明pytest的fixture机制、参数化、插件生态比unittest更适合做数据驱动和分层设计再说明接口依赖可以用fixture返回值或者请求关联的方式解决测试数据管理则可以用yaml/json文件或数据库初始化脚本按照环境区分。4.2 接口自动化与UI自动化选型逻辑和落地路径接口自动化的核心是流程和数据。你先要梳理被测系统的接口文档明确每个接口的入参、出参、鉴权方式再按业务逻辑串联起来。在执行过程中断言是重中之重不仅要有状态码断言更要有业务断言比如返回码、关键字段值、数据库落库结果。UI自动化则重点考察脚本稳定性。最典型的场景是用Selenium或者Appium写一条完整的登录到退出流程。这里有几个常见的坑元素定位不稳定、等待时间不固定、环境的初始状态依赖。解决方案通常是尽量用稳定的id定位而不用xpath统一使用显式等待而不是sleep每条用例执行前重置环境数据。在联想这种PC厂商的环境里UI自动化的场景比互联网公司更杂比如要覆盖BIOS设置界面、Windows系统下的客户端软件、甚至还有手机App与PC联动的场景。如果你能表达出“根据不同场景选择不同自动化工具链”的思路而不只是停留在工具层面试官会认为你有架构意识。4.3 测试数据与测试环境管理容易被忽略的实操关键很多同学在讲自动化框架时重点全放在用例编写和断言上但真正做过测试的人都明白测试数据管理和环境管理才是自动化能不能持续跑下去的关键。你写的用例再漂亮测试环境不稳定、测试数据互相污染跑出来的结果没有任何参考价值。在面试里如果能主动讲起这部分会是很大的加分。我当时分享过一个经验把测试环境的初始化脚本放到用例执行前的fixture里每条用例跑完后再清理脏数据避免用例之间的数据耦合。另外就是数据准备要区分静态数据和动态数据静态数据放配置文件动态数据用代码生成比如测试手机号用随机数拼接时间段戳。这个思路在PC整机测试里同样适用。联想这种测试环境往往有几十台不同型号的测试设备怎么管理设备状态、怎么分配设备给具体用例是自动化测试能否稳定运行的核心问题。回答时不需要给出全套方案但要让面试官看到你有全局视角。5. 高频面试题速查与避坑实录5.1 测试理论高频题答题模板整理一张面试高频题速查表供大家快速过一遍问题答题方向关键踩分点说说你对测试工程师的理解质量守护者贯穿需求到上线全流程强调闭环、推动流程改进V模型和敏捷测试的区别流程模型不在测试阶段论测试提前介入、持续反馈什么是冒烟测试和回归测试冒烟是保底回归是防止旧功能坏结合具体项目场景怎么判断一个Bug的优先级从频率、严重程度、影响范围三个维度不要只按情绪分优先级如果开发说“这不是Bug”怎么办回归需求、提供复现步骤、邀请产品判断沟通能力和佐证能力怎么给一个接口设计测试用例正常、异常、边界、安全、性能结构清晰用例具体说说你在测试中遇到的印象最深的Bug描述背景、排查过程、解决结果排查思路要完整这张表不需要死记硬背答题的核心逻辑是先归类问题考察的是理论、场景还是项目再有层次地组织答案。如果面试官问的概念你不熟悉不要编直接说“这部分我之前接触比较少我的理解是……如果有偏差请您指正”比硬撑要好得多。5.2 面试中那些容易翻车的细节操作有几个在我自己面试和帮同学模拟面试时反复出现的问题拉出来提醒一下。第一讲项目时堆砌名词但讲不清实际细节。比如一提到自动化测试就说“用了Pytest、Selenium、Allure搭建了数据驱动框架”但被追问“数据驱动具体怎么实现的”的时候沉默了。解决方法是把自己的项目按模块拆清楚每个模块里的技术选型能说清为什么不能只背大词。第二对测试用例的输出条数没有概念。有些同学说“我写了三百条用例”但追问核心场景时只说得出一两条这反而会让面试官觉得水分大。更好的表达是有条理地展示核心模块的用例设计思路。第三忽视手动测试经验的表达。校招生的简历里自动化项目经验会比较亮眼但如果面试官问到“你在实习中怎么做手工回归测试”不要露出“手工测试很低级”的表情。实际上在PC厂商的真实工作中大量探索性测试、用户体验类测试必须靠人去执行自动化只是辅助。能把手动测试做出方法论比如有目的地设计探索路径同样能体现专业度。第四面试过程中不主动沟通只等对方提问。测试工程师的核心能力之一是沟通如果面试官问一个开放性问题你不妨边说边梳理思路甚至反问一句“您希望我往哪个方向展开”这样显得思路活络。5.3 车载测试、安全测试、性能测试等扩展方向如何准备从热搜词里能看到测试领域的热门方向非常广车载测试、渗透测试、安全测试、性能测试、Appium自动化、智能座舱测试、ISO 12233镜头分辨率测试等等。这些方向都值得关注但如果你只是准备校招不建议每个方向都铺开去学而是要有选择地结合岗位方向去准备。CNBU测试岗作为PC事业部直接涉及的方向更可能是性能测试、老化测试、接口自动化、整机兼容性测试。安全测试更多是单独的安全团队在负责车载测试和智能座舱测试则属于联想其他事业部的范畴它们的面试题会明显偏向汽车电子、CAN通信、AUTOSAR、功能安全等和CNBU的题型差异很大。如果你对这些方向有兴趣可以去搜索对应的面经但不要把精力平均分配抓住核心方向优先突破。性能测试、内存测试、连接数测试、网速测试、鼠标回报率测试、RTMP测试地址这些关键词背后其实是同一个逻辑你如何设计性能压测场景如何通过指标评估系统表现。比如帮助排查PC卡顿问题你可以提到用工具查看CPU占用、内存占用、磁盘I/O再结合系统日志判断是哪个进程导致卡顿这比单纯说“我用过鲁大师”要专业得多。6. 作为过来人的一些建议和复盘6.1 校招时间线和心态调整联想校招的流程一般是网申——在线笔试——技术面试——HR面试——Offer沟通。从投递到收到Offer周期可能在几周到一个月不等中间如果遇到流程推进慢不用太焦虑这是正常现象。我的经验是不要把时间轴全押在联想一家多投几家目标公司做梯度搭配有保底Offer在手面联想的时候心态会稳很多。毕竟面试本身也有临场发挥的成分心态一崩即使会的问题都可能答乱。另外就是复盘一定要做。每次面试结束趁记忆还清晰把被问到的问题记下来标注哪些答得好、哪些需要补。我经历过一个很实用的状态面到第三、四家公司时很多问题已经在一次次复盘里总结出了更清晰的答题思路后面就越来越流畅。6.2 如何在面试中自然展现学习能力面试官很清楚校招生的经验有限所以他们更看重的是学习能力和思维方式。比较好的策略是在讲某个项目时主动说“这里我当时不太懂后来通过查文档、看源码解决了”然后讲清楚解决问题的路径比如“我发现pytest的fixture的scope参数和我想的不一样去官网看了文档又复现了问题才弄明白”。这样的表达比“我学习能力强”更有说服力因为它给出了具体的场景和行为。面试官要的不是一个完美的人而是一个遇到问题会自己找方法的人。6.3 最后的实战小建议如果时间允许在面试前自己动手做一个完整的测试小项目比如针对一个开源接口写一套pytest自动化测试准备好演示和讲解。这个经历放到简历里比任何空泛的技能列表都更能打动面试官。我当时在准备过程中把自己写的一个接口自动化小项目完整梳理了一遍核心模块怎么分层、数据怎么管理、报告怎么生成、遇到哪些坑怎么解决的。后来面试中遇到的很多问题其实都能从这个小项目的复盘里找到答案。真诚建议你也试一次这个过程本身就是在帮你建立做测试的核心能力。
返回列表