史上最全软件测试工程师常见的面试题总结【杭州多测师】【面试题】【杭州多测师_王sir】

蚂蚁金服一面: 2021.6.7号
1.数据库调优
2.索引的作用
3.存储过程
4.python列表与元组的区别,哪里用到元组
5.python中操作数据库需要导入什么库

蚂蚁金服一面:  2021.6.7号
1,数据库在一个表中查询姓张的人的信息
2,接口测试怎么做的,接口之间怎么关联
3,登录界面的测试点
4,linux命令,1)查看实时日志,2)查看端口号,3)查看进程
5,列表,元组,字典的区别

6,UI自动化,搭建过UI自动化的环境没有

自我介绍     2021.6.7号
说项目
给你一个百度网页,列出测试点
性能测试(这是我自己带的节奏)
python基本数据结构
常用的库
常用的函数
数据库的视图
数据库的数据分组

华为项目:   2021.6.7号

python数据结构,浅拷贝和深拷贝的区别
Python中可变对象和不可变对象有哪些
对可变对象进行浅拷贝和深拷贝有啥区别
对可变对象浅拷贝和普通拷贝有啥区别   ==》

  • 深拷贝:深拷贝直接拷贝对象到内存中一块区域,然后把新对象的指针指向这块内存,复制的对象指向了新的地址
  • 浅拷贝:浅拷贝并不拷贝对象本身,只是对指向对象的指针进行拷贝,复制的对象和原对象都指向同一个地址


装饰器有哪些,有啥作用
闭包管理是什么原理

华为项目:   2021.6.7号
1、自我介绍
2、项目
3、python数据结构
4、Python中可变对象和不可变对象有哪些
5、浅拷贝和深拷贝
6、python中的多线程和多进程
7、python中的线程和进程的区别
8、Linux命令
9、你有什么要问的

10、还有用到哪些装饰器,装饰器的作用,装饰器你是怎么用的  ==》@ddt  @data  @classmethod  @staticmethod  @property

软通外包蚂蚁金服一面:  2021.6.7号
1.自动化、功能、接口测试占比
2.接口测试工具,测试方法(postman、jmeter)
3.断言的作用
4.常见状态码
5.HTTP请求流程
6.进程和线程区别
7.存储过程、索引
8.Python常用模块
9.字典取值方法
10.selenium定位方法
11.隐式等待和显示等待
12.登录注册接口测试方法设计
13.sql注入原理   ==》

所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击.当应用程序使用输入内容来构造动态sql语句以访问数据库时,会发生sql注入攻击。如果代码使用存储过程,而这些存储过程作为包含未筛选的用户输入的字符串来传递,也会发生sql注入。

14.git或者SVN用过吗
15.常用Linux命令
16.你之前做过手机端的测试吗
17.在职还是离职的
18.期望薪资
19.你有什么要问的

1、说一下左UI自动化的流程    2021.6.7号
2、如果定位用xpath定位不到怎么办
3、说一下jenkins的作用
4、你是怎么做接口的
5、接口用postman怎么做
6、说一下接口的返回值
7、说一下怎么提取token值
8、你做UI自动化写了多少用例

1,项目     2021.6.7号
2、linux命令
3、日志中查指定字符
4、多进程和多线程是什么,有什么区别?  ==》进程是资源分配的最小单位,线程是CPU调度的最小单位

 


5、什么是资源分配的最小单位,什么是cpu调度的最小单位
 6、装饰器有哪些?
7、列表和字符互相转换
8、id元素存在,但定位不到什么原因

1、说一下你怎么做UI自动化    2021.6.7号
2、说一下数据库的增删改查
3、说出怎么用Python写一个99乘法表
4、没有做过APP测试
5、APP测试兼容性怎么做
6、有没有做过安全测试
7、 说一下怎么做接口自动化
8、你们一般用什么定位方法
9、能否接受加班

博彦:    2021.6.7号
1、你们ul自动化的成功率是多少?
2、场景无法用ui自动化大概有什么原因?
3、项目流程
4、怎么保证你的测试工作高质量进行?
5、Linux查看进程命令?
6、怎么查看日志?
7、ui自动化的依赖关系怎么处理?
8、写没写过测试报告?
9、怎么搭建测试环境?
10、掌握哪些语言?
11、上线之前的准出有哪些?

12、ui自动化浮动id如何定位  ==》手写xpath

13、接口自动化,如果用例里面有1000个用例,我要跑其中100个,我怎么设置?

答案:1.如果是配置了DDT的话 ,可以通过方法名去加载跑用例,不用通过discover这个方法去全部加载

2.第二种就是在unittest单元测试框架里面添加装饰器  @unittest.skip(reason):强制跳转。reason是跳转原因

平安寿险一面    2021.6.7号

自我介绍
为什么跳槽
介绍最近的项目
测试用例包含哪些?
出了一个sql语句(找出表中年龄最大,姓周的)
get和post的区别
http请求头包含哪些
接口怎么测的?
性能测师怎么测的
用例覆盖率怎么保证
python中的类型
列表和集合的区别
优惠券的测试点
测试用例的设计方法
等腰三角形的设计方法
期望薪资
还有什么想问的

2021.3.8号早上

1、是否接触过自动化测试?若做过,使用什么工具,写过多少自动化测试用例; ==》robotframework+selenium2library selenium

2、是否接触过数据库?使用程度如何?

mysql  熟练

具体举例:

数据库的关键字having是什么意思? ==》分组后进行筛选和过滤

3、python源程序执行的方式??

有三种:

1)在命令行窗口输入python执行

2)集成开发环境,在PyCharm里面执行

3)在命令行输入ipython或ipython3进入交互式shell环境

4、python常用的标准库用过哪些?标准库有很多,只要能说出哪几个常用的即可

如下图:

 

 

 

 

 

郭涛 捷科智诚面试题  3.8号下午

1、深拷贝与浅拷贝的区别

浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存

但深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,会开辟新的内存地址,修改新对象不会改到原对象

2、多线程怎么设置  ==》用threading模块

3、自定义关键字怎么弄

1)、首先在C:Python37Libsite-packages目录下新建一个库名

2)、在库里面新建一个__init__.py文件和另外一个模块

3)、在自定义的模块里面编写类和方法、封装工具方法

4)、在__init__.py文件定义一个类和库名相同、并且定义类变量如下:          ROBOT_LIBRARY_SCOPE = 'GLOBAL'

5)、在RF框架套件中导入新建的库

6)、新建testcase然后调用自定义的关键字

4、环境查看进程  ps -ef|grep tomcat

5、查看端口号   netstat -nltp  lsof -i:端口号

6、ui自动化框架  ==》http://duoceshi.cn/duoceshi/Tech_article/73.html

7、接口测试流程  

8、不想执行这个用例 直接跳过怎么操作   ==》unittest.skip()装饰器

9、公司用过哪些框架   ==》unittest、flask、Django、Jquery

10、java用过吗  ==》用过

11、用的哪种语言

12、unittest里面怎么跳过用例 ==》unittest.skip()装饰器

 

3.8号下午

1、怎么查进程 

2、查端口

3、python你是用什么做的 

4、你对自己未来的发展有什么想法

5、你们公司 做性能压力测试 ,并发数大不大,一般为多少。  ==》500  tps大于100

 

麟云科技  3.8号下午

1.自我介绍

2.python中用什么做的自动化

3.熟练mysql增删改查,Linux的指令吗

4.怎么查进程 

5.查端口

6.你对自己未来的发展有什么想法

7.你想过往测试开发或者测试运维方向发展吗。   ==》有的

8.会不会搭建环境

9.APP自动化有接触过吗,用什么做的  ==》appium

10.你们公司 做性能压力测试 ,并发数大不大,一般为多少。

 

博彦科技电面  3.8号下午

1.自我介绍

2.测试流程

3.深浅拷贝区别

4.python+selenium中的定位方法  ==》9种  id,name,class,css,xpath,JavaScript,link_text,tag_name,partial_link_text

5.接口测试遇到的问题

6.最有成就感的项目

7.Linux指令

8.Java的用过吗  ==》用过

9.对id字段去重   select distinct(id) from 表名;

 

 博彦初面  3.8号下午

1登入界面的测试用例

2元祖和列表的区别   ==》元组不可变、列表是可变的

3linux命令

4mysql命令

 

博彦 电话面试3.8号下午

1、python如何连接数据库    ==》通过pymysql模块

2、项目的逻辑是什么

3、左连接的sql语句

4、与管道符相似的sql语句    ==》过滤,group by  ....having

5、get与post的区别   ==》get接口参数在url地址栏、post在body里面,get安全性比较低,post接口请求方法安全性高

6、怎么实时查看一个路径的实时日志

7、java内==与.equal什么的区别 ==》==比较的是2个对象的地址,而equals比较的是2个对象的内容

8、元组与列表的区别

9、pp界面登录的测试用例

 

电话面试3.8号下午

1,get与post的区别 

2,左连接的用法

3,mysql去重后分组   ==》select distinct(字段) from 表名 group by 字段

4,查实时日志倒数100行  ==》tail -n 100 文件名

5,po六层的定义   ==》http://duoceshi.cn/duoceshi/Tech_article/73.html

6,你上个项目周期多少 多久迭代一次

7,发现bug后怎么解决,

8,多个数据怎么去实现

9,python怎么连接数据库    ==》通过pymysql

10,出现什么样的bug还是会上线 ,性能测试 主要测那些环境,上线还会测吗

 

博彦蚂蚁内面  电话面试3.9号上午

1.介绍项目

2.下拉框怎么定位   ==》导入Select类

3.定位方法

4.测试流程

5.测试报告有什么

6.你怎么判断一个bug是前端还是后端  ==》通过fiddler抓包看接口的返回,如果接口返回正常那说明是前端渲染的问题或者前端页面的bug,如果接口返回报错,那就需要去

定位是接口还是数据库还是服务端代码的问题。

7.单表查询出数学语文英语大于80的姓名 

8.APP和web端测用的多,APP和web端测试的区别?  ==》https://www.cnblogs.com/xiaoshubass/p/12872636.html

9.你能为公司创造什么

10.你还有什么想问的吗

 

博彦科技电话面试3.9号上午

1、深拷贝与浅拷贝

2、元素定位方法

3、ui自动化遇到的问题

4、python的数据类型  ==》String、Number、Tuple、List、Set、Dict

5、项目流程

6、增删改查 改一个表中的name

7、接口测试6层

8、存储过程

9、99乘法表

10、java的特性  ==》封装和继承、多态

11、ssh什么意思  ==》可以远程连接Linux服务器

12、liunx命令

13、java中i++和++i的区别 ==》 i++ 先赋值在运算,例如 a=i++,先赋值a=i,后运算i=i+1,所以结果是a==1 * ++i 先运算在赋值,例如 a=++i,先运算i=i+1,后赋值a=i,所以结果是a==2

 

3.10号  下午

1.正常测试点、异常测试点、bug

2.支付功能测试点

3.第三方支付有哪些  ==》https://www.cnblogs.com/xiaoshubass/p/14512121.html

 

3.10号  下午

面试遇到的问题总结:

1、存储过程描述

2、APP测试环境搭建

3、对Appium的理解

4、RF框架

5、PO的理解和API框架  ==》http://duoceshi.cn/duoceshi/Tech_article/73.html

6、数据库数据清洗到另一个数据库,如何测试清洗的数据没有发生改变

7、如何进行性能测试

8、linux指令

9、post和get的区别

10、测试流程

12、购物车测试点  ==》问的非常的多

13、APP中adb命令

14、测试环境搭建

15、工作中印象最深的bug  ==》问的非常的多

16、索引的种类有哪些  ==》普通索引,主键索引,唯一索引

 

3.10号  下午

1、po框架

2、iframe框

3、你们项目组的结构

4、然后就是我的个人经历,做python几年了,怎么学的,英语好不好。

 

3.10号   优云

1.你们数据库放在哪里的  ==》Linux服务器里面的

2.你们测试有几个   ==》开发20个左右,测试5个左右

3.你们服务器性能怎么样   ==》通过压测tps可以达到500以上

4.数据库有多大

5.你想怎么提升自己   ==》看博客园和CSDN,千万不要说看书,很多搞技术的同学很少看书

6.遇到问题的话怎么解决

7.你们公司tps指标多少   ==》tps能达到200到500笔/sec左右

8.你们的用例有标准吗

9.你们自动化用例覆盖多少  ==》用例条数覆盖功能测试用例的10-20%,场景覆盖占到70-80%

10.你们自动化用例一般跑多久  ==》40分钟到1个小时左右

11.Linux里面网络方面的指令有那些  

hostname ==》显示主机名称

ping  ==》看网络是否通

ifconfig ==》查看IP地址

netstat  ==》查看端口,进程

Telnet ==》远程登入

route==》route命令用于查看或修改主机和网络的路由信息

12.你们服务器和数据库放在哪里

13.你们用例的输入和输出是什么

14.你们用的什么服务器  ==》Tomcat和nginx

15.你和开发对用例通不通过产生起了争执怎么解决的

16.你目前自己想往那个方面发展

17.http和https有什么区别  ==》http是超文本传输协议,端口80,

https是超文本传输安全协议,端口443

https是基于HTTP协议的,然后通过SSL或者TLS对数据进行加密

18.问数据库性能方面的知识,你看过吗。服务器性能的一些数据。

19.Linux命令中关于性能的命令有哪些?

top、vmstat、lsof、tcpdump、htop、netstat、iotop、iostat、IPTraf、psacct、uptime、pidstat、free -m

 

3.10早

第一家:软通

1、项目测试具体流程

2、自动化怎么做的

3、你擅长什么

第二家:中软

1、Linux常用指令,MySQL增删改查

2、冒泡排序

3、iteartools库使用

第三家:相芯科技(线下)

1、手写一个你熟悉的python框架脚本

2、结合项目讲你的自动化测试流程

3、美颜相机脸部美颜-唇部子功能的测试点

4、未来发展方向

5、性能测试接触过哪些

6、app测试接触过哪些

7、第三方接口ai识别身份证的测试点

 

 3.10下午  央选网络

1、自我介绍

2、购物车模块测试点

3、支付模块测试点

3、Fiddler为什么可以抓包

4、怎么区分前后端的bug

5、linux命令

7、mysql增删改查

8、淘宝购物车的测试点

9、怎么区别前端bug还是后端bug

10、你认为是一个bug、开发认为不是、你怎么处理  ==》看需求深入了解需求,和开发一起讨论,看是否是双方对于需求理解有出入,如果没有的话向上级反馈这个问题,让

测试经理或者问需求人员去处理。

11、get和post区别

 

 3.10下午  

字节
1.自我介绍
2.介绍下你的项目
3.Linux指令
4.多表连接
5.jemter性能测试做过压测吗
6.UI自动化 我讲了po设计
7.购物车测试点
8.你们购物车能加多少商品
9.http和https的区别
10.接口用例怎么设计的
11.慢SQL  听不懂没回答

 

 3.10下午  
捷科智诚 一面
1.自我介绍
2.介绍下项目
3.做过接口吗
4.用的什么工具


软通    3.10下午  
1.列表 怎么获取后三个数    ==》用切片或者写个冒泡排序然后再用切片
2.Python中怎么断言的
3.你每个接口都需要断言还是每个接口用例需要断言   ==》断言用assert True、assert False、和unittest单元测试框架里面的self.assertEqual
4.Linux指令
5.索引有什么作用   ==》可以加快查询的速度
6.Python中你是怎么做接口的
7.你是用什么来进行上下接口的连接  ==》创建self.session() 对象

 

字节跳动  3.10下午  
1、提测延期怎么办  ==》提前报风险评估,然后催开发加班,如果实在不行就甩锅给开发
2、@classmethod和@staticmethod的区别  ==》都可以被类和对象调用

区别一:从它们的使用上来看

@staticmethod不需要表示自身对象的self和自身类的cls参数,就跟使用函数一样。

@classmethod也不需要self参数,但第一个参数需要是表示自身类的cls参数。

如果在@staticmethod中要调用到这个类的一些属性方法,只能直接类名.属性名或类名.方法名。

而@classmethod因为持有cls参数,可以来调用类的属性,类的方法,实例化对象等,避免硬编码

3、一个文本框你们是怎么测试的
4、你们这个接口的场景
5、jmeter是怎么做压力测试的
6、一个bug,我们怎么判断是前端问题还是后段问题

 

创值高科线下   3.11上午
自我介绍
postman做接口流程
淘宝购物车测试点
登陆接口性能指标查看

通卡联城     3.11上午
自我介绍
测试流程
接口怎么做的
购买商品的测试点

 

恒生电子      3.11上午
1.自我介绍
2.项目
3.查看日志
4.添加一个数据
5.多表连接的方法
6.搭建环境遇到的问题
7.接口用例怎么设计的
8.登陆的测试点
9.你们工作中遇到过什么困难吗
10.你们用什么方法写的用例

创业慧康   3.11下午

1、正则表达式匹配一个邮箱的@符合 

import re

def re_pattern():
    '''
    匹配邮箱
    :return:
    '''
    str1 = '2966123@qq.com'
    a = re.findall('^2d{5,10}@D.D{1,5}',str1)
    print(''.join(a))

re_pattern()

2、一个字符串A=“{}”要怎么样去除外面的引号,只输出一个词典格式

import json

def foo():
    '''
    通过json.loads把字符串转换为字典
    :return:
    '''
    A='{"name":"xiaohu"}'
    a = json.loads(A)
    print(type(a))

def foo1():
    '''
    通过json.dumps把字典转换为字符串
    :return:
    '''
    A={"name":"xiaohu"}
    a = json.dumps(A)
    print(type(a))

if __name__ == '__main__':
    foo()
    foo1()

3、给你一个性能需求你会怎么去测试  

 

网易线下面试   3.11下午

1、给你一个接口,测试思路是什么  ==》首先问开发要接口文档,如果没有的话就自己用fiddler或者Charles抓包,然后看看接口的请求方法和入参这些

然后看看用postman和jmeter哪个比较适合,然后编写接口的测试用例,包括正常场景和异常场景,大概一个接口可以写10条以上接口用例,然后组建

接口,进行测试。

2、站在测试工程师的角度web前端界面可能存在的风险,app可能会出现的危险,验证码的特性是什么?

3、你们公司怎么进行风险管理,来处理突然出现会影响上线的bug   ==》申请发紧急的版本

4、除了你们公司要求的一些测试报告,你还会有什么类似自己的总结  ==》暂时公司每个版本都会有项目版本的总结大会

 

 

 

1、mysql数据库里面的in 和out的区别,inout加一块的区别?

IN 输入参数

表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值

仅需要将数据传入存储过程,并不需要返回计算后的该值。 只能当做传入参数

OUT 输出参数

该值可在存储过程内部被改变,并可返回不接受外部传入的数据,仅返回计算之后的值。 只能当做转出参数

INOUT 输入输出参数

调用时指定,并且可被改变和返回 需要数据传入存储过程经过调用计算后,再传出返回值可当做传入转出参数

2、mysql数据库里面的触发器和程序包用过吗?

https://www.cnblogs.com/geaozhang/p/6819648.html

tigger_event详解:

①INSERT型触发器:插入某一行时激活触发器,可能通过INSERT、LOAD DATA、REPLACE 语句触发(LOAD DAT语句用于将一个

文件装入到一个数据表中,相当与一系列的INSERT操作);

②UPDATE型触发器:更改某一行时激活触发器,可能通过UPDATE语句触发;

③DELETE型触发器:删除某一行时激活触发器,可能通过DELETE、REPLACE语句触发。

3、python里面的dumps和dump、load和loads的区别是什么?

 

4、有两张表,一张user表里面的字段是:店名、sid
另外一张表a有sid、产品数量、时间时间格式是:“2020-XX-XX XX-XX-XX”
问题1)、查询下今天店名是达西店的产品数量
问题2)、查询达西店时间和产品数量按照"2020-03-01"格式输出近一个月每一天的产品总量,写出sql语句
第一题:
select count(产品数量) from user inner join a on user.sid = a.sid and 店面="达西" and to_days(时间字段名) = to_days(now());
第二题:
select sum(产品数量) from user inner join a on user.sid = a.sid and DATE_SUB(CURDATE(), INTERVAL 1 MONTH) <= date(time);

 

 1、python当中的生成器和迭代器的区别?

 2、adb命令是什么意思?

 

2021.04.08
1、你们公司测试的流程是怎样的?
2、一个迭代写了多少条用例?ui自动化覆盖率是多少?大概多少条用例?执行这些用例用了多少时间?平时是怎么维护自动化脚本的?你觉得自动化测试有什么优势和劣势?
3、ui自动化设计和接口自动化设计
4、有没有处理过线上问题?
5、上线后对项目有没有监控?
6、测试报告怎么处理的?
7、tps没达到要求怎么办?

 

1.自我介绍
2.在项目上涉及到的工作内容,(你主要做了什么,测了什么点)
3.有没有参加评审会议,参加需求评审的时候你有没有发现过哪些不合理的需求,有没有提出来
4.有没有看过开发日志,怎么查看的,(在linux里查看日志)
5.假如你之前说的测试的滚动条需要等待的时间太长,你怎么办?(这里说跟开发协商测试的时候把时间调短,正式上线的时候再调回来)
6.如果有一个商品,有A线路和B线路,A线路发货7天运费2元,B线路发货10天运费4元,从购物车到订单给我设计测试用例或者说出测试点,十分钟。

 

法本 2021.4.7号11点
1、自我介绍
2、jenkins任务创建的流程
3、测试这边的项目流程
4、python中UI自动化的测试流程
5、selenium模块你的理解
6、selenium中元素定位的方法
7、python中==和=和is的区别
8、re模块里match和search

 

 

 

 

原文地址:https://www.cnblogs.com/xiaoshubass/p/14514126.html