8年测开经验面试28K公司后,吐血整理出高频面试题和答案

#01、如何制定测试计划?

❶参考点
1.是否拥有测试计划的制定经验
2.是否具备合理安排测试的能力
3.是否具备文档输出的能力
❷面试命中率
80%
❸参考答案
测试计划包括测试目标、测试范围、测试环境的说明、测试类型的说明(功能,安全,性能,稳定性)、测试工具、模块的划分、测试负责人、测试执行轮次的时间安排、相关文档在文档管理库中的位置、测试的风险 。其中模块划分需要根据测试人员对于业务的熟悉程度及个人能力进行分配,工作量的估算需要根据以往测试时的经验,结合本次需求的修改,可以大致估算出测试量
#02、APP测试和web测试有什么区别?
❶参考点
1.对各种测试类型的掌握程度
2.对测试理论知识的掌握程度
❷面试命中率
90%
❸参考答案
Web端测试和移动端测试类型基本相似,都需要进行功能测试、性能测试、安全性测试,他们主要区分web端一般都是b/s架构,基于浏览器的,app是c/s架构,是有客户端的。
(1) 从系统架构来看的话:web测试只要更新了服务器端,客户端就会同步更新;而如果是app端下修改了服务端,意味着客户端用户所有使用的核心版本都需要进行回归测试一遍。
(2) 客户端性能方面:Web端可能只会关注响应时间;App则还要关心流量、电量、cpu、等;
(3) 兼容方面:Web是基于浏览器的,所以更倾向于浏览器(IE、Chrome、firefox)和电脑硬件,电脑系统方向的兼容;App测试则必须依赖于手机或者pad,不仅要看分辨率、频目尺寸、重要看设备系统。
#03、发现一个bug,怎么定位是APP端还是服务端的问题?

❶参考点
1.考察对测试基础的理解
2.考察实际工作中问题排查的能力
❷面试命中率
85%
❸参考答案
1、抓包分析 通过对客户端进行抓包,分析服务端返回的数据是否符合预期,如果服务端数据是正确的,那就是客户端的问题
2、日志分析 可以通过查看客户端/服务端的日志,分析有没有异常的日志信息,从而确定具体原因
#04、用一条SQL语句 查询出每门课都大于80分的学生姓名。表scores如下:
name course score
张三 语文 81
张三 数学 75
李四 语文 76
李四 数学 90
王五 数学 100
王五 英语 90

❶参考点
1.数据库查询
2.聚合函数
3.having筛选
❷面试命中率
89%
❸参考答案
学生的最低分数大于80,那么就可以查询出每门课都大于80分的学生姓名
select name,min(score) from scores group by name having min(score)>80);
#05、SQL中常用的聚合函数都有哪些?
❶参考点
1.考察SQL基础能力
2.考察常见的数据库函数
❷面试命中率
90%
❸参考答案
max():最大值
min():最小值
avg():平均值
sum():求和
count():统计总数
#06、主键、外键和索引的区别?
❶参考点
对数据库常用索引的理解
❷面试命中率
90%
❸参考答案
1)定义
主键:唯一标识一条记录,不能有重复的,不允许为空
外键:表的外键是另一表的主键, 外键可以有重复的, 可以是空值
索引:该字段没有重复值,但可以有一个空值
2)作用
主键:用来保证数据完整性
外键:用来和其他表建立联系用的
索引:提高查询排序的速度
3)个数
主键:只能有一个
外键:一个表可以有多个外键
索引:一个表可以有多个索引
#07、说几个工作中常用的Linux命令?

❶参考点
1.考察是否有Linux使用经验
2.考察对Linux的熟悉程度
❷面试命中率
95%
❸参考答案
-
cd:切换目录
-
ls:查看文件列表
-
cp:拷贝文件
-
mv:移动文件
-
rm:删除文件
-
chmod:设置文件权限
-
cat:浏览文件内容
-
vi:文件编辑
-
find:搜索文件
-
grep:过滤文件内容
#08、用过docker吗?常用的docker命令有哪些?

❶参考点
1.考察Devopts相关技术
2.考察是否具备docker实际使用经验
❷面试命中率
95%
❸参考答案
docker pull:拉取镜像
docker images:查看本地镜像
docker run:运行镜像为容器
docker ps:查看正在运行的容器
docker logs:查看容器日志
docker cp:拷贝容器文件
docker start/stop/restart:启动、停止、重启容器
#09、linux下查看/web.log第25行第三列的内容?
❶参考点
1.查看文件内容中的指定行指定列
2.常用的常看文件命令
❷面试命中率
70%
❸参考答案
常用的三种实现方式如下所示:
sed -n 25p /web.log | cut -d " " -f3
head -n25 /web.log | tail -n1 | cut -d " " -f3
awk -F " " 'NR==25{print $3}' /web.log
#10、pytest参数化怎么实现?
❶参考点
pytest对参数化的理解
❷面试命中率
90%
❸参考答案
使用@pytest.mark.parametrize装饰器
范例:
@pytest.mark.parametrize('字符串形式接收参数名', [(参数1-1, '参数2-1'), (参数1-2, '参数2-2')],ids=['第1条参数对应的用例名', '第2条参数对应的用例名'])
@pytest.mark.parametrize('goods_id,stock,exp', [(12, 1, '缺失规格'), ('商品编号', '1', '商品不存在或已删除')],ids=['不填写规格参数加购', '商品编号为异常值'])
#11、什么是PO模式,Po模式的优点是什么?
❶参考点
1.po模式理论
2.po模式分层思路
❷面试命中率
80%
❸参考答案
页面对象模型(PageObject)是一种设计模式,用来编写和维护自动化测试
Po模式的优点:
1、PO提供了一种业务流程与页面元素操作分离的模式,这使得测试代码变得更加清晰。
2、页面对象与用例分离,使得我们更好的复用对象。
3、可复用的页面方法代码会变得更加优化
4、更加有效的命名方式使得我们更加清晰的知道方法所操作的UI元素
如何编写PO模式:
1.抽象每一个页面
2.页面中元素不暴露,仅报错操作元素的方法
3.页面不应该有繁琐的继承关系
4.页面中不是所有元素都需要涉及到,核型业务元素做建模使用
5.把页面划分功能模块,在Page中实现这些功能方法
#12、使用jmeter如何做接口之间的关联?

❶参考点
1.是否熟悉jmeter
2.是否熟悉关联的业务场景
3.是否熟练关联所用到的组件
❷面试命中率
85%
❸参考答案
接口关联指的就是一个接口要使用另一个接口的返回值作为参数,在jmeter中针对不同的响应数据格式都有不同的处理组件,
json格式的采用json提取器,
xml或者html格式的采用xpath提取器,
其他格式的可以采用正则表达式提取器,
BeanShell后置处理器也可以从响应结果中提取响应内容,通过这些组件提取所需内容后,在需要关联的接口中引用变量即可完成关联
#13、说一下你知道的HTTP状态码,以及它们代表什么意思?

❶参考点
1.考察求职者对HTTP协议是否有一定了解
2.考察工作中常见HTTP状态码的含义
❷面试命中率
90%
❸参考答案
200(请求成功)
302(重定向)
400(Bad Request/错误请求)
401(Unauthorized/未授权)
403(Forbidden/禁止)
404(Not Found/未找到)
405(Method Not Allowed/方法未允许)
500(Internal Server Error/内部服务器错误)
502(Bad Gateway/错误的网关)
503(Service Unavailable/服务无法获得)
504(Gateway Timeout/网关超时)
#14、Tcp三次握手流程?
❶参考点
1.考察网络协议的理论基础
2.考察Tcp链接的创建过程
❷面试命中率
95%
❸参考答案
🤝第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认
🤝第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态
🤝第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。
#15、http和https的区别?
❶参考点
http协议和https协议
❷面试命中率
95%
❸参考答案
HTTP:超文本传输协议,是一个客户端和服务器端的请求和应答的标准。
HTTPS:是以安全为目标的HTTP通道,HTTP的安全版本,HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
他们的区别如下:
1. HTTP 信息是明文传输的,而 HTTPS 是安全的 具有安全性的ssl加密传输
2. HTTP 标准端口是 80 ,而 HTTPS 的标准端口是 443
3. HTTP 无需证书,而 HTTPS 需要认证证书.需要到CA申请证书,一般免费证书较少,因而需要一定费用。
绵薄之力【资源分享】
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】


这些资料,对于想进阶【自动化测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等配套学习资源免费分享~

相关文章:
8年测开经验面试28K公司后,吐血整理出高频面试题和答案
#01、如何制定测试计划? ❶参考点 1.是否拥有测试计划的制定经验 2.是否具备合理安排测试的能力 3.是否具备文档输出的能力 ❷面试命中率 80% ❸参考答案 测试计划包括测试目标、测试范围、测试环境的说明、测试类型的说明(功能,安全&am…...
spring读取properties顺序,重复key问题
最近搞个开源工具,涉及到配置问题。 举例 有个应用A工具,打成jar给人用。应用B引用了A的jar A应用里resources/sys.properties文件里有个coreSize1 B引用了A,期望修改coreSize的值,改成2 开始天真以为,B应用里有同…...
什么是api接口?(基本介绍)
API:应用程序接口(API:Application Program Interface) 应用程序接口是一组定义、程序及协议的集合,通过 API 接口实现计算机软件之间的相互通信。API 的一个主要功能是提供通用功能集。程序员通过调用 API 函数对应用程序进行开发,可以减轻编程任务。 …...
【2023全网最全教程】从0到1开发自动化测试框架(建议收藏)
一、序言 随着项目版本的快速迭代、APP测试有以下几个特点: 首先,功能点多且细,测试工作量大,容易遗漏;其次,代码模块常改动,回归测试很频繁,测试重复低效;最后&#x…...
3-5天炒股短线战法指标思想结合----超级短线源码无未来
超级短线以3-5个交易日获利3-5个点为目标,经过长期总结、实践、实盘操作编写的一个短线指标和思想! 如果你认为这一个指标像股市提款机一个,可以随意的赚钱,请你不要购买; 如果你你购买了指标又不想思考分析,想随意的赚…...
原始GAN-pytorch-生成MNIST数据集(代码)
文章目录原始GAN生成MNIST数据集1. Data loading and preparing2. Dataset and Model parameter3. Result save path4. Model define6. Training7. predict原始GAN生成MNIST数据集 原理很简单,可以参考原理部分原始GAN-pytorch-生成MNIST数据集(原理&am…...
注意,这些地区已发布2023年上半年软考报名时间
距离2023年上半年软考报名越来越近了,目前已有山西、四川、山东等地区发布报名简章,其中四川3月13日、山西3月14日、山东3月17日开始报名。 四川 报名时间:3月13日至4月3日。 2.报名入口:https://www.ruankao.org.cn/ 缴费时间…...
Html引入外部css <link>标签 @import
Html引入外部css 方法1: <link rel"stylesheet" href"x.css"> <link rel"stylesheet" href"x.css" /><link rel"stylesheet" href"x.css" type"text/css" /><link rel"sty…...
React源码分析8-状态更新的优先级机制
这是我的剖析 React 源码的第二篇文章,如果你没有阅读过之前的文章,请务必先阅读一下 第一篇文章 中提到的一些注意事项,能帮助你更好地阅读源码。 文章相关资料 React 16.8.6 源码中文注释,这个链接是文章的核心,文…...
如何在ChatGPT的API中支持多轮对话
一、问题 ChatGPT的API支持多轮对话。可以使用API将用户的输入发送到ChatGPT模型中,然后将模型生成的响应返回给用户,从而实现多轮对话。可以在每个轮次中保留用户之前的输入和模型生成的响应,以便将其传递给下一轮对话。这种方式可以实现更…...
华为OD机试模拟题 用 C++ 实现 - 猜字谜(2023.Q1)
最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 最多获得的短信条数(2023.Q1)) 文章目录 最近更新的博客使用说明猜字谜题目输入输出描述备注示例一输入输出示例二输入输出思路Code使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,...
Containerd容器运行时将会替换Docker?
文章目录一、什么是Containerd?二、Containerd有哪些功能?三、Containerd与Docker的区别四、Containerd是否会替换Docker?五、Containerd安装、部署和使用公众号: MCNU云原生,欢迎微信搜索关注,更多干货&am…...
java虚拟机中对象创建过程
java虚拟机中对象创建过程 我们平常创建一个对象,仅仅只是使用new关键字new一个对象,这样一个对象就被创建了,但是在我们使用new关键字创建对象的时候,在java虚拟机中一个对象是如何从无到有被创建的呢,我们接下来就来…...
3485. 最大异或和
Powered by:NEFU AB-IN Link 文章目录3485. 最大异或和题意思路代码3485. 最大异或和 题意 给定一个非负整数数列 a,初始长度为 N。 请在所有长度不超过 M的连续子数组中,找出子数组异或和的最大值。 子数组的异或和即为子数组中所有元素按位异或得到的…...
SpringBoot:SpringBoot配置文件.properties、.yml 和 .ymal(2)
SpringBoot配置文件1. 配置文件格式1.1 application.properties配置文件1.2 application.yml配置文件1.3 application.yaml配置文件1.4 三种配置文件优先级和区别2. yaml格式2.1 语法规则2.2 yaml书写2.2.1 字面量:单个的、不可拆分的值2.2.2 数组:一组按…...
QT 学习之QPA
QT 为实现支持多平台,实现如下类虚函数 Class Overview QPlatformIntegration QAbstractEventDispatcherQPlatformAccessibilityQPlatformBackingStoreQPlatformClipboardQPlatformCursorQPlatformDragQPlatformFontDatabaseQPlatformGraphicsBufferQPlatformInput…...
Pytorch中FLOPs和Params计算
文章目录一. 含义二. 使用thop库计算FLOPs和Params三. 注意四. 相关链接一. 含义 FLOPs(计算量):注意s小写,是floating point operations的缩写(这里的小s则表示复数),表示浮点运算数ÿ…...
DP1621国产LCD驱动芯片兼容替代HT1621B
目录DP1621简介DP1621芯片特性DP1621简介 DP1621是点阵式存储映射的LCD驱动器芯片,可支持最大128点(32SEG * 4COM)的 LCD屏,也支持2COM和3COM的LCD屏。单片机可通过3/4个通信脚配置显示参数和发送显示数据,也可通过指…...
Linux 用户管理
用户管理 useradd新增用户 格式:useradd [参数] 用户名称 常用参数: -c comment 指定一段注释性描述。 -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。 -g 用户组 指定用户所属的用户组…...
前端vue面试题(持续更新中)
vue-router中如何保护路由 分析 路由保护在应用开发过程中非常重要,几乎每个应用都要做各种路由权限管理,因此相当考察使用者基本功。 体验 全局守卫: const router createRouter({ ... }) router.beforeEach((to, from) > {// .…...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...
Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
