测试/测试开发高频面试问题总结

生活就像海洋,只有意志坚强的人才能到达彼岸。

序言

这篇帖子总结了我在校招面试测试或测开岗位当中遇到的高频问题,还有一些是从牛油的面经中总结出来的,面试复习的时候可以按照这些高频问题重点复习。
图片说明
⭐代表出现的频率,⭐越多频率越高

计算机网络

计网算是测试/测开基础知识中问的比较多的一部分,这块一定要重点复习。

1.说一下七层网络模型,说一下四层网络模型,它们之间有什么区别和联系?⭐
2.说一下tcp和udp的区别,各自的应用场景?⭐⭐⭐
3.tcp是如何保证可靠传输的?⭐⭐⭐⭐
4.说一下tcp的流量控制和拥塞控制?⭐⭐
5.说一下tcp的三次握手和四次挥手(可以延伸回答握手为什么不两次或四次,挥手不三次)?⭐⭐⭐
6.说一下在浏览器输入www.xxx.com后会发生什么?⭐⭐⭐⭐⭐
7.http和https的区别?⭐⭐⭐
8.http与tcp的区别?⭐⭐
9.https是如何保证安全的?⭐⭐⭐⭐
10.说一下http报文的格式?⭐⭐
11.说几个常见的状态码?301和302的区别?⭐⭐⭐
12.http1.0,http1.1, http2.0的发展历程,各个版本有什么区别和联系?⭐⭐
13.http请求报文首部字段和响应报文首部字段?⭐⭐
14.get和post的区别,post和put的区别?⭐⭐⭐⭐
15.cookie和session的区别和联系?⭐⭐⭐⭐⭐
16.ip地址和mac地址的区别和联系,为什么有了ip地址还要有mac地址(为什么有了mac地址还要有ip地址)?⭐⭐⭐
17.说一下dns解析的过程?⭐⭐

数据库

数据库这块问的其实也不算多,大多数都是问一下简单的概念,然后手撕SQL题。

1.关系型数据库和非关系数据的区别?⭐⭐⭐
2.说一下事务的特点和它的使用场景?⭐⭐⭐⭐
3.说一下MySQL中事务隔离级别和各隔离界别会出现的问题?⭐⭐⭐
4.说一下索引是什么,有什么优点和缺点?⭐⭐⭐⭐
5.索引的数据结构,为什么要用B+树?⭐⭐⭐
6.索引设计原则和索引失效场景说一下?⭐⭐⭐
7.InnoDB和MyISAM索引的区别?⭐⭐
8.怎么排查慢SQL?⭐⭐⭐
9.视图是什么?⭐⭐
10.数据库的锁?乐观锁和悲观锁的区别?⭐⭐
11.说一下mvcc?⭐⭐
12.drop,delete,truncate的区别?⭐⭐
13.char,varchar的区别?char(2)与char(10)的含义和区别?int(2)和int(10)的含义和区别?⭐⭐⭐
14.什么是内连接和外连接?左连接和右连接之间的区别?⭐⭐
15.数据库三大范式说一下?⭐
16.having和where的区别?group by 和 order by的区别?⭐⭐⭐
17.手写SQL(一般不会太难,练熟练就行)。⭐⭐⭐⭐⭐牛客SQL练习链接

操作系统

操作系统问的很少,基本都是问一下进程线程的区别就过了。

1.进程,线程,协程?⭐⭐⭐⭐⭐
2.进程间通信?⭐⭐
3.线程间同步?⭐⭐
4.说一下死锁,四个必要条件,如何解决死锁?⭐⭐⭐
5.为什么需要虚拟内存?⭐⭐⭐
6.内存泄漏,内存溢出?⭐⭐
7.用户态,内核态?⭐⭐

Linux命令

Linux命令的参数最好也记一下,比如top后面的参数都是什么含义。

1.说几个你常见的Linux命令?⭐⭐⭐⭐
2.怎么查看系统的负载?⭐⭐⭐⭐
3.如何查看日志文件后n行?如何动态实时查看日志?⭐⭐⭐
4.怎么查看进程?⭐⭐
5.怎么查看端口是否被占用?⭐⭐⭐
6.在文件中查找某个字符?⭐⭐
7.在目录中查找某个文件?⭐⭐
8.如何杀死一个进程?kill -9 和kill -15的区别?⭐⭐⭐⭐
9.怎么删除一个目录?删除一个文件?⭐⭐
10.解压缩文件命令?⭐
11.统计一个单词在文件中出现的次数?⭐⭐⭐

数据结构与算法

这块不会问的很深,算法题也基本都是mid及以下,一般写完算法后会叫你给算法设计测试用例

1.说一下你经常使用的数据结构?⭐⭐
2.数组和链表的区别?⭐⭐⭐⭐⭐
3.堆和栈的区别?栈和队列的区别⭐⭐
4.用常见数据结构实现栈和队列?⭐⭐
5.常见排序算法(考的比较多的是冒泡,快排,堆排和归并排序),二叉树的各种遍历,链表的各种操作这些常见的一定滚瓜烂熟。如果新手的话,建议把剑指offer和LeetCode hot100 刷完,多刷几遍,应对测试/测开的校招面试应该是没有问题的。另外一些公司的高频的手撕题都可以在codetop上查看,每次面试前都可以重点看一下。

编程语言

编程语言这块也不会问的太难,我主要使用的是Java,下面是一些Java常问的问题。

1.说一下你对面向对象的理解?⭐⭐⭐
2.多态怎么理解?⭐⭐⭐
3.String、StringBuffer、StringBuilder的区别?⭐⭐
4.说一下Java中的集合框架,它们有什么区别?⭐⭐⭐
5.ArrayList和LinkedList的区别?⭐⭐
6.Java里有哪些线程安全的集合,说一下它们的区别?⭐⭐
7.谈一下你对反射的理解?⭐⭐
8.集合各种操作的时间复杂度,ArrayList,LinkedList,HashMap等?⭐⭐
9.HashMap的底层,ConcurrentHashMap的底层?⭐⭐⭐
10.说一下线程池,有什么好处?⭐⭐⭐⭐
11.Java中创建一个线程有哪几种方式?⭐⭐⭐
12.java的运行时数据分区说一下?⭐⭐⭐
13.synchronized和volatile的区别?⭐⭐⭐
14.synchronized和ReentrantLock的区别?⭐⭐⭐
15.synchronized锁升级介绍一下?⭐⭐
16.介绍一下垃圾回收?⭐⭐⭐⭐
17.垃圾回收主要回收哪些区域?⭐⭐⭐
18.怎么判断一个对象是否可回收?⭐⭐⭐
19.说一下垃圾回收算法和垃圾收集器?⭐
20.双亲委派模型介绍一下,可以打破吗?⭐
(下面是框架范围了,如果简历中没有写的话,应该是不会问的)
21.介绍一下Spring Boot?⭐⭐⭐⭐
22.Spring, Spring MVC和Spring Boot的区别?⭐⭐⭐
23.介绍一下IOC和AOP?⭐⭐⭐

测试相关

这部分挺重要的,这是面试官判断你适不适合这个岗位很重要的一个因素,这也是我的一个弱项,每次回答完面试官都说“就这,还有吗”,然后gg。

1.说一下你了解的测试方法?⭐⭐⭐⭐
2.说一下软件测试流程?⭐⭐⭐⭐
3.什么是性能测试,性能测试的指标?⭐⭐⭐
4.给一个东西或场景,设计测试用例?(几乎所有面试都会问到)⭐⭐⭐⭐⭐⭐

这块要多看多总结,尽量发散自己的思维。基本上是从功能,性能,界面,安全性,兼容性,易用性等多方面考虑才能设计出相对完整的测试用例。

  • 微信语音,微信视频,微信置顶,微信朋友圈点赞,评论,微信红包,微信支付,扫码等。
  • 水杯,电梯,笔,洗衣机,桌子椅子,ATM机,自动售货机等。
  • 登录页面,百度首页,上传文件,搜索框等。
  • 抖音上下滑动视频,B站弹幕等。

5.问题定位与排查⭐⭐⭐

  • web页面空白课原因排查?(高频)
  • 某地区用户反映抖音刷不了视频怎么排查?分析一下联通用户反映刷抖音无显示的原因?有用户反映发布视频功能用不了怎么排查?
  • 淘宝下订单失败怎么排查?
  • app闪退的原因?
  • 如何确定一个bug是前端问题还是后端问题?

6.为什么做测试,为什么不选开发?⭐⭐⭐⭐⭐⭐
7.如何理解测试和测试开发?⭐⭐⭐⭐
8.你做测试有什么优势?⭐⭐⭐⭐
9.如果在测试中发现一个bug,但是开发却不认为这是一个bug,应该怎么办?⭐⭐⭐⭐⭐
10.如果测试过程中发现需求有漏洞怎么办?如果产品觉得该功能不重要怎么办?⭐
11.和领导意见不一致怎么办,如何处理同事间矛盾?⭐
12.职业规划?⭐⭐⭐⭐

智力题

这是近几年国内公司比较喜欢问的一类问题,一般都是二面三面的leader面的时候会出,据说可以考察一个人聪不聪明,然而实际上却是如果之前见过这类问题,面试的时候可以秒,没见过类似的,基本就没思路,就会被leader认为你不够聪明,结果就是凉凉。

这里推荐一下一位牛油总结的智力题面试常问智力题40道(逻辑题)+ 参考答案

最后,希望大家在准备面试的时候可以自己总结答案,只有自己总结过这样记忆才会更深刻,上面的高频问题都搞懂加上自己做的项目可以讲清楚,基本上大部分面试都没问题了,还有一些只能靠运气了...。

#面试高频考点汇总##测试##Java##面经#
全部评论
感谢楼主的分享,题目整理的很详细。
1 回复
分享
发布于 2022-04-08 18:42
请问这个问题的答案哪里找,感觉测试相关的问题都找不到
1 回复
分享
发布于 2022-05-07 22:17
联想
校招火热招聘中
官网直投

相关推荐

37 300 评论
分享
牛客网
牛客企业服务