【测试工程师面试】详细记录 自己的一次面试

news2024/10/2 20:33:14

 【测试工程师面试】详细记录 自己的一次面试

目录:导读

Linux基础

Oracle基础

编程基础

测试的基础

面试的问题

扯闲话部分:


10点刚到,先进行笔试,笔试的题目很基础,涉及到linux,涉及到oracle数据库,涉及编程基础,涉及测试理论,但是你读完题目和写完也要是花时间的。我花了40分钟左右的时间才写完。

Linux基础

1. 查看a.txt文件中bbb字符串

grep 'bbb' a.txt

2. 改变a.txt的所属者为Lisa

chown Lisa:Lisa a.txt
chown Lisa a.txt 【只让改所属者,没让改所属组】

3.查看conrob进程的命令

ps -ef | grep conrob

4.vi命令下,向上移动光标,向下移动光标
上下左右 kjhl【这四个键盘很好记,右手习惯的几个键,h最左右所以向左,l最右边,jk是先下后上】

5.将文件a.txt排序生成b.txt

sort a.txt >b.txt

6. 不保存文件退出命令

末端模式下输入q!【Esc : q!】

7. 查找当前目录以及子目录下文件后缀是xxx的文件

find ./ -name *.xxx

8. 显示日期的命令

date

Oracle基础

【oracle数据库我好久没有遇到了,查询sql根据mysql和sqlserver写的,也不敢太用别名,怕错】

1.给a表创建联合索引 name+bb+cc

create index ind_name on tablea(name,bb,cc)

2.赋予用户alex update delete a表的权限

grant update,delete on tablea to alex

3.查看a表中的所有记录且姓名不在b表中的

select * from tablea where name not in (select distinct name from tableb) 

【我想了想加了个distinct在b表中】

4. 查询b表中的唯一的卡号

select cardnum from tableb group by cardnum 【起初不小心加了distinct,然后想想把它给划了】

5. 查询b表中币种是RMB且地区是深圳的贷款总和

select sum(amount) from tableb where city = 'shenzhen' and bizhong='RMB'

【起初没看到只要差RMB,还多此一举,
select bizhong, sum(amount) from where city = 'shenzhen' group by bizhong, 也不知道后来有没有多划掉】

6. 复制b表的结构到新表

create table tablec as select * from tableb where 1=2

【之前没印象,用的mysql格式CREATE TABLE 新表 LIKE 旧表 】

7. 查询b表中姓名和卡号,要求同一个卡号既有人民币消费,又有美金消费

select name, cardnum from tableb group by name, cardnum having count(*) >=2

【我做这样的题目有各种疑问,比如消费金额为0的记录,算不算?虽然解决办法很简单,加上一个where amount> 0 即可,
但是proc测试多了,一眼瞄过,对各个字段就不免想多了,
我10点钟才到,11点半吃饭,又怕做题太长,最终影响人家interviewer的情绪,也让我。。。】

8.用一个select查询表表中姓名和卡号,要求美金中显示2条消费最大的记录,rmb中显示两条最大的记录

select name , cardnum ,rownum from tableb where bizhong = 'dollor' and rownum<=2
order by amount desc
union all
select name , cardnum ,rownum from tableb where bizhong = 'rmb' and rownum<=2
order by amount desc

编程基础

1.java中==和equals的区别
==是表示值和内存地址完全一致
equals判断值是否相等

详细的判断https://www.cnblogs.com/qianjinyan/p/10553414.html

2.一个java中能有多个类吗?为什么?
一个.java源文件中可以有多个类吗?(内部类除外)有什么条件?
可以的
但是只能有一个public类, 而且如果有public类的话,这个文件的名字要和这个类的名字一样。
如果都没有public类,名字可以不和这个类一样。

3.将x/y/z 从大到小输出

int[] a ={x,y,z}
for (int i=0;i<a.length()-1;i++){
for (int j=0;j<a.length()-1;j++){
if (a[j]<a[j+1])
temp =a[j];
a[j]=a[j+1];
a[j+1] = temp;
}}

自己写错了,下面才是正确的。

int[] array = {1,8,0,3,4,2};
@Test
public void Test02() {
for(int i=0;i<array.length-1;i++){
for (int j = 0; j < array.length - 1 - i; j++) {
//后面的数大,往前放置,降序排列
//if(array[j+1]>=array[j]){
//后面的数小,往前放置,升序
if(array[j+1]<array[j]){
int temp = array[j+1];
array[j+1] = array[j];
array[j] = temp;
for(int a: array){
System.out.print(a + " ");}
}
System.out.println("第"+i+"的时候");}
}
for(int a: array){
System.out.println(a);}
}
@Test//利用Arrays中的Sort函数排序
public void ArraysSort() {
Arrays.sort(array); //默认升序排列
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}}

4. python2.1和python3.1的默认字符编码?

'ascii'
'utf-8'

猜也能猜到,但我懒得写。python的确不熟

5.python中分割aa_bb_cc,
s1="aa_bb_cc"
s1.split('_')

6.如何用python将整型1输出为0001

测试的基础

1. 软件测试的意义
2. bug的生命周期
3. 常见的测试方法
4. 你常用的自动化测试工具?
接口用Jmeter和httpClient
UI用 selenium和macaca
5. 一个文本框,输入6的字符,要求输入的年份在199001到204912月,要求前四位是年,后两位是月,请设计测试用例并说明

写完给HR打电话,之后直接一面。

面试的问题

1. 讲一个具体的接口,你是怎么测试的,怎么实现自动化的?
针对http接口进行测试,使用Jmeter工具实现。

Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做的比较成熟,因此,本次直接使用Jmeter工具来完成对Http接口的测试。

一、开发接口测试案例的整体方案:
我们起初会得到一个CR文档,CR文档里列出里客户此次的痛点和痒点,还有PM列出的解决方案。比如要开发什么接口,以达到什么目的。
这种接口是一次性使用,做活动用的,还是日常使用等等的说明。
第一步:CR文档下来之后,我会分析出测试需求,大概知道会怎么实现,对对CR有疑问的地方,做下标记;等到下次全项目开会,提出疑问,确保测试、开发和PM对需求的理解是一致的。会议上也会阐述大概的实现方式,涉及的表,是否用触发器,等等的问题。会议之后可以拿到开发提供的接口说明文档;
第二步:从接口说明文档中整理出接口测试案例,里面要包括详细的入参和出参数据以及明确的格式和检查点
第三步:和开发一起对接口测试案例进行评审。
第四步:结合开发库,准备接口测试案例中的入参数据和出参数据,并整理成csv格式的文件。
第五步:结合接口测试案例文档和csv格式的数据文档,做接口测试案例的自动化案例开发。

对于大一点的公司,用Jmeter编写自动化脚本,真的很low吧。我也觉得很low,但是不得不说完全够用,还极其容易上手。

对数据处理灵活,断言,数据落地,都可以查询和验证。

2. 端到端的测试你们做过吗?

3. 性能测试关注点是什么?

我们通常认为的规定的指标是:

服务器资源使用情况,不管是中间件服务器, 还是DB服务器,从内存,到CPU,不超过70%

从响应的结果来看,错误率不超过1%,甚至要求错误率更低;基本上实践当中,不超过0.1%;

平均响应时间不超过3秒,视查询条件而定,有的要求是不超过2秒;

90%的响应时间不超过3秒。

你们不看TPS吗?TPS知道吗?

也要看啊,我还没讲完呢。 每秒中的处理请求的数量啊~~

TPS是受木桶原理影响,要看每一处的配置的。【后悔没多说点,抬头对上interviewer的眼神,这个话题就完了】

扯闲话部分:

你们公司的开发测试的比例是怎样的?我们是 4:1?

你们公司系统的中间件是什么?

性能测试中,你有进行性能调优吗?

嗯,验证过很多接口,有的定量需求,比如要求某个接口的TPS达到500. 如果第一次性能测试,能达到500,也就够了,没有下文了;但是这个是注册接口,随着时间推移,DB服务器资源CPU到内存都吃的越来越紧,发现TPS下降了,之后越来越低。

什么原因造成的?

DB服务器的原因。这个一个nosql数据库,以前这个接口是能达到500TPS的,但是随着微信绑定推出unionid后,需要增加新的字段,新的表;而这种DB对查询条件需要加索引,要不然不支持查询。

表中数据量越来越多,又有很多字段添加了索引,当数据量达到千万级别之后,添加索引消耗DB的资源,也明显感受到占用了时间。 导致接口查询慢,新增也慢。

有别的调优吗?

还有发现,若干个字段,因为没有加索引,导致查询接口TPS不高等问题;

项目中有用hibernate的,有时候定位比较难,因为sql都是hibernate拼接的。

4. 有没有自己创新什么工具,用来提高效率的?

自己回答

5. oracle中分页怎么实现的?

oracle很久没用,打错了,我回答的是跟mysql差不多吧,用limit的?

用limit?

后来发现用rownum

6. selenium在你们的测试过程中也用?还用吗? 有没有什么问题?浏览器兼容性问题能做到吗

差不多就这么多了,接下来到面试者问问题时间。

总体感觉就是, 自己就像一个AI,面试官问什么,自己回答什么,没有做必要的延伸,没有引入自己的话题。

总体感觉就是面得不好。

我想说我也可以开发自动化测试平台,只是还不太成熟。因为都是一个人做,时间和能力都有限,不知道用什么技术,架构,要增加什么。

一个能拿offer的面试文档

如果有需要请   留言:

软件测试面试题

写在最后

如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!

看到这篇文章的人有觉得我的理解有误的地方,也欢迎评论和探讨~

你也可以加入下方的的群聊去和同行大神交流切磋

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【python百炼成魔】python运算符的使用与输入输出函数

文章目录前言一. python 运算符1.1 算术运算符1.2 .赋值运算符1.3 比较运算符1.4. 布尔运算符二. 输入和输出函数2.1 print函数2.1.1 help函数查看帮助文档2.1.2 print的格式化输出2.2 format函数2.3 input数据接收函数写在最后前言 Python 中的运算符主要分为算术运算符、比较…

HydroD 实用教程(三)环境数据

目 录一、前言二、Location三、Wind Profile四、Directions五、Water5.1 Wave Spectrums5.2 Current Profile5.3 Frequency Set5.4 Phase Set5.5 Wave Height5.6 Regular Wave Set六、参考文献一、前言 SESAM &#xff08;Super Element Structure Analysis Module&#xff09;…

MySQL获取当前时间的各种方式

1 获取当前完整时间1.1 now()函数select now();输出:2023-02-15 10:46:171.2 sysdate()函数select sysdate();输出:2023-02-15 10:47:131.3 current_timestamp或current_timestamp()current_timestamp和current_timestamp()函数的效果是一样的&#xff0c;只不过一个是关键字&a…

“深度学习”学习日记。--ImageNet、VGG、ResNet

2023.2.14 一、小历史&#xff1a; 在2012年的ILSVRC(ImageNet Large Scale Visual Recognitoin Chanllege)&#xff0c;基于深度学习的方法AlexNet 以绝对优势获胜并且他颠覆了以前的图片识别方法&#xff0c;此后深度学习方法一直活跃在这个舞台。 二、ImageNet&#xff1…

10款让程序员用了会上瘾的工具

程序员必定会爱上的10款工具&#xff0c;相信肯定有不少是你的心头好&#xff0c;尤其是第4款。 第一款&#xff1a;TrueCryptTrueCrypt 可能很多人没用过&#xff0c;它是一个加密软件&#xff0c;能够对磁盘进行加密。还在担心自己电脑中的重要文件、私密档案被人查看&…

密码技术在车联网安全中的应用与挑战

随着智慧交通和无人驾驶的快速发展&#xff0c;车联网产业呈现蓬勃发展态势&#xff0c;车与云、车与车、车与路、车与人等综合网络链接的融合程度越来越高&#xff0c;随之而来的安全挑战也更加严峻。解决车联网的安全问题需要一个整体的防护体系&#xff0c;而密码技术凭借技…

深度理解机器学习17-候选激活函数

深度理解机器学习17-候选激活函数 ​ 替换先前时间步长激活函数的候选激活函数&#xff0c;也在每个时间步长中计算。顾名思义&#xff0c;候选激活函数代表下一个时间步长激活函数应该采用的替代值。 ​ 计算候选激活函数的表达式&#xff1a; ​ 从数学上讲&#xff0c;更…

chatgpt系列文章-23.2.15(主要还在发现chatgpt的不足,偏探索,像报告)

Will ChatGPT get you caught? Rethinking of Plagiarism Detection 推荐指数&#xff1a;2 主要内容 文章主要是研究chatgpt出现后&#xff0c;在学术界中可能出现的学术抄袭和剽窃现象。 这篇文章就比较了几种剽窃抄袭软件&#xff0c;来测试是否能够识别chatgpt编写的内…

软考中级-程序设计语言

&#xff08;1&#xff09;解释器解释源程序时不生成独立的目标代码&#xff0c;源程序和解释程序都参与到程序执行中。&#xff08;2&#xff09;编译器编译时生成独立的目标代码&#xff0c;运行时是运行与源程序等价的目标程序&#xff0c;源程序不参与执行。阶段补充&#…

如何选择最佳的 Node.js Docker 镜像

前言 选择一个Node.js的Docker镜像看起来像是一件小事&#xff0c;但是镜像的大小和潜在漏洞可能会对你的CI/CD流程和安全造成重大的影响。那我们如何选择一个最好Node.js Docker镜像呢&#xff1f;我们在使用FROM node:latest或只是FROM node时&#xff0c;很容易忽略他潜在的…

zlink 介绍

zlink 是一个基于 flink 开发的分布式数据开发工具&#xff0c;提供简单的易用的操作界面&#xff0c;降低用户学习 flink 的成本&#xff0c;缩短任务配置时间&#xff0c;避免配置过程中出现错误。用户可以通过拖拉拽的方式实现数据的实时同步&#xff0c;支持多数据源之间的…

Download android 12 source code and build img

sudo snap install curlThen follow https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/install repo:mkdir ~/bin PATH~/bin:$PATH curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod ax ~/bin/repo由于首次同步需要下载约 60GB 数据&#x…

【动画图解】这个值取对了,ViewPager2才能纵享丝滑

前言 在前两篇文章中&#xff0c;我们通过一张张清晰明了的「示意图」&#xff0c;详细地复盘了RecyclerView「缓存复用机制」与「预拉取机制」的工作流程&#xff0c;这种「图解」创作形式也得到了来自不同平台读者们的一致认可。 而从本文开始&#xff0c;我们将正式进入Vi…

采用Spring配置文件管理Bean(1)

文章目录一、创建Maven项目二、创建杀龙任务类三、创建勇敢骑士类四、采用传统方式让勇敢骑士完成杀龙任务五、采用Spring容器让勇敢骑士完成杀龙任务1、创建日志属性文件2、创建Spring配置文件3、在Spring配置文件里创建Bean&#xff08;1&#xff09;创建杀龙任务Bean&#x…

VAmPI:一个包含了OWASP Top10漏洞的REST API安全学习平台

关于VAmPI VAmPI是一个包含了OWASP Top10漏洞的REST API安全学习平台&#xff0c;该平台基于Flask开发&#xff0c;该工具的主要目的是通过一个易受攻击的API来评估针对API安全检测工具的有效性&#xff0c;并帮助广大研究人员学习和了解API安全。 功能介绍 1、基于OWASP Top…

Spring入门学习

Spring入门学习 文章目录Spring入门学习Spring概述Spring FrameworkIOCIOC容器DIIOC容器的实现类①FileSystemXmlApplicationContext②ClassPathXmlApplicationContext基于XML管理bean入门案例创建类创建xml在Spring配置文件中配置bean测试Spring概述 Spring 是最受欢迎的企业级…

利用飞书来实现信息存储和在线远程预览

利用飞书来实现信息存储和在线远程预览 文章目录利用飞书来实现信息存储和在线远程预览1. 需求2. 实现方法2.1 创建表格2.2 创建飞书捷径2.3 客户端上传数据3. 实现远程预览1. 需求 在传统的远程监控和存储数据的项目中&#xff0c;我们需要一台有公网IP的服务器来存储设备发上…

75V的TVS二极管有哪些型号?常用的

瞬态抑制TVS二极管工作峰值反向电压最低3.3V&#xff0c;最高可达513V&#xff0c;甚至更高。很多电子工程师都知道&#xff0c;TVS二极管在实际应用选型过程中&#xff0c;第一步要确认的就是其工作峰值反向电压。2023年春节已过&#xff0c;东沃电子正月初八就开工了&#xf…

【JavaEE】多线程代码实例:单例模式与阻塞队列BlockingQueue

目录 单例模式&#xff1a; 什么是单例模式&#xff1f; 单例模式的实现方式&#xff1a; 饿汉模式&#xff1a; 懒汉模式&#xff1a; 基于并发编程对单例模式线程安全问题的讨论&#xff1a; 阻塞队列&#xff1a; 标准库中的阻塞队列&#xff1a; 自实现阻塞…

CPP2022-计算机类-期末考试

6-1 判断素数 分数 5 全屏浏览题目 切换布局 作者 李国瑞 单位 东北大学秦皇岛分校 设计一个函数&#xff0c;判断输入数据是否为素数&#xff0c;返回bool类型结果。 函数接口定义&#xff1a; bool prime(int num); 说明&#xff1a;num为正整数。 裁判测试程序样例&…