面向面试学习,全网最齐全的软件测试面试题(含答案)

做测试的,我整理的真的很用心了,能找的新鲜面经都找了。

一面

1. 自我介绍

2. 面向对象的三种特性 集成用到了哪些特性 多态的具体使用场景 设计模式中的多态体现(手撕)

封装:将属性私有化;封装的意义:保护或者防止代码(数据)被我们无意中破坏。

保护成员属性,不让类以外的程序直接访问和修改;隐藏方法细节

继承:主要实现重用代码,节省开发时间。

多态的定义:不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。

多态实现“

酒 a = 剑南春

酒 b = 五粮液

酒 c = 酒鬼酒

策略模式:策略模式定义了一系列算法,并将每一个算法封装起来,而且使它们还可以相互替换。

3. java基础 堆和栈 String和StringBuffer 区别 在堆中怎么分配 有几个对象

栈:主要存放了编译器可知的各种数据类型(boolean、byte、char、short、int、float、long、double)、对象引用。

堆:存对象

String不可变StringBuffer可变

创建 1 或 2 个对象。

如果池中已存在字符串常量“abc”,则只会在堆空间创建一个字符串常量“abc”。

如果池中没有字符串常量“abc”,那么它将首先在池中创建,然后在堆空间中创建,因此将创建总共 2 个字符串对象。

4. java集合 hashmap 手撕实现put 和get方法

计算该去的位置:重点就是取个模

put大概思路要知道

Get:先计算出来位置,然后就去对应的链表找

5. java gc回收三种算法

标记-清除

从根对象出发,进行标记,也就是将这些根对象能够引用到的那些对象都作上标记。然后清除。

引用计数

有人引用就+1,释放就-1,到0就销毁。

GC 复制算法

最原始的做法就是将内存一分为二,每次只使用其他一半,当要 GC 时就将使用的一半中的活动对象复制到另外一半,然后清理这一半中的所有对象,直接使用另外一半即可,重复这个操作。

6. 网络基础 tcp三次握手

第一次:发送请求

第二次:告诉对方受到了请求并同意

第三次:告诉对方收到了你的同意,可以开始了。

7. 数据库查询 更新 删除语句 inner join left join right join区别

总结:内连接:只取两边能匹配的。

左连接:左边存在,右边不存在的也取

右连接和左连接相反

8. 索引 使用场景

加速有序表的查找速度

9. 项目中的难点

10. 为什么选择测试开发

11. 面试官介绍部门以及工作

12. 3-5年职业规划

一面

1. 自我介绍 项目

2. 算法 字符串匹配 截取 手撕 写测试用例 测试用例的设计方法

3. Java 多线程实现方式 runnable thread 区别 线程的几种状态 状态切换

优点:编写简单,如果需要访问当前线程直接使用this即可获得当前线程.

缺点:因为线程类已经继承了Thread类,不能再继承其他的父类

优点:线程类只实现了Runable接口,还可以继承其他的类.

缺点:编程稍微复杂,需要访问当前线程,必须使用Thread.currentThread()方法

4. 数据库 delete drop truncate区别

DELETE是每次删除一行,并且将该行的删除操作记录在日志中保存以便进行回滚操作。

TRUNCATE TABLE删除所有的数据,不把删除操作记录记入日志,是不能恢复的。

DELETE操作不会减少表或索引所占用的空间。

当表被TRUNCATE 后,这个表和索引所占用的空间会恢复到初始大小,

drop语句将表所占用的空间全释放掉。

如果想删除部分数据用delete;

如果想删除表用drop;

如果想保留表而将所有数据删除用truncate;

5. 索引 使用场景 数据库查询优化(有几亿条记录的表优化,分库,分表,按什么标准做划分标准)

6. 唯一索引和主键索引的区别

主键索引一定是唯一索引,唯一索引不一定是主键索引,

唯一索引可以为空,主键索引不能为空

7. HTTP和HTTPs的区别 HTTPs原理 SSL 证书 对称密钥(会话密钥) 非对称密钥

http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议

http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

8. HTTP请求头部字段有哪些

9. HTTP 状态码 301和302 区别

301和302状态码都表示重定向,就是说浏览器在拿到服务器返回的这个状态码后会自动跳转到一个新的URL地址。

301表示旧地址A的资源已经被永久地移除了(这个资源不可访问了),;

302表示旧地址A的资源还在(仍然可以访问)

10. Web请求的过程

11. ping ICMP协议 ping 的过程 放弃

12. TCP和UDP的应用场景 QQ聊天软件使用的协议是什么

Tcp可靠传输:比如传文件

Udp不可靠:比如qq聊天有时候感叹号

13. Linux命令 | 管道命令

14. 学习方法

二面

自我介绍

为啥要做测开

测试方法

测试流程

代码题反转字符串

你会

之前测试遇到过什么亮点

找到的bug开发不承认咋办

学一门语言需要多久

有啥问题要问

三面

问了项目,项目是做什么的,用户是谁,你在里面扮演了什么角色

对测试开发的理解

如果测出了一个bug,去给开发说,开发说不是bug,咋地整

http请求头内容

状态码405

405表示请求的方式不对,请求的方式有get、post、head、put……常用的为post和get

put和post区别

幂等性概念:幂等通俗来说是指不管进行多少次重复操作,都是实现相同的结果。

GET,PUT,DELETE都是幂等操作,而POST不是,以下进行分析:

首先GET请求很好理解,对资源做查询多次,此实现的结果都是一样的。

PUT请求的幂等性可以这样理解,将A修改为B,它第一次请求值变为了B,再进行多次此操作,最终的结果还是B,与一次执行的结果是一样的,所以PUT是幂等操作。

同理可以理解DELETE操作,第一次将资源删除后,后面多次进行此删除请求,最终结果是一样的,将资源删除掉了。

POST不是幂等操作,因为一次请求添加一份新资源,二次请求则添加了两份新资源,多次请求会产生不同的结果,因此POST不是幂等操作。

数据库分页,limit 3 5的意思

从第三条往后取10条

tomcat配置

手撕,给一个字符串“王先生手机180住在A座302号”,把不同类型的连续字符分别存储,比如a1=王先生手机,a2=180等等,遍历这个存储结构可以得到原字符串

按格分割成一段一段的,存到不同的属性里

一面

1、自我介绍2、手撕代码:给一个整型数组,将正数放在左边,负数放在右边;

和快排类似,复习一下

3、刚才写的代码时间复杂度、空间复杂度都是多少?

4、如何优化刚才写的代码

这就是最优了优化不了了,笨蛋是开两个新数组,负的放第一个数组,正的放第二个数组。最后再放回开始的数组里,这是浪费空间的

5、站在一个测试人员的角度,如何测试刚才所写的代码

6、三次握手

7、integer和int的区别

Integer是int的包装类,int则是java的一种基本数据类型

Integer变量必须实例化后才能使用,而int变量不需要

Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值

Integer的默认值是null,int的默认值是0

8、static关键字

修饰的方法和属性属于类本身,所有对象共享

9、项目难点,以及怎么解决的

10、简历上写的项目怎么做的测试;

11、你认为测试开发是做什么的?

12、问实习相关的工作

13、你有什么想问我的?

一二三四面

1.自我介绍

2.讲项目,讲项目流程

3.项目数据和代码怎么分离的,怎么驱动的(说的不好,感觉没get到点)

3.http用了哪些方法,post,put的区别,put,get的区别

4.https区别,https为什么是安全的,知道哪些加密算法(不懂了,说知道SSL层原理,讲了一下)

5.fiddler怎么抓https包的

还有好多,忘记了反正问的很详细

二面:

1.自我介绍

2.项目讲了一下,很详细的聊了一下项目,项目人员组成,你有没有觉得哪一环节可以优化的

3.jenkins怎么集成的,怎么触发的

4.为什么选ROBOT Framework框架,优缺点是什么

5.接口自动化测试接口输入参数填错时候是什么情况,怎么处理的(这块答得不好不是很懂,瞎扯了一会)

6.写代码:目录A,遍历这个文件夹,找出所有.txt文件,异常情况考虑

7.写代码:abcd反转成dcba,能写多少种方法,写了三种,姐姐让再想想,想不出来了,说可以入栈出栈的方式

8.二分查找思想说一下,代码写一下,有没有异常情况的处理

9.写代码:统计字符串abcdaa123每个字符出现的次数

10.python常用哪些类库

11.python常用数据结构讲一下,特点讲一下

12.linux 查看所有java的进程什么语句, ps -ef | grep 'java',写了不对,改了两遍才写对了,问|是什么,说了管道

查看日志怎么查看的(不会)

查看两台服务器是否连通什么语句,说了ping,还知不知道其他的,不懂了

服务器A上的文件拷贝到B,什么语句(不懂,以前用过忘记了,哭)

同一个服务器上文件夹A的拷贝到B cp

13.数据库三种删除关键字说一下 delete,truncate,drop讲了一下,此时嗓子已哑~~

14.http请求包包含哪些内容,说的不好只记得一些

15.http1.0 http1.1啥区别,讲了一下,顺便讲了长连接和短连接的区别

16.一个URL包含哪些内容,说了协议,域名或者IP,文件名路径名

17.cookies session 区别说一下 你项目里怎么存cookies的,告诉他没用过,自己做过token验证的

18.对测试框架有没有优化的,跟他说发现过问题但是没有优化开源的框架,但是优化过自己的代码,说了下函数式编程

19.实习中发现什么有意义的bug没有

20.用fiddler干嘛的,说了过滤包,抓手机包

21.浏览器兼容性测试做过哪些,哪些浏览器,有什么特点,市面上浏览器列举了一下,特点就不懂了,说了一下发现过的浏览器兼容性测试的bug,问怎么解决的,说不太懂底层原理

22.微信登录页面怎么测试,从哪些方面测试,具体说下功能测试

23.美团一个提交订单的页面,怎么测试的

三面:

1.自我介绍,项目,项目人员组成

2.python用过哪些库

3.python中is 和==什么区别

4.函数重载是什么,代码写一下(说的好像不准确,代码没写出来,换了写初始化的)

5.python 初始化一个类代码写一下

6.python写一下99乘法表

7.写完了对代码设计测试用例(好难,讲的不好)

8.还有一个代码题忘记了

9.MYSQL题目,找出每个科目的平均分,平均分大于90的科目,这个地方写的很差,在面试官不断指导下改正,有段时间没用了,写的不行,哭

10.sql注入什么样子,举个例子,写了一种代码,问还知道其他的不,不知道了,跟他说了一下sql注入原因

11.平时怎么学习的 跟他说书和博客,看谁的博客,说了阮一峰,廖雪峰

12.最近看哪些书,大学学最好的课程是啥,说了计算机网络,这本书讲什么的,跟他说了第一章到第十章每章讲的什么

从这本书学到什么了,说了协议

13.http状态码说一下,从100说到4XX被停了,问 你咋还记得怎么清楚,是不是背书了....

委屈,记得清楚也不行了,告诉他项目常用, 我就多了解了很多(没错其实我就是背书了)

14.平时怎么学的PYTHON,说了python基础教程,博客,传智播客的视频,选择性学习

15.你觉得怎么可以减小开发中出现的错误(答得不好,纯胡扯)

16.美团常用吗,蠢了说不太常用,常用大众点评,哭戚戚

用大众点评干嘛的,答了各种吃喝玩乐啊~

17.职业规划说一下,说了五年的,说你想的倒是很长远啊,那你觉得做leader需要什么

18.扯了会校园生活

19.有什么要问的

HR面:

1.自我介绍

2.大学经验

3.概括自己的优缺点,讲了一下

4.天赋和努力什么重要,过程和结果什么重要

5.讲了下大学经验,各种社团活动

6.你怎么平衡活动和学习

7.你有对做过等活动review吗

8.了解了基本情况

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/158255.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue路由 replace属性 控制浏览记录不能前进或后退

默认是push模式 表示页面一直增加&#xff0c;用户可以操作返回上一个页面 replace 模式 <router-link replace :to"{path:/user,query:{ id:123,age:666 }} ">跳转用户</router-link><!--replace true表示浏览器不能后退浏览记录-->

视觉BEV基本原理和方案解析

BEV(Bird’s-Eye-View)是一种鸟瞰视图的传感器数据表示方法&#xff0c;它的相关技术在自动驾驶领域已经成了“标配”&#xff0c;纷纷在新能源汽车、芯片设计等行业相继量产落地。BEV同样在高德多个业务场景使用&#xff0c;例如&#xff1a;高精地图地面要素识别、车道线拓扑…

Attention Transformer

来源老师课件&#xff0c;方便以后复习。 课参考链接&#xff1a; http://jalammar.github.io/illustrated-transformer/ 之前的知识链接&#xff1a; 【知识链接】WGAN Transformer Vit Swin-Transformer Swin-Unet Res-Vit TransUNet MAE Bra ADDA 打分函数&#xff1a; 多头…

【413.等差数列划分】

目录 一、题目描述二、算法原理三、代码实现 一、题目描述 二、算法原理 三、代码实现 class Solution { public:int numberOfArithmeticSlices(vector<int>& nums) {int nnums.size();if(n<3) return 0;vector<int> dp(n);dp[2]dp[1]dp[0]0;if(nums[2]-nu…

【目标检测】基于yolov5的铝型材表面缺陷检测(附代码和数据集,Ubuntu或者Linux系统均可运行)

写在前面: 首先感谢兄弟们的关注和订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。(专栏订阅用户订阅专栏后免费提供数据集和源码一份,超级VIP用户不在服务范围之内) 路虽远,行则将至;事虽难,做…

Nacos在Windows本地安装并启动教程

Nacos在Windows本地安装并启动教程 Nacos注册中心和Eureka是两种常见的服务注册与发现组件&#xff0c;它们在以下方面存在一些区别&#xff1a; 开源项目&#xff1a;Nacos是阿里巴巴开源的项目&#xff0c;而Eureka是Netflix开源的项目。 功能特性&#xff1a;Nacos在服务注册…

实验二 Python运算符和内置函数的使用《Python程序设计》实验指导书

实验二 Python运算符和内置函数的使用 一、实验目的和要求 &#xff08;一&#xff09;熟练掌握运算符的使用。 &#xff08;二&#xff09;熟练掌握内置函数的使用。 二、实验内容 &#xff08;一&#xff09;输入三角形的3个边长a、b、c&#xff0c;求三角形的面积area…

YOLO目标检测——机油泄露检测数据集下载分享【含对应voc、coco和yolo三种格式标签】

实际项目应用&#xff1a;机械设备维护、工业生产监控、环保监管等数据集说明&#xff1a;机油泄露检测数据集&#xff0c;真实场景的高质量图片数据&#xff0c;数据场景丰富标签说明&#xff1a;使用lableimg标注软件标注&#xff0c;标注框质量高&#xff0c;含voc(xml)、co…

go语言 | 图解字节青训营抖音(一)

前言 本文大致介绍了本人及本人所在小组为第五届字节跳动青训营后端专场大项目需求 —— 「实现一个极简版抖音」的部分实现细节。 需求 本届后端青训营大项目要求实现一个极简版抖音的后端服务&#xff0c;该后端服务通过 HTTP 协议向已被设计好的前端 App 传递数据&#xf…

【漏洞复现】IP-guard WebServer 远程命令执行

漏洞描述 IP-guard是一款终端安全管理软件,旨在帮助企业保护终端设备安全、数据安全、管理网络使用和简化IT系统管理。互联网上披露IP-guard WebServer远程命令执行漏洞情报。攻击者可利用该漏洞执行任意命令,获取服务器控制权限。 免责声明 技术文章仅供参考,任何个人和…

Android平台 - APP备案

今年因 工业和信息化部 要求&#xff0c;Andorid各大厂商陆续发出通知&#xff0c;需要各应用公司及时进行app备案&#xff0c;如过期未进行备案则会被陆续下架&#xff01; 正好在统计Andorid各平台对于app备案时间节点要求&#xff0c;故此予以总结&#xff08;一切均已平台为…

亚马逊美国站CPC认证ASTM F963测试项目要求有哪些?

ASTM F963是美国材料和试验联合会&#xff08;ASTM&#xff09;制定的儿童玩具安全性的标准规范&#xff0c;专门针对儿童玩具产品的安全性进行了规定和要求。 ASTM F963标准的内容和要求包括&#xff1a; 1、物理机械性能&#xff1a;规定了玩具的物理机械性能要求&#xff0…

cocos3.4.2 2d射线检测 和 animation动画

2D的射线检测 ,注:目标必须有2d刚体和2d碰撞器 ,且项目设置内必须是这个物理系统 //起点位置let objs new Vec2(this.node.getWorldPosition().x, this.node.getWorldPosition().y);// 终点 let obje new Vec2(objs.x 100, objs.y);// 射线检测let results PhysicsSystem2…

Python入门简介及下载安装,超详细教学!

文章目录 一、Python简介&#xff1a;Python解释器的类型Python的运行机制1、查看 Python 版本2、第一个Python3.x程序3、Python 应用 二、Python安装&#xff08;windows&#xff09;1、下载2、安装步骤&#xff1a; 三、运行Python1、交互式解释器&#xff1a;扩展&#xff1…

(预热2024最新)Java毕业设计、课程设计参考题目(全网最新 共计800多个)

临近期末或是毕业季&#xff0c;计算及专业的童鞋们最头疼的要数为毕设、课设选题目&#xff0c;不能太老旧、也不能太新颖&#xff08;无参考案例&#xff09;&#xff0c;慕代码为大家整理了近两年设计选题&#xff0c;让你直接上手开始选&#xff0c;省去了冥思苦想。从过来…

echarts 实现分割型柱状图示例

该示例有如下几个特点&#xff1a; ①实现数据过多时滚动展示&#xff08;echarts 数据过多时展示滚动条-CSDN博客&#xff09; ②实现tooltip自定义样式&#xff08;echarts 实现tooltip提示框样式自定义-CSDN博客&#xff09; ③鼠标放置时柱状图颜色更改 代码如下&#xff…

Android Fragment 要你何用?2.0版本

作者&#xff1a;小鱼人爱编程 1. 老生常谈&#xff1a;为什么需要Fragment? 先看Activity、Fragment、View三者的关系&#xff1a; Activity 拥有生命周期&#xff0c;但是需要和AMS通信(跨进程)&#xff0c;比较臃肿。 View 不需要和AMS通信&#xff0c;但没有生命周期&…

Ubuntu18.04安装Moveit框架

简介 Moveit是一个由一系列移动操作的功能包组成的集成化开发平台,提供友好的GUI,是目前ROS社区中使用度排名前三的功能包,Moveit包含以下三大核心功能,并集成了大量的优秀算法接口: 运动学:KDL,Trac-IK,IKFast...路径规划:OMPL,CHMOP,SBPL..碰撞检测:FCL,PCD... 一、更新功…

【PIE-Engine 数据资源】中国叶面积指数(LAI)月度合成产品

文章目录 一、 简介二、描述三、波段四、示例代码运行结果参考资料 一、 简介 数据名称中国叶面积指数&#xff08;LAI&#xff09;月度合成产品时间范围2002-2021年空间范围全国数据来源航天宏图代码片段var images pie.ImageCollection(“EMDO/MODIS_MONTH_LAI_CHINA”) 二…

Stable Diffusion进阶玩法说明

之前章节介绍了Stable Diffusion的入门&#xff0c;介绍了文生图的魅力&#xff0c;可以生成很多漂亮的照片&#xff0c;非常棒 传送门&#xff1a; Stable Diffusion新手村-我们一起完成AI绘画-CSDN博客 那我们今天就进一步讲讲这个Stable Diffusion还能做些什么&#xff0c; …