• 记住这份软件测试八股文还怕不能拿offer?你值得拥有


    前言
    2023秋招即将来临,很多同学会问软件测试面试八股文有必要背吗?

    我的回答是:很有必要。你可以讨厌这种模式,但你一定要去背,因为不背你就进不了大厂。

    国内的互联网面试,恐怕是现存的、最接近科举考试的制度。

    而且,我国的八股文确实是独树一帜。

    也许现行的八股文面试不是最优的解法,但的确是最符合当前国内IT环境的做法。

    所以,我采访了超过20位资深大厂面试官后,一直在尽量精炼准确的整理一套切实可行的八股文,现在已经有329位粉丝通过这套题走入了理想的岗位,所以分享出来给大伙看看,有什么不足之处欢迎评论补充。

    篇幅所限本文就只贴一下题目了,同学们可以自己先看看有哪些题是会的,答案的话我整理的一本《软件测试面试八股文》PDF里都有,获取的方法在文末了哦!

    一、软件测试基础 280 道
    什么是软件测试?
    软件测试的目的?
    软件测试的目标
    软件测试的原则
    测试的工作流程
    测试工程师的职责
    软件都有多少种分类?
    软件的分类
    测试的主要方面
    软件测试的对象
    什么是“测试案例"?
    怎么编写案例?
    软件测试的两种方法
    测试结束的标准是什么?
    软件的生命周期
    什么是软件的生命周期?
    软件测试按过程分为三个步骤
    面向对象的设计如何影响测试?
    软件带来错误的原因很多。主要的原因有哪些?
    做好软件测试的一些关键点
    软件测试的步骤是什么?
    如何录制测试脚本?
    应该考虑进行如何测试的测试方法
    怎样估计测试工作量?
    测试设计的问题
    当测试过程发生错误时,有哪几种解决办法?
    测试执行的问题
    测试评估的目标
    如何提高测试?
    C/S模式的优点和缺点

    二、Liunx 57 道
    说出10个以上的Linux命令
    在RedHat中,从root用户切到userl用户,-般用什么命令?
    Linux中,一般怎么隐藏文件?
    在Linux系统中,一个文件的访问权限是755,其含义是什么?
    如何查看CPU信息?
    查看占用CPU使用率最高的进程?
    如何查看一个文件的末尾 50行?
    如何过滤文件内容中包含"ERROR"的行?
    查看某端口号?
    查看某进程号?
    grep和find的区别? grep 都有哪些用法?
    查看IP地址?
    创建和删除一个多级目录?
    在当前用户家目录中查找haha.txt文件?
    如何查询出tomcat的进程并杀掉这个进程,写出linux命令?
    动态查看日志文件?
    查看系统硬盘空间的命令?
    查看当前机器listen 的所有端口?
    把一个文件夹打包压缩成targz的命令,以及解压拆包.targz的命令?
    Xshell工具如果想要实现从服务器上传或者下载文件的话,可以在服务器上安装什么包?
    以/etc/passwd的前五行内容为例,提取用户名?
    在linux 中find和grep的区别?
    linux查看文件用什么命令,查看进程用什么命令
    查看日志常用什么命令,主要查看什么内容

    三、MySQL基础 87 道
    什么是数据库?
    什么是关系型数据库,主键,外键,索引分别是什么?
    写出表的增删改查SQL语法
    SQL的表连接方式有哪些?
    表的连接查询方式有哪些,有什么区别?
    什么三范式?
    SQL的select 语句完整的执行顺序?
    说一下Mysql数据库存储的原理?
    事务的特性?
    简述什么是存储过程和触发器?
    什么是数据库索引?
    数据库怎么优化查询效率?
    你用的Mysql是哪个引擎,各引擎之间有什么区别?
    如何对查询命令进行优化?
    数据库的优化?
    Sql注入是如何产“生的,如何防止?
    NoSQL和关系数据库的区别?
    MySQL与MongoDB本质之间最基本的差别是什么
    Mysql数据库中怎么实现分页?
    Mysql数据库的操作?
    优化数据库?提高数据库的性能?
    什么是数据的完整性?
    存储过程和函数的区别?
    怎么进行SQL的查询优化? ’
    索引的作用,聚集索引与非聚集索引的区别

    四、接口测试 36 道
    什么是接口
    如果模块请求http改为了https.测试方案应该如何制定,修改?
    常用HTTP 协议调试代理I具有什么?详细说明抓取HTTPS协议的设置过程?
    描述TCP/IP协议的层次结构,以及每一- 层中重要协议
    jmeter,一个接口的响应结果如下:
    接口产生的垃圾数据如何清理
    依赖第三方的接口如何处理
    测试的数据你放在哪?
    什么是数据驱动,如何参数化?
    下个接口请求参数依赖上个接口的返回数据
    依赖于登录的接口如何处理
    接口测试的步骤有哪些?
    接口测试中依赖登录状态的接[如何测试?
    依赖于第三方数据的接口如何进行测试?
    解释什么是SOAP?
    解释什么是REST API?
    API测试发现的Bug类型是什么?
    我们测试的接口属于哪一类?
    Cookie保存在哪里?
    HTTP有哪些请求方法?
    接口自动化测试的流程?
    接口测试用例的编写要点有哪些?
    提到UI级别测试和API测试之间的关键区别?
    HTTPS的工作原理
    HTTPS有哪些优点?
    HTTPS的缺点

    五、Python基础 248 道
    斐波那契数列求N?
    字符串反序输出?
    判断回文?
    统计python源代码文件中代码行数,去除注释,空行,进行输出?
    python调用cmd并返回结果?
    冒泡排序
    1,2,3,4这4个数字,能组成多少个互不相同的且无重复的三位数,都是多少?
    给定一个整数N,和一个0-9的数K,要求返回0-N中数字K出现的次数
    请用python 打印出10000以内的对称数(对称数特点:数字左右对称,如: 1,2,11,1…
    判断101-200 之间有多少个素数,并输出所有的素数
    说一下字典和 json 的区别?
    什么是可变、不可变类型?
    存入字典里的数据有没有先后排序?
    字典推导式?
    什么是集合
    快速去除列表中的重复元素
    交集:共有的部分
    并集:总共的部分
    差集:另一个集合中没有的部分
    对称差集(在a或b中,但不会同时出现在者中)

    六、selenium 40 道
    什么是Selenium?
    什么是Selenium Webdriver
    S什么是elenium IDE?
    常用自动化测试工具机器运行原理,写出一段元素查找的代码?
    如何开展自动化测试框架的构建?
    如何设计自动化测试用例:
    webdriver如何开启和退出一个浏览器?
    什么是自动化测试框架?
    Selenium是什么,流行的版本有哪些?
    你如何从命令行启动Selenium RC?
    在我的机器端口444不是免费的。我怎样才能使用另一个端口?
    什么是Selenium Server,它与Selenium Hub有什么不同?
    你如何从Selenium连接到数据库?
    你如何验证多个页面上存在的一个对象?
    XPath中使用单斜杠和双斜杠有什么区别?
    如何编写Selenium IDE/ RC的用户扩展?
    如何在页面加载成功后验证元素的存在?
    你对Selenium Grid有什么了解?它提供了什么功能?
    如何从你的Java Class启动Selenium服务器?
    Selenium中有哪些验证点?
    什么是XPath?什么时候应该在Selenium中使用XPath?
    什么是Selenium的CSS定位器策略?用例子来解释。
    当有很多定位器时,如ID、名称、XPath. CSS定位器,我应该使用哪一个?
    在Selenium中处理多个弹出窗口的机制是什么?
    你如何处理使用Selenium的Ajax控件?
    Selenium Webdriver优于Selenium RC的优点是什么?
    "GET’和"NAVIGATE"方法的主要区别是什么?
    隐式等待与显式等待有什么不同?
    你将如何处理Selenium WebDriver中的警报/弹出窗口?
    七、性能测试 15 道
    性能测试有哪些分类
    你认为性能测试的目的是什么?做好性能测试的工作的关键是什么?
    服务端性能分析都从哪些角度来进行?
    如何理解压力测试,负裁测试以及性能测试?
    如何判断是否有内存泄漏及关注的指标?
    描述软件产“生内存泄露的原因以及检查方式。(可以结合- 种开发语言进行描述)
    简述什么是值传递,什么是地址传递,两者区别是什么?
    什么是系统瓶颈?

    八、loadrunner 80 道
    LoadRunner的工作原理是什么?
    LoadRunner分哪三部分?
    LoadRunner进行测试的流程?
    什么是并发?在lordrunner中,如何进行并发的测试?集合点失败了会怎么样?
    LoadRunner脚本如何录制和编写?
    LoadRunner中的Think Time有什么作用?
    在搜索引擎中输入汉字就可以解析到对应的域名,请问如何用LoadRunner进行测试…
    台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别?
    客户交付一个性能测试项目,请阐述你的实施流程。
    解释5个常用的性能指标的名称与具体含义。
    写出5个Loadrunner中常用函数,并对其中2个举例说明用法。
    简述LoadRunner的工作原理?
    什么是集合点?设置集合点有什么意义? LoadRunner中设置集合点的函数是哪个?
    HTML-based script与URL based script的脚本有什么区别?
    如何设置LaodRunner才能让集合点只对一半的用户生效?
    LoadRunner的Controller组件中Pacing 参数的作用是什么?
    LoadRunner中如何监控Windows资源?
    如果让QALoad模拟LoadRunner中只对关注的性能点进行迭代测试,你有什么好方…
    什么是负载测试?
    什么是性能测试?
    说明负载测试过程?
    我们什么时候做负裁和性能测试?
    什么是LoadRunner的组件?
    你用LoadRunner的哪个组件录制脚本?
    在多用户模式下你用LoadRunnner的哪个组件来回放脚本?
    在多用户模式下你用LoadRunnner的哪个组件来回放脚本?
    什么是场景

    九、计算机网络 45 道
    为什么需要三次握手?两次不行?

    为什么需要四次挥手?三次不行?

    TCP与UDP有哪些区别?各自应用场景?

    HTTP1.0,1.1,2.0 的版本区别

    POST和GET有哪些区别?各自应用场景?

    HTTP 哪些常用的状态码及使用场景?

    HTTP状态码301和302的区别,都有哪些用途?

    在交互过程中如果数据传送完了,还不想断开连接怎么办,怎么维持?

    HTTP 如何实现长连接?在什么时候会超时?

    TCP 如何保证有效传输及拥塞控制原理

    IP地址有哪些分类?

    GET请求中URL编码的意义

    什么是SQL 注入?举个例子?

    谈一谈 XSS 攻击,举个例子?

    讲一下网络五层模型,每一层的职责?

    简单说下 HTTPS 和 HTTP 的区别

    对称加密与非对称加密的区别

    简单说下每一层对应的网络协议有哪些?

    ARP 协议的工作原理?

    TCP 的主要特点是什么?

    UDP 的主要特点是什么?

    TCP 和 UDP 分别对应的常见应用层协议有哪些?

    为什么 TIME-WAIT 状态必须等待 2MSL 的时间呢?

    保活计时器的作用?

    TCP 协议是如何保证可靠传输的?

    谈谈你对停止等待协议的理解?

    谈谈你对 ARQ 协议的理解?

    谈谈你对滑动窗口的了解?

    谈下你对流量控制的理解?

    谈下你对 TCP 拥塞控制的理解?使用了哪些算法?

    什么是粘包?

    TCP 黏包是怎么产生的?

    怎么解决拆包和粘包?

    forward 和 redirect 的区别?

    HTTP 方法有哪些?

    在浏览器中输入 URL 地址到显示主页的过程?

    DNS 的解析过程?

    谈谈你对域名缓存的了解?

    谈下你对 HTTP 长连接和短连接的理解?分别应用于哪些场景?

    HTTPS 的工作过程?

    HTTP 和 HTTPS 的区别?

    HTTPS 的优缺点?

    什么是数字签名?

    什么是数字证书?

    Cookie 和 Session 有什么区别?

    十、逻辑题 32 道
    烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?
    你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?
    如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?
    一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。请问应该怎么问?
    12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球呢?(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑)
    在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的?
    已知:每个飞机只有一个油箱,飞机之间可以相互加油(注意是相互,没有加油机)一箱油可供一架飞机绕地球飞半圈,问题:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)
    已知:每个飞机只有一个油箱,飞机之间可以相互加油(注意是相互,没有加油机)一箱油可供一架飞机绕地球飞半圈,问题:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)
    已知:每个飞机只有一个油箱,飞机之间可以相互加油(注意是相互,没有加油机)一箱油可供一架飞机绕地球飞半圈,问题:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)

    十一、人力资源 16 道
    你的测试职业发展是什么?你自认为做测试的优势在哪里?
    你找工作时,最重要的考虑因素为何?
    为什么我们应该录取你?
    请谈谈你个人的最大特色。
    一个测试工程师应具备那些素质和技能?
    还有问一-下你是怎样保证软件质量的,也就是说你觉得怎样才能最大限度地保证软件质…
    为什么选择测试这行?
    为什么值得他们公司雇用?
    如果我雇用你,你能给部i门带来什么贡献?
    如何从工作中看出你是个自动自觉的人
    你的工作通常能在时限内完成吗. (我想问一下就是她问这 个问题的动机是什么)
    通常你对于别人批评你会有什么样的反应
    如果明知这样做不对,你还会依主管的指过去做吗?
    你在五年内的个人目标和职业目标分别是什么?
    你怎样做出自己的职业选择?
    离职时候发工资多少?

    整份文档一共有400多页,全部为大家展示出来肯定是不太现实的,为了不影响大家的阅读体验就只展示了部分内容,还望大家海涵,希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习!

    总结
    PS:这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近500个G。【点击文末小卡片免费领取】

  • 相关阅读:
    msvc编译器编码错误解决方案
    Java | 排序内容大总结
    华为OD机试 - TLV格式 - 逻辑分析(Java 2023 B卷 100分)
    STM32晶振的选择与计算
    基于动态资源使用策略的SMT执行端口侧信道安全防护
    Redis 高可用原理(荣耀典藏版)
    人工智能-卷积神经网络
    《信息安全技术》学习笔记01
    数据结构——栈,队列,及其结构特点应用。
    《算法系列》之排序
  • 原文地址:https://blog.csdn.net/qq_73332379/article/details/133553540