我想大家都经历过很多面试。 好不容易通过了2 -3次技术面试,但工资不够。 请不要被面试测试专家虐待或放弃。 但是每次面试都能让你认识到自己的不足,这有助于你获得后续的理想报价。
今天,我简要地总结回顾了兔子学子的见面问题。 以代码方面的问题为中心,经验不足,回答水平也有限。 现在我想分享,和大家一起交流讨论。
Python自动化测试面试主题总结
1、super是为了什么? Python2和Python3有什么区别? 为什么要用super? 请举例说明。
答案:
super用于继承父类的方法、属性。
因为super只存在于新类中,所以如果要在Python2中使用,请在类名参数中写Object。 默认情况下,Python3是一个新类,不需要写,可以直接使用。
使用super可以提高代码的复用性、可维护性。 修改代码时,请只修改一处。
代码示例:
classsonclass(baseclass ) : def test2(self ) : super (.test1 ) num ) )。
son=sonClass () son.test1 ) (11 ) )。
2、读下面的代码,推导最后的结果:
deftest(:forIinrange ) 465:yieldig=test ) fornin [ 1,10,5 ] : g=(add (n,I ) for i in g ) print ) lint
a )所有结果都是生成器表达式,不调用它或从中取值就不工作。 附上我的导出过程:
n=10g=(添加(n,I ) forIin )添加(n,I ) for i in test ) ) (打印)列表) (6520,21,22,23 ) () ) )
n=5g=(add(n,I ) forIin ) add(n,I ) for i in test ) ) ) g=(add ) n,I ) ) forIin ) ) ) I ) fori
3、快速编写前端HTML、JavaScript、Vue代码
HTML,JavaScript代码:
Vue代码编写:
4、L=[1、2、3、11、2、5、3、2、5、3],用一行代码打出[11、1、2、3、5]
答: list(set(L ) ) ) ) ) ) ) ) )
5、l=[ 1,2,3,4,5 ],L[10:]的结果是什么?
答(空列表) )当时有点紧张,徘徊在“空列表”和“索引超出范围”两个答案之间。
6、L=[1、2、3、5、6],怎么出' 12356 '?
答:我个人认为这个问题有漏洞。 列表中的元素不是字符串,因此不能' '.join(L )。 流程如下:
7、清单和词典有什么区别?
答:一般问清单和元组的区别。 )1)元素获取方法不同。 列表通过索引值获取,词典通过密钥获取。 )2)数据结构和算法不同。 词典是hash算法,检索速度非常快。 )3)使用的内存不同。
8、如何终止流程?
a(1)调用terminate方法。 )2)使用subProcess模块的Popen方法。 使用方便,具体的使用方法,在这里不展开。
9、进程、线程的区别是什么? 在什么情况下使用流程? 在什么情况下使用线程?
答案:
)1)差异:
地址空间和其他资源(例如,打开文件)进程之间是相互独立的,并且在同一进程的线程之间共享。 进程中的线程对其他进程不可见。
通信:进程间通信IPC,能够在线程之间直接读写和通信进程数据段(例如全局变量)的——,需要进程同步和互斥手段的辅助以保证数据完整性。
调度和切换:线程上下文切换要比流程上下文切换快得多。
在多线程操作系统中,进程不是可执行的实体。
)2)使用场景:同时操作一个对象时,例如操作一个全局变量时,我使用线程。 因为全局变量由所有线程共享。
10、什么是ORM? 为什么要用ORM? 不使用ORM会有什么影响?
答案:
ORM框架可以将类与数据表相关联,并且只能通过类和对象处理数据表。
对应于类和对象操作的数据表、类的静态属性名称和数据表的字段名称
一一对应,不需要写 SQL 语句。ORM 另外一个作用,是根据设计的类生成数据库中的表。
11、写一段代码,ping 一个 ip 地址,并返回成功、失败的信息。
答: 使用 subProcess 模块的 Popen 方法(使用简单,具体用法,这里不展开)。
12、说说接口测试的流程,介绍一下request有哪些内容
答:
(1)流程:获取接口文档,依据文档设计接口参数,获取响应,解析响应,校验结果,判断测试是否通过。(2)request 内容:
封装了各种请求类型,get、post 等; 以关键字参数的方式,封装了各种请求参数,params、data、headers、token 等; 封装了响应内容,status_code、json()、cookies、url 等; session 会话对象,可以跨请求。
13、UI 自动化,如何做集群?
答: Selenium Grid。
14、移动端 UI 自动化,经常会自动安装 2 个程序,你知道那两个程序是啥不?
答: 守护精灵,和 Python 并发编程中的 daemon 原理一样,父进程/父线程的代码执行完毕,它就终止,要写在 start 方法前面。另外,要找到配置文件,注释掉两行代码。
15、说5个以上 Linux 命令
16、介绍一下你在这个项目中是如何使用 Jenkins 的
答:用的不深入,说了基本操作,比如定时构建执行代码。
17、说说你对敏捷模式的认识
答:小步快跑,拥抱变化。测试中,可以通过行为驱动测试,有个框架 lettuce 可以用。
18、了解过 Docker 不?
答: 说了下对 Docker 大概的认识、优势。
19、说一下你对软件测试的深刻心得
20、做过性能测试没?说出功能测试的流程
21、Bug 定位、分析、类型
22、测试策略、测试方案的区别
面试总结
在自动化测试、测试开发岗面试中,编程知识、Linux 都是必问的。测试开发人员的知识面既要有一定的广度,同时还要有扎实的编码基础。