接下来让我们一起看一下为大家收录的面试题:
一、为什么离职?
这个问题其实没什么标准答案,可以考虑以下几点:
1、地理位置原因,比如公司搬迁、自己在当前城市其他区购房之类,想找个近一点的
2、结合自己的职业规划,想找一个更好的平台
注意点:
不要在面试的时候去抱怨之前的公司、说上司的坏话
二、简单sql查询,单表分组聚合怎么使用?
这种问题属于sql的基本用法,具体操作不在这里描述,回答问题要注意的点:
先介绍分组和聚合会用到哪些关键字,然后要结合具体的按钮去讲一下你在工作中有没有用过这些用法 ,用来做什么处理
三、口述99乘法表的编写
既然是口述,我觉得肯定只要给出思路就行。说句实话,要我一次性写出来 不能调试,我估计我可能还写不出来,打印这个有几个关键的点:双重循环的控制以及什么时候跳出循环,以及换行。
给大家分享一个网上查到的比较装逼的写法:
print('\n'.join([' '.join([f"{j}x{i}={i*j}" for j in range(1, i + 1)]) for i in range(1, 10)]))
四、自动化测试了解多少,工作中都怎么用的?
1、可以先介绍一下你所了解到的自动化的类型,比如UI、接口、运维自动化等
2、挑选一种你最熟悉的自动化的类型,进行详细的介绍。
比如介绍通过某款工具是实现自动化,或者介绍通过自己写脚本的方式去实现自动化,不管用哪种方式,都离不开用例的设计与存储,日志和报告的查看,持续集成等相关操作 ,整体的流程结合起来一起介绍一下。
五、中间件测试了解多少,怎么去测试的中间件?
面试既然问到这个问题,那肯定是你的简历上哪里体现了跟这块相关的内容,比如redis、es、kfaka之类的。
说实话,这块我也接触的比较少,如果我被问到了,我会按以下的思路去介绍:
1、比如介绍缓存和redis,先告诉面试官缓存是怎么设计的,你怎么通过手工/自动的方式去修改里面的数据,从而验证缓存是否生效等
2、像kfaka这种,也是类似,可以验证模拟手动往里面推送数据,验证一些从页面不方便模拟的场景。
至于其他的一些比较专业的中间件的测试点,大家可以根据自己的简历,在网上查找对应的测试点去进行了解,要注意不要脱离了项目的业务。
六、抽奖用例设计:一等奖一个,二等奖两个,三等奖三个,其他都是谢谢,如何测试,用例如何设计?
这种就看自己临场发挥了,我觉得这个地方在测试前,要确认本次抽奖券的总发行张数,然后再做测试设计。
1、要关注对应奖项是否超过规定的数量
2、抽奖结果的枚举值是否都是在一二三等奖与谢谢 中间,不存在其他的文案之类的。
3、比如目前还未出现中奖者的时候,并且只剩下6张券的时候,验证是否每张都是必中奖等
七、app访问一个网页一直在加载可能原因是什么,怎么排查这个访问慢的问题?
1、检查手机网络,是否有丢包等情况
2、用手机访问其他网站,确认是否网络问题
3、找不同账号、在同一网络情况下用不同的设备去访问同一网站,排查是否是设备兼容性/账号权限等问题导致
4、抓包看下是否有报错、app本身是否有报错日志记录等
5、检查手机网路是否配置了代理、配了什么拦截响应结果之类的操作
八、服务间的数据同步怎么做的,数据同步的准确性怎么保障的?
这种应该是根据简历上项目的相关经验问的,我介绍下我接触过的:
通过数据库的cdc以及同步工具,比如binlog,然后将数据丢到kfaka消费
至于怎么保障数据准确性,这个属于开发层面的事情,做一些监控之类的,然后根据自己项目的具体方案去查一些资料介绍 ,另外,进行数据准确性的测试,按照同步的规则,对源数据和目标数据进行核对。至于怎么核对,可以是人工,也可能是脚本,看具体的场景。
九、比如MySQL同步数据到hive怎么做的?
一般的数据同步都是通过监听变化,采集 清洗入库,相关流程百度上就有,这个对于测试而言,一般的不需要了解 ,除非你的项目正好用到了这样的技术架构,那面试官可能是想了解一下这个流程,同时也检验一下你在项目中测试的深度,对业务的熟悉程度。这种一般在大数据测试、数据分析&核对的相关工作中出现的会多一些。
十、都用python做了哪些辅助测试工作,如何实现的?
python作为一门脚本语言,有其自己的优势,除了做自动化之外,平常可以写一些辅助脚本,提升测试效率,这个具体做什么事情,大家根据自己的编程水平与工作经验去回答就行。比如:
1、用python+requests调用接口,对返回结果进行加工处理,按指定格式得到自己需要的批量数据。
2、开发一些小工具平台,将一些常用的造数据/改数据的脚本集成上去,方便公司内部其他测试人员使用,尤其是那种业务比较复杂的系统,下游经常需要依赖上游造数据的。
3、写一些简单的接口调用脚本,定时触发检查线上服务或数据是否有问题
十一、接口测试的接口依赖怎么处理的?
将依赖接口的返回结果存储起来,供其他接口使用,比如最常见的登录后获取到token 存起来,给其他接口使用。
十二、简述TCP请求连接的过程;
三次握手四次挥手之类的,百度一下就有答案。
十三、性能问题如何定位的,从哪些方面去定位的?
看日志和监控,检查数据库、服务器资源等相关状态
十四、安全测试都会测试哪些内容,都是怎么测试的?
被问到这种问题的,肯定是简历上写了会安全测试,要么就是写了会用一些类似appscan,burpsuit之类的工具。首先要了解常见的安全漏洞有哪些,比如sql注入、跨站脚本攻击、权限越权、敏感信息泄露等,然后针对工具出来的问题要知道怎么通过手动的方式去模拟复现问题,以及如何去回归验证。想一些sql注入,xss ,测试人员在做功能测试的时候,是可以做一些简单的手工测试的。
十五、你们怎么搭建的测试环境,对一些中间件的配置是否了解,可以简单的说一下?
可以介绍一下公司项目的技术架构,部署包的格式以及流程,顺带介绍一下各个环境的管理等。 那些拿个php电商网站联系的,环境搭建建议就不要写到简历上去了。我之前写过一篇网上找了个开源项目搭建的部分教程,能把那个搭建出来的话还可以考虑写一下。(格式比如jar包、war包、压缩包,部署方式比如 java -jar ,通过tomcat、docker、iis等方式部署)
十六、当前薪资是多少,期望薪资是多少?
谈到薪资,基本上也就到了面试的最终环节了,这个就按照自己的相关信息去回答就行。一般跳槽的涨幅可能在10~30%左右,超过这个范围,你要能在面试的时候体现出你的优势。