21年测试开发面试题

背景:把最近面试遇到的问题分享给大家,我面的是测试开发岗位!base 北京 某互联网上市公司

1.自我介绍

2.介绍自己负责的业务和曾经做过的工具

3.提问(技术问的挺细的,下面主要记录一些我认为比较重要的)

        

1.同步和异步的区别?什么是异步调用?

        同步:就是调用某个方法时,调用方得等待这个方法返回结果才能继续往后执行。

        异步:调用方不会理解得到结果,而是在调用发出后调用者可用继续执行后续操作,被调用者通过状体来通知调用者,或者通过回掉函数来处理这个调用;

        异步的应用场景:回调函数、发布订阅

     

2.什么是单例模式吗?

        java最简单的设计模式,保证一个类仅有一个实例,并提供一个访问它的全局访问点

3.java的反射原理?

            java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。

反射机制的优缺点:

        优点:运行期类型的判断,动态加载类,提高代码灵活度。

        缺点:性能瓶颈:反射相当于一系列解释操作,通知 JVM 要做的事情,性能比直接的java代码要慢很多。

4.SQL:表名:student,字段: id ,class, score 查找所有课程都及格的学生姓名

select name from student group by name having min(score) >= 60

5.java 泛型了解吗?

泛型,即“参数化类型”,将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)

6.性能测试的关注点?性能环境如何搭建的?

  1. QPS(每秒钟查询率,是一台服务器每秒钟能够查询的次数)、TPS(服务器每秒处理的事务数。)
  2. 接口响应时间、每秒并发数
  3. 资源占用情况 CPU、内存、硬盘
  4. 资源的释放情况:查询系统在业务处理停止后是否可以正常的释放资源,以供后续业务使用。按道理业务停止,资源应该及时释放。常见问题,内存泄露,资源吊死,导致系统不能正常释放资源,严重情况导致宕机。可以用很多工具来检测资源情况。
  5. 异常测试:性能测试的情况在一定的话务(一般是模拟现场的用户)的情况下,进行硬件倒换,双机倒换,业务切换等。包括破坏性的输入接入来验证系统在高负荷情况下的容错性。
  6. 长时间运行:性能测试是模拟设备长时间的运行,这个是很好的检查版本在外场测试的手段。可以检查出很多跟时间,定时器等相关的积累效应的故障。

App测试时还要关注:电量,流量,等

搭建性能环境:使用分布式压测搭建的,一台master机 (负责给压力机分配资源),5台发压机(向压测服务不断的发出请求)

7.Linux如何查看内存?

free -h

8.你测试的业务 技术架构了解吗?

9.字典如何根据value排序?

dict3 = {"low" : 3, "irving": 6, "james": 1, "durant": 4}

# 按键排序
dict3_keys = {key: dict3[key] for key in sorted(dict3)}
print( dict3_keys)

# 按值排序
dict3_values = {key: dict3[key] for key in sorted(dict3, key=dict3.get)}
print( dict3_values)

10.为什么要用Redis?Redis存储机制?

为了提高数据检索速度

redis是Nosql数据库,是一个key-value存储系统。虽然redis是key-value的存储系统,但是redis支持的value存储类型是非常的多,比如字符串、链表、集合、有序集合和哈希。

Redis优点:

  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
  • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
  • 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
     

11.说说长链接和短链接的区别

TCP连接的建立是需要三次握手的,而释放则需要4次握手

TCP短链接:client向server发起连接请求,server接到请求,然后双方建立连接。client向server发送消息,server回应client,然后一次读写就完成了,这时候双方任何一个都可以发起close操作,不过一般都是client先发起close操作。为什么呢,一般的server不会回复完client后立即关闭连接的,当然不排除有特殊的情况

 短连接的优点是:管理起来比较简单,存在的连接都是有用的连接,不需要额外的控制手段

TCP长链接:client想server发起连接请求,server接到请求,然后双方建立连接。Client与server完成一次读写之后,它们之间的连接并不会主动关闭,后续的读写操作会继续使用这个连接。

总结:日常工作中要多注意积累,每个需求测试完成后,自己要进行一个小的复盘,没事多看看基础知识,万丈高楼平地起

创作不易,白嫖不好,各位的支持和认可,就是我创作的最大动力,我们下篇文章见!

如果本篇博客有任何错误,请批评指教,不胜感激 !

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值