中高级软件测试工程师面试总结(二)

二、杭州群核信息技术有限公司

1、查询两个表的交集,用什么语句?

  答:通过两个表来做联合查询,有左连接、右连接、外连接、自连接。查询交集是用等值连接,就是根据两个表相同的字段,来查询两个表的公共部分。

左连接,是取两个表中相等的部分和左表中有的,右表中没有的部分。右连接相反。还有全连接,是两个表的并集。

2、现在公司要推动一个流程的执行,这个工作交给你来做,你会怎么去推进?

  答:如果这个流程比较重要,涉及到很多部门。那首先要得到总经理或CEO的支持。然后自己初步设计好一个流程以及流程要怎么执行的细节。

  然后,拉着总经理和各个相关部门的负责人来对设计的方案进行评审。在评审会议上,一是要对方案不合适的地方做修改,重要的是要达成共识,这样执行起来才不会受到太大阻力;二是要确定一个方案推行的截止时间,对于方案推行做出贡献的人给予奖励,同时,对于方案推行造成阻碍的人,要给予相应的惩罚,确定好奖惩的措施。会后,对会议的内容做一个总结,发送给与会的各个人员,并启动方案的推行。

之后,明确流程执行过程中,各个部门需要做好的工作,然后让各部门负责人安排合适的人员来执行。

  在流程执行的过程中,密切关注执行的情况,如果发现在哪一个环节受到阻力。及时与执行的人员做好沟通,是没有时间,还是遇到不好解决的问题,同时积极寻找相关人员的协调和帮助。

  每过一段时间,向总经理汇报工作的进展。如果流程执行过程中遇到严重的阻力或难以解决的问题,及时向总经理汇报。

  方案执行完成之后,对方案执行过程做一个总结,遇到的问题,解决的办法,提前或延迟的原因等。并执行启动会议时的奖惩承诺。

3、你说你用sql函数来造数据,请问你是怎么查询两个表之间的关联关系的?

  答:用PL/SQL登录数据库,写一个查询表的数据的语句,并执行。查询完成后,点击数据表工具栏上的“连接查询”按钮,即可查询当前表的父表和字表(父表就是当前的表依赖的表,子表就是依赖当前表的表)

  还可以在表空间中找到这个表,右键点击“查看”按钮,找到当前表的主键和外键,然后再数据库字典中根据主键和外键名查找当前表依赖的表(select * from user_constrains where constrain_name =’foreign_key ’;)。

三、北科生物

1、要形成自己的一套理论,不能老是举例子一路说下去。

2、PageObject能说清楚,但还需要更多的细节。我面试过的很多人都说不清楚。

3、数据库索引的类型有哪些?

答:有单列索引、多列索引,唯一索引、非唯一索引。

4、什么是深拷贝和浅拷贝?

  需要分清楚几个问题,一是引用;二是浅拷贝;三是深拷贝。在python中深拷贝和浅拷贝,如列表、字典。l1 =[1,2,3]dict1 = {1:’一个’,2:’二个’}l2 = l1,dict2 = dict1l3 = list(l1),dict3 = dict1.copy()l2dict2都是都是增加了一个引用,l3dict3都是浅拷贝。

  增加新的引用,只要原值变化,两者都跟着变化。浅拷贝对于一维数组的元素是增加了新的对象,而对于二维的元素还是增加新的引用。比如,l1 = [1,2,[3,4]],浅拷贝时,l2 = list(l1)l2 = l1[::-1]。两者的l1[2][0]l1[2][1]还是指向同一个地址。只有用深拷贝才能完全创建新的对象l4 = copy.deepcopy(l1)

四、中兴通讯

1、不一定所有的问题都要自己解决,自己解决不了的问题可以找团队中其他人员的帮助,体现团队协作的能力。

2、从面试的情况来看,你可能对有些技术方面研究的不够深入。

3、说说你对测试工作的看法。

  答:在研发团队中,相对于产品、开发、运营,可能看起来测试的工作好像是不能创造价值,甚至是消耗价值的。但是我不这么认为,我认为测试的工作是最能维护产品的形象甚至是维护企业的形象的。因为测试最终的目的是让产品满足用户的需求,是保证产品质量的最为重要的一道关卡。测试工作做的好,产品质量好,能让用户对产品有信心,进而对公司产生信赖,而做的差,会使用户远离我们。

  测试的工作需要从大局出发,又要从小处着手。我们需要根据项目的紧张程度,制定合适的测试策略,使得项目时间紧的时候,能保证产品不出明显的问题,项目时间松的时候,能发现产品深层次的问题。同时,在执行测试的过程中又需要细心和耐心,不怕繁琐和繁复。

  测试也是一个技术工作,需要我们不断地学习新的技术、新的工具,来不断地提升测试的效率、提升产品的质量。

4、有一个登录功能,如果100的并发,你觉得最大响应时间应该不超过多少秒?

  答:按照一般的统计结果来看,5秒内算是比较快的,58秒算是一般,超过8秒就算是比较慢了。我觉得即使在并发的时候,最大响应时间不应该超过15秒。

五、平安科技

1、如果要对一个数据库的性能做优化,你会考虑从那几个方面入手?

  答:(1)优化数据库的表结构。比如为数据较多的表建立分区,为查询频繁的表建立索引等;(2)为数据库分配合适的内存;(3)优化SQL语句,如尽量避免对全表扫描的查询,尽量使用exists,而不是in等;(4)调整硬盘I/O,可以将一个表空间存放在多个磁盘上,达到I/O负载均衡;(5)对于大量读写数据的操作,要分段提交,避免内存溢出。

2、如果要对一个java编写的程序做性能优化,你会让开发从哪几个方面入手?

  答:(1)设置合理的线程池大小、队列长度、等待时间等;(2)为JVM分配合适的内存、缓存等;(3)优化代码,将运行过程中产生的垃圾及时回收;(4)避免死锁;(5)尽量少使用全局变量。

3、句柄、进程、线程、线程池、队列长度、核心线程数、最大线程数、超时时间。

4、Jmeter中有没有用过Binshell Sampler

  答:有用过。使用Binshell Sampler来调用java类,做接口测试的证书导入。Binshell Sampler是一种类java的脚本语言,可以实现java语言实现的所有操作。

5、Jmeter中有个聚合报告,其中50%90%是什么意思?

  答:50%是指所有的响应时间按从小到大排列,第50%的那一个的响应时间。90%也是一样的道理,是第90%的那个的响应的时间。

6、有没有想过用吞吐量来计算并发数(或者说跟并发数的关系)?

  答:正常来说并发数越大,吞吐量也越大,他们两者呈现线性关系。但有的时候,在并发数较大的情况下,随着并发数的增长,吞吐量不变甚至出现下降,这说明服务器响应不过来,出现了性能瓶颈。

  TPS(每秒点击数)与吞吐量和平均响应时间也有类似的关系。

7、相对于你的工作年限来说,你确实很不错了。欠缺的可能是金融方面的工作经验,当然这个只是跟我们岗位的匹配度不太高。

8、你觉得你做的自动化测试框架还有没有要优化的地方?

  (1)可以把固定的IP改为动态获取的IP;(2)可以在创建任务的时候就设置好要执行的用例的级别。

原文地址:https://www.cnblogs.com/yahutiaotiao/p/8331511.html