• 在线客服

  • 扫描二维码
    下载博学谷APP

  • 扫描二维码
    关注博学谷微信公众号

  • 意见反馈

原创 软件测试工程师面试提升笔试题汇总

发布时间:2019-10-09 10:19:54 浏览 5162 来源:博学谷 作者:照照

    目前在国内,软件测试在开发过程中的地位越来越重要了,而软件测试工程师也已然成为高薪好前途的代名词。因此有不少小伙伴纷纷向这个方向求职,为了让大家在面试的时候更加自信和从容,小编汇总了一些面试的提升笔试题,希望对大家有用。

     

    软件测试工程师笔试题

     

    1、http与https有何区别?

     

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

     

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

     

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

     

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

     

    2、tcp/ip三次握手

     

    (1)含义理解

     

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

     

    (2)三次握手:

     

    客户 端发送一个带SYN标志的TCP报文到server。这是三次握手过程中的报文1;

     

    server端回应client的,这是三次握手中的第2个报文。这个报文同一时候带ACK标志和SYN标志;

     

    因此它表示对刚才clientSYN报文的回应。同一时候又标志SYN给client,询问client是否准备好进行数据通讯;
    客户必须再次回应服务段一个ACK报文,这是报文段3;

     

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

     

    3、悲观锁和乐观锁

     

    (1)悲观锁:

     

    悲观锁原理是每次获取数据的时候,都会担心自己数据被修改,所以每次获取数据的时候都会进行加锁,确保在自己使用的过程中数据不会被别人修改,使用完成后再进行数据解锁。由于数据进行加锁,期间对该数据进行读写的其他线程都会进行等待。在Java中,synchronized的思想也是悲观锁。(如:同一个数据库表A用户在操作时B用户不能进行操作)适合写入较频繁场景,如出现大量的读取操作,每次读取都会进行加锁,这样会增加大量的锁的开销,降低了系统的吞吐量。

     

    (2)乐观锁:

     

    适合读取操作比较频繁的场景,如果出现大量的写入操作,数据发生冲突的可能性就会增大,为了保证数据的一致性,应用层需要不断的重新获取数据,这样会增加大量的查询操作,降低了系统的吞吐量。(如:A用户操作一个表,B用户同时操作这个表,乐观锁认为不会冲突,但实际会造成冲突)

     

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

     

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

     

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

     

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

     

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

     

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

     

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

     

    6、pytest如何管理测试用例

     

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

     

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

     

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

     

    黑盒、白盒、灰盒。

     

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

     

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

     

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

     

    9、设计一个模块测试用例。

     

    考察面试者的经验、用例设计能力、思维、以及掌握的测试方法是否全面,从功能测试、接口测试、性能测试方面分析。

     

    10、自动化测试selenium 显示等待和隐式等待。

     

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

     

    显示等待:

     

    # 设置等待时间

     

    WebDriverWait(driver, 3, 0.5) #传入三个参数,第一个是浏览器驱动,第二个是等待多少秒,第三个是每隔多少秒监控一次。

     

    原理:指定一个等待条件,和一个最长等待时间,程序会判断在等待时间内条件是否满足,如果满足则返回,如果不满足会继续等待,超过时间就会抛出异常。

     

    隐士等待:

     

    browser.implicitly_wait(10) #直接等待10秒钟。

     

    当查找元素或元素并没有立即出现的时候,隐式等待将等待一段时间再查找 DOM,默认的时间是0。

     

    以上就是软件测试工程师面试提升笔试题汇总。大家都做过了一遍吗?如果有任何疑问,可以赶紧复习一下相关的知识点。希望大家可以顺利通过面试,拿到心仪的offer。

    申请免费试学名额    

在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!

上一篇: 软件测试培训费用贵不贵?学费大概多少钱? 下一篇: 简述MySQL数据库的特性和优势

相关推荐 更多

热门文章

  • 前端是什么
  • 前端开发的工作职责
  • 前端开发需要会什么?先掌握这三大核心关键技术
  • 前端开发的工作方向有哪些?
  • 简历加分-4步写出HR想要的简历
  • 程序员如何突击面试?两大招带你拿下面试官
  • 程序员面试技巧
  • 架构师的厉害之处竟然是这……
  • 架构师书籍推荐
  • 懂了这些,才能成为架构师
  • 查看更多

扫描二维码,了解更多信息

博学谷二维码