首页 > 编程知识 正文

ui自动化测试面试题,python面试常见问题

时间:2023-05-04 17:08:56 阅读:40986 作者:1714

我想大家都经历过很多面试。 好不容易通过了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 都是必问的。测试开发人员的知识面既要有一定的广度,同时还要有扎实的编码基础。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。