关于几个冷门的测试面试题

在软件测试面试过程中,本人曾经遇到过一些冷门问题,问的概率偏少,但是有可能会被问到,现跟大家分享一下(含相关答案,仅供参考):

一.数据库查询慢,有哪些原因?又分别有哪些解决方案呢?

1.程序上的问题,没有使用索引。根据需要查询的列去创建索引,可以将查询效率大大提高。当然,索引量不能建太大,最好尽量使用字节数比较小的列建索引比较好。

2.I/O吞吐量低。此时可以将索引,日志等放在不同的I/O日志上,以增加读写速度。

3.内存不足,这个时候需要换内存更大的硬件,需要对系统进行升级。

4.表结构设置不合理。为了尽可能提高查询速度,最好将表分解为多表,每个表只包含必要的列。

5.数据库负载太大。此时需要使用缓存,减少负载,提高查询速度。

6.sql语句编写太过冗杂。太过冗杂的sql语句执行将拖慢系统响应时间。如非必要,将复杂sql语句拆解为多个简单语句。

7.服务器配置欠佳。调整服务器配置,进行优化在允许的范围达到最佳。

8.数据库查询量过大。这时采取的方法与优化sql语句同理。可以采用多次查询,以降低数据量。

9.连接数据库成本过高,此时可以使用连接池,提高数据库性能。

二.什么是同步,什么是异步?它们有什么区别?

同步是指:发送端将数据进行发送后,等接收端发回响应以后才能进行下一个数据包发送的通讯方式。

异步是指:发送端将数据进行发送后,不等待接收端发回响应,直接进行下一个数据包发送的通讯方式。

它们的区别:同步需要等待,而异步不需要等待。一般情况下,都会选择不需要等待的异步发送方式,这样执行效率高。而且同步在请求的过程中不光是等待的问题,中间哪步出错了都不可以。

三.mysql的where语句还有哪些可以优化的地方?

1.应尽量避免在where字句中使用!= 或 <> 操作符,否则数据库引擎会默认放弃索引而走全表扫描,这样执行下来会相当费时间。

2.尽量避免where字句中对字段进行null值判断,否则也会导致引擎放弃索引而走全表扫描。在保证字段不能为null的前提下,可以用0进行字段替换来判断.

3.尽量避免在where字句中用or进行连接查询,否则也会走全表扫描。可以通过union all 拼接代替。

四.分页功能怎么测试?

1) 当没有数据呈现时,首页、上一页、下一页、尾页标签全部置灰无法点击

2) 在首页时,“首页”无法点击,应置灰。另外,“首页”是没有上一页的,所以此时”上一页”也无法点击。“上一步”需要置灰。

同理,在尾页时,“尾页”,”下一页”标签置灰,在中间页时,四个标签均可点击,且跳转到需要实现的页面。

3) 各个分页标签是否显示在同一水平线上(UI显示是极其容易忽略的点)

4) 各个页面的分页标签样式是否一致  

5) 翻页后,页面中的数据是否能与上一个页面成功衔接上,能否按照指定的顺序进行排序

6) 分页的总页数及当前页面内容显示是否正确 

7) 如果有跳转在分页处输入非数字字符(英文,特殊字符等),输入0或超出总页数的数字,是否有友好提示信息 

8) 随机点击一个页面标签,是否是否能正确跳转到指定的页数 。

最后:下方这份完整的软件测试视·频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

猜你喜欢

转载自blog.csdn.net/wx17343624830/article/details/132815578