写点什么

字节速通!这份软件测试八股文还怕不能拿 offer?你值得拥有

作者:Java你猿哥
  • 2023-05-03
    湖南
  • 本文字数:5174 字

    阅读完需:约 17 分钟

前言

2023 金三银四已过,很多同学会问软件测试面试八股文有必要背吗?

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

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

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

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

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

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

一、软件测试基础 280 道

  1. 什么是软件测试?

  2. 软件测试的目的?

  3. 软件测试的目标

  4. 软件测试的原则

  5. 测试的工作流程

  6. 测试工程师的职责

  7. 软件都有多少种分类?

  8. 软件的分类

  9. 测试的主要方面

  10. 软件测试的对象

  11. 什么是“测试案例"?

  12. 怎么编写案例?

  13. 软件测试的两种方法

  14. 测试结束的标准是什么?

  15. 软件的生命周期

  16. 什么是软件的生命周期?

  17. 软件测试按过程分为三个步骤

  18. 面向对象的设计如何影响测试?

  19. 软件带来错误的原因很多。主要的原因有哪些?

  20. 做好软件测试的一些关键点

  21. 软件测试的步骤是什么?

  22. 如何录制测试脚本?

  23. 应该考虑进行如何测试的测试方法

  24. 怎样估计测试工作量?

  25. 测试设计的问题

  26. 当测试过程发生错误时,有哪几种解决办法?

  27. 测试执行的问题

  28. 测试评估的目标

  29. 如何提高测试?

  30. C/S 模式的优点和缺点

  31. ....


二、Liunx 57 道

  1. 说出 10 个以上的 Linux 命令

  2. 在 RedHat 中,从 root 用户切到 userl 用户,-般用什么命令?

  3. Linux 中,一般怎么隐藏文件?

  4. 在 Linux 系统中,一个文件的访问权限是 755,其含义是什么?

  5. 如何查看 CPU 信息?

  6. 查看占用 CPU 使用率最高的进程?

  7. 如何查看一个文件的末尾 50 行?

  8. 如何过滤文件内容中包含"ERROR"的行?

  9. 查看某端口号?

  10. 查看某进程号?

  11. grep 和 find 的区别? grep 都有哪些用法?

  12. 查看 IP 地址?

  13. 创建和删除一个多级目录?

  14. 在当前用户家目录中查找 haha.txt 文件?

  15. 如何查询出 tomcat 的进程并杀掉这个进程,写出 linux 命令?

  16. 动态查看日志文件?

  17. 查看系统硬盘空间的命令?

  18. 查看当前机器 listen 的所有端口?

  19. 把一个文件夹打包压缩成 targz 的命令,以及解压拆包.targz 的命令?

  20. Xshell 工具如果想要实现从服务器上传或者下载文件的话,可以在服务器上安装什么包?

  21. 以/etc/passwd 的前五行内容为例,提取用户名?

  22. 在 linux 中 find 和 grep 的区别?

  23. linux 查看文件用什么命令,查看进程用什么命令

  24. 查看日志常用什么命令,主要查看什么内容

  25. .....

三、MySQL 基础 87 道

  1. 什么是数据库?

  2. 什么是关系型数据库,主键,外键,索引分别是什么?

  3. 写出表的增删改查 SQL 语法

  4. SQL 的表连接方式有哪些?

  5. 表的连接查询方式有哪些,有什么区别?

  6. 什么三范式?

  7. SQL 的 select 语句完整的执行顺序?

  8. 说一下 Mysql 数据库存储的原理?

  9. 事务的特性?

  10. 简述什么是存储过程和触发器?

  11. 什么是数据库索引?

  12. 数据库怎么优化查询效率?

  13. 你用的 Mysql 是哪个引擎,各引擎之间有什么区别?

  14. 如何对查询命令进行优化?

  15. 数据库的优化?

  16. Sql 注入是如何产“生的,如何防止?

  17. NoSQL 和关系数据库的区别?

  18. MySQL 与 MongoDB 本质之间最基本的差别是什么

  19. Mysql 数据库中怎么实现分页?

  20. Mysql 数据库的操作?

  21. 优化数据库?提高数据库的性能?

  22. 什么是数据的完整性?

  23. 存储过程和函数的区别?

  24. 怎么进行 SQL 的查询优化? '

  25. 索引的作用,聚集索引与非聚集索引的区别

  26. ....

四、接口测试 36 道

  1. 什么是接口

  2. 如果模块请求 http 改为了 https.测试方案应该如何制定,修改?

  3. 常用 HTTP 协议调试代理 I 具有什么?详细说明抓取 HTTPS 协议的设置过程?

  4. 描述 TCP/IP 协议的层次结构,以及每一- 层中重要协议

  5. jmeter,一个接口的响应结果如下:

  6. 接口产生的垃圾数据如何清理

  7. 依赖第三方的接口如何处理

  8. 测试的数据你放在哪?

  9. 什么是数据驱动,如何参数化?

  10. 下个接口请求参数依赖上个接口的返回数据

  11. 依赖于登录的接口如何处理

  12. 接口测试的步骤有哪些?

  13. 接口测试中依赖登录状态的接[如何测试?

  14. 依赖于第三方数据的接口如何进行测试?

  15. 解释什么是 SOAP?

  16. 解释什么是 REST API?

  17. API 测试发现的 Bug 类型是什么?

  18. 我们测试的接口属于哪一类?

  19. Cookie 保存在哪里?

  20. HTTP 有哪些请求方法?

  21. 接口自动化测试的流程?

  22. 接口测试用例的编写要点有哪些?

  23. 提到 UI 级别测试和 API 测试之间的关键区别?

  24. HTTPS 的工作原理

  25. HTTPS 有哪些优点?

  26. HTTPS 的缺点

  27. .....

五、Python 基础 248 道

  1. 斐波那契数列求 N?

  2. 字符串反序输出?

  3. 判断回文?

  4. 统计 python 源代码文件中代码行数,去除注释,空行,进行输出?

  5. python 调用 cmd 并返回结果?

  6. 冒泡排序

  7. 1,2,3,4 这 4 个数字,能组成多少个互不相同的且无重复的三位数,都是多少?

  8. 给定一个整数 N,和一个 0-9 的数 K,要求返回 0-N 中数字 K 出现的次数

  9. 请用 python 打印出 10000 以内的对称数(对称数特点:数字左右对称,如: 1,2,11,1...

  10. 判断 101-200 之间有多少个素数,并输出所有的素数

  11. 说一下字典和 json 的区别?

  12. 什么是可变、不可变类型?

  13. 存入字典里的数据有没有先后排序?

  14. 字典推导式?

  15. 什么是集合

  16. 快速去除列表中的重复元素

  17. 交集:共有的部分

  18. 并集:总共的部分

  19. 差集:另一个集合中没有的部分

  20. 对称差集(在 a 或 b 中,但不会同时出现在者中)

  21. ...

六、selenium 40 道

  1. 什么是 Selenium?

  2. 什么是 Selenium Webdriver

  3. S 什么是 elenium IDE?

  4. 常用自动化测试工具机器运行原理,写出一段元素查找的代码?

  5. 如何开展自动化测试框架的构建?

  6. 如何设计自动化测试用例:

  7. webdriver 如何开启和退出一个浏览器?

  8. 什么是自动化测试框架?

  9. Selenium 是什么,流行的版本有哪些?

  10. 你如何从命令行启动 Selenium RC?

  11. 在我的机器端口 444 不是免费的。我怎样才能使用另一个端口?

  12. 什么是 Selenium Server,它与 Selenium Hub 有什么不同?

  13. 你如何从 Selenium 连接到数据库?

  14. 你如何验证多个页面上存在的一个对象?

  15. XPath 中使用单斜杠和双斜杠有什么区别?

  16. 如何编写 Selenium IDE/ RC 的用户扩展?

  17. 如何在页面加载成功后验证元素的存在?

  18. 你对 Selenium Grid 有什么了解?它提供了什么功能?

  19. 如何从你的 Java Class 启动 Selenium 服务器?

  20. Selenium 中有哪些验证点?

  21. 什么是 XPath?什么时候应该在 Selenium 中使用 XPath?

  22. 什么是 Selenium 的 CSS 定位器策略?用例子来解释。

  23. 当有很多定位器时,如 ID、名称、XPath. CSS 定位器,我应该使用哪一个?

  24. 在 Selenium 中处理多个弹出窗口的机制是什么?

  25. 你如何处理使用 Selenium 的 Ajax 控件?

  26. Selenium Webdriver 优于 Selenium RC 的优点是什么?

  27. "GET'和"NAVIGATE"方法的主要区别是什么?

  28. 隐式等待与显式等待有什么不同?

  29. 你将如何处理 Selenium WebDriver 中的警报/弹出窗口?

七、性能测试 15 道

  1. 性能测试有哪些分类

  2. 你认为性能测试的目的是什么?做好性能测试的工作的关键是什么?

  3. 服务端性能分析都从哪些角度来进行?

  4. 如何理解压力测试,负裁测试以及性能测试?

  5. 如何判断是否有内存泄漏及关注的指标?

  6. 描述软件产“生内存泄露的原因以及检查方式。(可以结合- 种开发语言进行描述)

  7. 简述什么是值传递,什么是地址传递,两者区别是什么?

  8. 什么是系统瓶颈?

  9. ...


八、loadrunner 80 道


  1. LoadRunner 的工作原理是什么?

  2. LoadRunner 分哪三部分?

  3. LoadRunner 进行测试的流程?

  4. 什么是并发?在 lordrunner 中,如何进行并发的测试?集合点失败了会怎么样?

  5. LoadRunner 脚本如何录制和编写?

  6. LoadRunner 中的 Think Time 有什么作用?

  7. 在搜索引擎中输入汉字就可以解析到对应的域名,请问如何用 LoadRunner 进行测试..

  8. 台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别?

  9. 客户交付一个性能测试项目,请阐述你的实施流程。

  10. 解释 5 个常用的性能指标的名称与具体含义。

  11. 写出 5 个 Loadrunner 中常用函数,并对其中 2 个举例说明用法。

  12. 简述 LoadRunner 的工作原理?

  13. 什么是集合点?设置集合点有什么意义? LoadRunner 中设置集合点的函数是哪个?

  14. HTML-based script 与 URL based script 的脚本有什么区别?

  15. 如何设置 LaodRunner 才能让集合点只对一半的用户生效?

  16. LoadRunner 的 Controller 组件中 Pacing 参数的作用是什么?

  17. LoadRunner 中如何监控 Windows 资源?

  18. 如果让 QALoad 模拟 LoadRunner 中只对关注的性能点进行迭代测试,你有什么好方..

  19. 什么是负载测试?

  20. 什么是性能测试?

  21. 说明负载测试过程?

  22. 我们什么时候做负裁和性能测试?

  23. 什么是 LoadRunner 的组件?

  24. 你用 LoadRunner 的哪个组件录制脚本?

  25. 在多用户模式下你用 LoadRunnner 的哪个组件来回放脚本?

  26. 在多用户模式下你用 LoadRunnner 的哪个组件来回放脚本?

  27. 什么是场景


九、计算机网络 45 道


1. 为什么需要三次握手?两次不行?

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

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

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

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

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

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

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

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

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

11. IP 地址有哪些分类?

12. GET 请求中 URL 编码的意义

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

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

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

16. 简单说下 HTTPS 和 HTTP 的区别

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

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

19. ARP 协议的工作原理?

20. TCP 的主要特点是什么?

21. UDP 的主要特点是什么?

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

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

24. 保活计时器的作用?

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

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

27. 谈谈你对 ARQ 协议的理解?

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

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

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

31. 什么是粘包?

32. TCP 黏包是怎么产生的?

33. 怎么解决拆包和粘包?

34. forward 和 redirect 的区别?

35. HTTP 方法有哪些?

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

37. DNS 的解析过程?

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

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

40. HTTPS 的工作过程?

41. HTTP 和 HTTPS 的区别?

42. HTTPS 的优缺点?

43. 什么是数字签名?

44. 什么是数字证书?

45. Cookie 和 Session 有什么区别?


十、逻辑题 32 道

  1. 烧一根不均匀的绳,从头烧到尾总共需要 1 个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?

  2. 你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?

  3. 如果你有无穷多的水,一个 3 公升的提捅,一个 5 公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出 4 公升的水?

  4. 一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。请问应该怎么问?

  5. 12 个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球呢?(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑)

  6. 在一天的 24 小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的?

  7. 已知:每个飞机只有一个油箱,飞机之间可以相互加油(注意是相互,没有加油机)一箱油可供一架飞机绕地球飞半圈,问题:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)

  8. 已知:每个飞机只有一个油箱,飞机之间可以相互加油(注意是相互,没有加油机)一箱油可供一架飞机绕地球飞半圈,问题:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)

  9. 已知:每个飞机只有一个油箱,飞机之间可以相互加油(注意是相互,没有加油机)一箱油可供一架飞机绕地球飞半圈,问题:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)


十一、人力资源 16 道

  1. 你的测试职业发展是什么?你自认为做测试的优势在哪里?

  2. 你找工作时,最重要的考虑因素为何?

  3. 为什么我们应该录取你?

  4. 请谈谈你个人的最大特色。

  5. 一个测试工程师应具备那些素质和技能?

  6. 还有问一-下你是怎样保证软件质量的,也就是说你觉得怎样才能最大限度地保证软件质...

  7. 为什么选择测试这行?

  8. 为什么值得他们公司雇用?

  9. 如果我雇用你,你能给部 i 门带来什么贡献?

  10. 如何从工作中看出你是个自动自觉的人

  11. 你的工作通常能在时限内完成吗. (我想问一下就是她问这 个问题的动机是什么)

  12. 通常你对于别人批评你会有什么样的反应

  13. 如果明知这样做不对,你还会依主管的指过去做吗?

  14. 你在五年内的个人目标和职业目标分别是什么?

  15. 你怎样做出自己的职业选择?

  16. 离职时候发工资多少?

  17. ...


由于文章篇幅问题,面试题和答案也放不上来,需要全部的面试题或者要答案的——【戳一戳】即可免费获取~



举报

评论 33

用户头像

Java你猿哥

关注

一只在编程路上渐行渐远的程序猿 2023-03-09 加入

关注我,了解更多Java、架构、Spring等知识

评论

发布
暂无评论
字节速通!这份软件测试八股文还怕不能拿offer?你值得拥有_MySQL_Java你猿哥_InfoQ写作社区