背景:虽然测试行业在2019、2020不太景气,面试后的一些面试题归集和总结,为了将来面试时使用。

 所有的面试题中我发现超过90%都是基础性的面试题,只要有自动化基础,功能测试接触,再加上面试的时候态度ok,且不卑不亢即可

切记,面试时一定要不卑不亢,切记心浮气躁和心虚  ,你懂得!

 一、以下是我面试的经验所得

1、http与https有何区别

答案:

①https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

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

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

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

2、tcp/ip三次握手

①含义理解

TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTPSMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。

②三次握手:

(1)客户 端发送一个带SYN标志的TCP报文到server。这是三次握手过程中的报文1。
(2) server端回应client的,这是三次握手中的第2个报文。这个报文同一时候带ACK标志和SYN标志。

因此它表示对刚才clientSYN报文的回应。同一时候又标志SYN给client,询问client是否准备好进行数据通 讯。

(3) 客户必须再次回应服务段一个ACK报文,这是报文段3。

(4)连接终止协议(四次握手)

3、悲观锁和乐观锁

悲观锁:

  悲观锁原理是每次获取数据的时候,都会担心自己数据被修改,所以每次获取数据的时候都会进行加锁,确保在自己使用的过程中数据不会被别人修改,使用完成后再进行数据解锁。由于数据进行加锁,期间对该数据进行读写的其他线程都会进行等待。在Java中,synchronized的思想也是悲观锁。(如:同一个数据库表A用户在操作时B用户不能进行操作)

适合写入较频繁场景,如出现大量的读取操作,每次读取都会进行加锁,这样会增加大量的锁的开销,降低了系统的吞吐量。

乐观锁:

适合读取操作比较频繁的场景,如果出现大量的写入操作,数据发生冲突的可能性就会增大,为了保证数据的一致性,应用层需要不断的重新获取数据,这样会增加大量的查询操作,降低了系统的吞吐量。

 (如:A用户操作一个表,B用户同时操作这个表,乐观锁认为不会冲突,但实际会造成冲突)

4、左连接、右连接和全连接

左连接:左边有的,右边没有的为null

右连接:左边没有的,右边有的为null

内连接:显示左边右边共有的

 

5、数据库中sum和count的区别以及使用

一般面试会把sum与order by 分组一起使用

count:统计你查询出来的数据记录条数  :select count(*) from 学生表;

sum:求和     :select sum(chengji) from 学生表 where name='张三';

 

6、软件测试流程

     每个公司不一样,没有定性答案。面试者一般希望听到正规、灵活且符合所面试公司的流程最好。 

7、软件测试方法有哪些?

黑盒、白盒、灰盒

 

8、jmeter中跟踪重定向和自动重定向区别?

 1)跟踪重定向通俗的理解就是跟踪请求执行的过程,并记录一些信息给开发者看到,我们一般可以在结果日志和监控中看到

 2)自动重定向是不用跟踪请求执行过程,也不用记录

9、数据库中事物是什么?有哪些特性

 

10、软件测试方案包含哪些内容

11、设计一个模块测试用例

考察面试者的经验、用例设计能力、思维、以及掌握的测试方法是否全面

从功能测试、接口测试、性能测试方面分析

12、自动化测试selenium 显式等待和隐式等待

显式等待就是有条件的等待
隐式等待就是无条件的等待

显式等待:

# 设置等待时间
WebDriverWait(driver, 3, 0.5) #传入三个参数,第一个是浏览器驱动,第二个是等待多少秒,第三个是每隔多少秒监控一次
原理:指定一个等待条件,和一个最长等待时间,程序会判断在等待时间内条件是否满足,如果满足则返回,如果不满足会继续等待,超过时间就会抛出异常

隐式等待:

browser.implicitly_wait(10) #直接等待10秒钟
当查找元素或元素并没有立即出现的时候,隐式等待将等待一段时间再查找 DOM,默认的时间是0

13、pytest如何管理测试用例?

    1)掌握案例规则,如以test_开头,类以Test命名等

    2)案例文件执行单个py如何执行,多个文件夹的管理方式

 14、cookie、token、session的区别

点击链接获取答案:

Cookie、token、session的区别是什么?

 

15、软件测试通过的标准是什么?

回答:

1、ISO90001-ISO90004标准

2、通过案例执行完成,bug验收通过,完成功能测试、集成测试(等等)

 16、列出安装httpd的两种方法

答案:

方式一:通过官网下载httpd-2.4.29.tar.gz 包进行安装、配置,这种方式繁琐,过程会报错

方式二:通过命令yum install httpd安装,此种方式简单

更多参考转载简书:https://blog.csdn.net/qq_33440246/article/details/79436858

17、批量删除 /home/test/dist 下的所有进程

   taskkill是用来终止进程的

指定删除:TASKKILL //IM 

批量删除:TASKKILL //IM dirname

 

 18、查看虚拟机端口是否被占用

ps -ef|grep 8080  可以查看到8080在哪个地方被占用了

 

19、软件测试的出路(虽然与面试无关但是还是想唠叨几句,鞭策自己)

      考取证书,推荐51cto,在某一领域成为专家

      考取学历,如果没什么技能那么考个研究生也行,毕竟本科学历太多了,你总要有一样拿得出手吧

      技术牛人,钻研技术,最后自己单干

      培训机构,当讲师

      父承子业(应该是到不得已最后的打算,😁)      

      

以上,持续更新中.....

 

posted on 2019-05-28 11:51  陌生初见  阅读(21108)  评论(5编辑  收藏  举报