免费获取学习方案
ARTICLE DETAIL

资讯详情

深耕编程基础知识与建站技术分享的一线实战洞察。

搜狗2020校招测试岗笔试复盘:考点分析与备考指南

搜狗2020校招测试岗笔试复盘:考点分析与备考指南 先说清楚这篇文章是基于我2019年秋天实际参加搜狗2020校招测试岗笔试第二场的回忆整理出来的。当时笔试是在牛客网线上做的全程摄像头监控时间大概是90分钟题量不算小题型分为单选、多选、简答和一道编程题。如果你正打算投测试岗校招或者想了解搜狗这类互联网公司测试笔试到底考什么这篇可以当一份比较完整的复盘参考。我尽量把当时考到的知识点、题型特点、以及我答完之后的反思都写出来顺便加一些更适合复习方向的延展内容。毕竟过去几年了具体题目我不会记得一字不差但考察的知识点和出题思路是很有代表性的放到今天依然适用。1. 整场笔试考了什么搜狗测试岗的考察逻辑先说结论搜狗测试笔试整体风格偏基础但覆盖面很广。它不像算法岗那样死磕难题也不像开发岗那样纯考代码能力而是更看重“你有没有测试思维 基础够不够扎实”。1.1 题型与时间分配我当时在牛客网上做的这套卷子题型分布大概是这样的题型题量分值占比建议用时单选题15题左右约30%20分钟多选题5题左右约15%10分钟简答题3题左右约25%20分钟编程题1-2题约30%30分钟这个时间分配是我事后复盘时觉得比较合理的节奏。现实情况是很多人在选择题上犹豫太久结果简答题和编程题只能仓促作答。我当时也差点翻车——有几道多选题模棱两可硬是纠结了好几分钟后面编程题差点没写完。1.2 考察范围与出题倾向搜狗的产品线主要是搜索、输入法、浏览器、AI语音和翻译这几块。测试岗笔试的考察范围基本上围绕这几个方向展开但不会涉及到具体的业务细节而是考察通用的测试基础。我把考点归纳成四个板块测试基础理论测试分类、测试流程、用例设计方法、缺陷管理。这是简答题的重灾区。计算机基础知识网络协议、操作系统、Linux命令、数据库SQL。这是选择题的大头。数据结构与算法字符串处理、数组操作、简单排序。编程题基本从这个范围出。逻辑思维与场景题给定一个产品功能让你说出测试思路。这类题最能拉开差距。搜狗的笔试有个特点不会单独出智力题和行测题至少我这场没有。但它会把逻辑思维融入到测试场景题里比如给你一个输入法的语音输入功能让你设计测试用例这就需要你同时具备逻辑分析能力和测试敏感度。我搜索网络资料时也发现搜狗这套笔试题和牛客网上不少测试岗题目是有重叠的尤其是网络协议和Linux命令这两块几乎是必考的。建议准备的时候多看几套类似题目把高频考点吃透。2. 测试基础理论简答题的得分点全都在这测试基础理论是测试岗笔试里最“送分”的部分因为它是所有测试从业者的必修课。但送分不等于不准备就能拿分尤其是简答题如果没有形成完整的答题框架很容易答得零散、得分不全。2.1 测试分类与测试流程高频考点搜狗笔试题里有一道选择题问的是“以下哪些属于黑盒测试方法”。选项里混了边界值分析、条件覆盖、错误推测法、路径覆盖。如果你对测试分类不够熟这道题很容易漏选或错选。黑盒测试方法包括等价类划分、边界值分析、错误推测法、因果图法、决策表法、场景法。白盒测试方法包括语句覆盖、条件覆盖、判定覆盖、路径覆盖。这两组概念一定要分清楚不能混。关于测试流程你需要背熟的是需求分析 → 测试计划 → 测试设计 → 测试执行 → 缺陷跟踪 → 测试报告。笔试里它不会让你默写这个流程但简答题里你回答测试思路时如果能按照这个流程来组织语言会显得更专业、更有条理。2.2 用例设计方法必考核心等价类和边界值是重点这部分我必须重点说因为搜狗笔试的简答题基本都会考用例设计。我当时遇到的一道题是“请为搜狗搜索的搜索框设计测试用例至少写出10条。”如果你只写“输入关键词点击搜索能显示结果”那基本就是零分。正确的思路应该是从功能、性能、兼容性、安全、UI等多个维度来拆解。以搜索框为例我当时是这么答的功能类输入普通关键字点击搜索验证搜索结果页正确展示。功能类输入空字符串点击搜索验证是否有友好提示。功能类输入超长字符串如1000个字符验证是否有长度限制及溢出处理。功能类输入特殊字符如反斜杠、单引号、HTML标签验证是否被正确处理而非报错。功能类输入纯数字、纯英文、纯中文、中英混合验证搜索结果是否符合预期。功能类输入前后带空格的字符串验证系统是否自动去除空格。功能类连续多次点击搜索按钮验证是否有重复请求问题。功能类搜索结果为空时验证是否有“未找到相关内容”的提示及推荐内容。性能类在弱网环境下发起搜索验证响应时间和超时提示。兼容性在不同的浏览器和操作系统上执行搜索验证展示是否一致。安全类输入脚本代码验证是否被当作纯文本处理而不是执行。UI类搜索框的默认提示语、光标位置、字体显示是否正常。答题技巧是每个维度写一两条远比在一个维度里写满十条要得分高。这能体现你的测试思维是全面的而不是只会一种套路。2.3 缺陷与Bug管理容易被忽略的考点搜狗笔试多选题里有一道关于Bug生命周期的题当时我印象很深因为选项里混了一个“Bug被拒绝后可以直接关闭”的选项——这个其实是错误说法。正确的流程应该是Bug被拒绝后应退回给提交人确认由提交人判断是“确实不是问题”还是“开发理解有误”然后再决定关闭还是重新打开。关于缺陷管理你需要记住这几个关键状态New、Open、Fixed、Retest、Closed、Rejected。以及严重程度和优先级的区别——严重程度是Bug本身的影响范围优先级是修复的紧急程度。一个严重程度低但优先级高的典型例子是首页的Logo位置错了一位像素严重程度低但因为影响品牌形象优先级会很高。这一块不算难但不复习很容易忽略。我当时把这部分知识点以标签形式记在笔记里Bug生命周期、严重程度、优先级、缺陷报告要素标题、环境、步骤、预期、实际、附件。算是花时间少但性价比高的模块。3. 计算机基础知识选择题的大头占分近一半这部分涵盖的知识点多且杂但深度都不深。只要能拿住计算机网络、操作系统、Linux和数据库这四个方向选择题基本不会丢太多分。3.1 网络协议重点中的重点搜狗是做搜索起家的对网络协议的考察是非常重视的。当时的选择题里考了三次握手、HTTP状态码、TCP与UDP的区别、DNS解析过程这几个知识点。TCP三次握手的重点在于理解状态变化——从CLOSED到SYN_SENT再到SYN_RECV最后到ESTABLISHED。笔试题目喜欢问“第二次握手之后服务器端处于什么状态”答案是SYN_RECV。这个细节如果你没复习到位是很容易答错的。HTTP状态码是必考的。需要记住的分类是1xx信息性状态码如100 Continue2xx成功状态码如200 OK3xx重定向状态码如301、3024xx客户端错误状态码如400、401、403、4045xx服务端错误状态码如500、502、503多选题可能会把几个状态码混在一起让你归类这个需要精准记忆不能凭感觉。还有一个高频考点是TCP与UDP的区别。表格记清楚就行对比项TCPUDP连接性面向连接无连接可靠性可靠传输不可靠传输速度较慢较快应用场景网页、邮件、文件传输视频通话、直播、游戏搜狗笔试里这道题是以多选形式出的问“以下哪些协议基于UDP”选项里有DNS、TFTP、SNMP、HTTP。正确的答案是DNS、TFTP、SNMP。如果你不知道DNS在传输层使用的是UDP这道题很容易丢分。3.2 操作系统与Linux搜狗笔试的独有特色搜狗笔试对Linux命令的考察比重是很高的可能是因为测试日常工作中经常需要部署环境、查看日志、操作服务器。我当时印象很深的一道题是“查看Linux系统当前内存使用情况的命令是”答案是free 或 top选项里还混了 df查看磁盘、ps查看进程、du查看目录占用。Linux命令这部分我建议重点掌握以下几类文件操作ls、cd、cp、mv、rm、find查看内容cat、head、tail、grep、less权限管理chmod、chown、su、sudo系统监控top、free、df、du、ps网络命令ping、curl、netstat、telnet测试岗笔试里grep和管道符的组合用法几乎必考比如“查找日志文件中含有error的行”的命令是grep error app.log。这种题不难但如果你平时对Linux不熟会很吃亏。操作系统的其他考点还包括进程与线程的区别、死锁产生的四个必要条件、虚拟内存与分页机制。这些在搜狗笔试里也出现了但占比不如网络协议和Linux大。复习的时候抓住核心概念即可不需要深入源码层面。3.3 数据库SQL至少掌握基本查询和连接数据库在测试笔试里属于中等优先级的考点。我当时遇到了一道SQL查询题要求查“搜索日志表中搜索次数最多的前10个关键字”。这道题考察的是GROUP BY、ORDER BY、LIMIT的组合使用。正确答案类似SELECT keyword, COUNT(*) AS cnt FROM search_log GROUP BY keyword ORDER BY cnt DESC LIMIT 10;如果你连GROUP BY都不熟练这道题基本就拿不到了。所以准备测试岗笔试SQL的以下语法必须能完整写出来基础查询SELECT、WHERE、LIKE、BETWEEN聚合函数COUNT、SUM、AVG、MAX、MIN分组排序GROUP BY、HAVING、ORDER BY、LIMIT连表查询INNER JOIN、LEFT JOIN、RIGHT JOIN另外事务ACID四个特性原子性、一致性、隔离性、持久性也属于高频考点。搜狗笔试里选择或判断题通常考的是“事务的隔离性保证多个事务并发执行时互不干扰”这类概念性内容。4. 数据结构与编程题用一道题拉开差距搜狗测试岗的编程题难度整体低于开发岗但仍然需要你具备基本的代码实现能力。我当时遇到了一道和“字符串反转”相关的问题具体类似“给定一个字符串按单词反转比如‘I am a tester’反转后为‘tester a am I’”。这种题目并不难但考察的是你对字符串处理、数组和循环的掌握程度。测试岗编程题不追求用最精妙的算法而是看你能否写出逻辑清晰、边界处理完整的代码。4.1 高频出题方向根据搜狗笔试的历年情况编程题主要围绕以下几类字符串处理反转、去重、统计字符次数、判断回文数组操作求最大最小值、排序、去重、计算连续子数组链表反转链表、找倒数第K个节点基础算法冒泡排序、选择排序、二分查找我当时准备的时候把剑指Offer的前20题刷了一遍再配合LeetCode上一些easy级别的字符串和数组题目基本就够用了。4.2 做题思路示例以“按单词反转字符串”为例正确思路是先对字符串按空格拆分再反转数组最后拼接。def reverse_words(s): words s.strip().split() return .join(reversed(words))但如果笔试系统要求你处理空格情况更复杂比如多个连续空格、首尾空格上述代码就会出错。所以我当时用了另一种写法def reverse_words(s): words s.strip().split() left, right 0, len(words) - 1 while left right: words[left], words[right] words[right], words[left] left 1 right - 1 return .join(words)写完之后一定要自己手测几个边界用例比如空字符串、全是空格、只有一个单词、单词中间有多个空格。这个习惯在笔试中是非常重要的因为判题系统会专门跑这些边界case。我平时练习时就经常因为这个丢分所以反复提醒自己。4.3 测试岗编程题的特殊性和开发岗不同测试岗的编程题有时候会让你写“测试下面这段代码”或“找出下面代码的Bug”。我当时虽然没有遇到这种题但听同场考完的同学说他们的卷子里有类似的题目。这类题考察的是你阅读代码的能力和测试敏感度。你需要能快速找出数组越界、空指针、除零、类型转换错误等常见问题。我的建议是平时复习的时候不要只看正确答案还要养成主动思考“这段代码哪里可能出问题”的习惯。5. 简答题测试思维是核心怎么组织答案很关键简答题是测试岗笔试的重头戏因为它是真实反映你有没有测试思维的部分。搜狗笔试的简答题一般不考死记硬背的知识点而是给一个具体的产品功能让你设计测试用例或描述测试思路。5.1 场景题怎么测一个具体的功能我这里有一条重要的经验回答场景题要先把角度拉开而不是上来就写用例。你需要先说明测试范围再从功能、兼容性、性能、安全、用户体验这几个维度逐一展开。我以“搜狗输入法的语音输入功能”为例你可以先说明需要考虑的维度再列出具体用例。比如维度一功能测试语音识别的准确率在不同口音、语速、嘈杂环境下识别结果的正确率是否符合预期。识别结果的可编辑性语音识别完成后是否支持直接编辑修改。无网络时使用语音输入是否有提示。维度二兼容性测试不同的操作系统Windows、macOS、Linux、Android、iOS不同的浏览器或宿主应用微信、浏览器、Office等不同的麦克风硬件维度三性能测试语音输入的反应时间长音频输入的稳定性高并发下的服务端响应能力这样组织下来的答案内容更充实逻辑更清楚。至于你写的是不是“标准答案”其实不重要重要的是你展示了测试思维的系统性和全面性。5.2 开放题遇到没见过的功能怎么办我当时做笔试的时候还遇到一道关于“搜索联想功能”的测试设计题要求写出测试思路。这类功能平时虽然常用但真让你设计测试用例时还是需要结构化思考。搜索联想功能的核心逻辑是用户在搜索框输入一个字系统会实时匹配并展示可能的搜索词。测试时需要关注输入不同长度的字一个字、两个字的词、整句话联想的排序逻辑是否正确热门程度、是否包含用户输入词联想词和输入词的匹配度、去重逻辑候选词展示的速度性能无结果时的兜底策略你看即使你对某个功能不熟只要掌握了“先功能、再性能、再兼容、再安全”的答题框架就能写出一个不错的答案。而面试官看简答题时最看重的就是逻辑和条理性而不是某个角落里的细节。5.3 关于搜狗产品的行业特性搜狗笔试里如果涉及搜狗业务一般会结合搜索、输入法、浏览器、AI语音等场景。比如“如何测试搜狗搜索的排序结果是否合理”“如何测试搜狗浏览器的收藏同步功能”“如何测试搜狗翻译的准确度”。这类题看起来像是需要专业知识但其实核心还是测试基本功。比如“测翻译准确度”你需要考虑英文长句和短句的差异、专业术语、口语化表达、网络异常时是否返回上次结果等。把通用的测试框架套到一个具体功能上是解决这类题最有效的办法。6. 实操经验笔试踩坑记录与备考建议最后这部分我分享一下自己在准备搜狗测试笔试时踩过的坑和一些复盘心得。这些经验是我后来参加了多场测试岗笔试之后总结出来的比单纯的知识点复习更有参考价值。6.1 多选题是最大的失分点我参加搜狗这场笔试时最痛苦的其实是多选题。因为多选的性质决定了“少选、多选、错选都不得分”而是只有完全正确才能拿分。所以有时候你明明很确定其中两个选项是对的剩下一个选项死活拿不准这时候如果选上可能就是0分不选可能也是0分。我的复盘结论是多选题的容错率很低不确定的选项宁可不选。因为少选一个仍可能得分但多选一个一定扣分。不过后来我了解到有些笔试系统对多选题是“少选不给分”的所以还是要看具体规则。保险策略是复习的时候把高频概念彻底搞清楚不要停留在“眼熟”的程度。具体方法我建了一个表格把所有容易混淆的概念放在一起比如“黑盒测试方法”和“白盒测试方法”、“TCP和UDP适用场景”、“HTTP和HTTPS的区别”、“进程和线程的区别”、“死锁的四个必要条件”。每天早晚各看一遍看得多了考场上就再也不会犹豫了。6.2 编程题一定要提前练习输入输出处理很多测试岗候选人的编程基础本身就偏弱再加上平时测试工作更多是手工执行用例很少写代码。这就导致笔试时编程题往往是最慌的一部分。我的建议是笔试前两周绝对要手动敲代码不要只看不写。重点练习输入输出的处理因为线上笔试系统的输入输出是固定的格式如果不熟悉缓冲流和Scanner的使用很容易在输入上花费大量时间。我当时在牛客网上刷了50道左右的编程题专攻字符串、数组和链表这三大类。刷完之后再做搜狗笔试的编程题整个手感就很不一样了。6.3 时间管理的核心原则我最终走完这套笔试后最大的教训就是时间管理比知识储备更影响最终得分。因为在有限的时间内你不可能面面俱到你需要学会取舍。我一般采用的是“三轮答题法”第一轮把所有题目浏览一遍把有把握的选择题和简答题快速做完。第二轮转回来做不确定的题目尤其是多选题利用排除法缩小范围。第三轮集中精力做编程题和最后的简答题保证大题不空白。这个策略对我来说效果很好。笔试时间有限每一分钟都要花在得分效率最高的地方。如果你在一道选择题上花费太多时间就会挤压后面编程题的时间损失更大。6.4 关于测试岗笔试的最终体会搜狗测试岗笔试给我的整体感觉是难度适中但覆盖面非常广。它不要求你在某个方向特别钻研但要求你对整个计算机基础体系有一个清楚的了解。这种考察方式跟测试工程师日常工作的状态很像——你可能不需要写出多精妙的代码但你什么都要懂一点因为你的职责就是保障整个软件产品的质量。如果你准备测试岗可以从几个方向入手测试基础理论、网络协议、Linux命令、SQL语句、基础数据结构和算法。把这五个方向吃透再做几套模拟题练手大部分公司的测试笔试基本都能通过。后面如果进入了面试环节那些场景题和分析题会更加偏重实战经验的考察这个咱们以后再细聊。
返回列表