首页 > 编程知识 正文

python测试开发面试题及答案,python自动化面试题及答案

时间:2023-05-04 23:01:54 阅读:129077 作者:4379

1.1、概述

在python的面向对象中,使用new方法创建对象,将此对象传递给init函数,然后用第一个参数输入

1.2、详细说明

1.3、应用场景

2.1、lambda创建匿名函数的语法概述。 pass空语句。

2.2、详细说明

1、pass的作用什么都不做,作为占位符语句来保证程序的完整性。

2.3、应用场景

3.1、概要is比较两个实例对象是否为同一对象。 也就是说,两个对象的地址可以通过id ()函数获取,并且是否相同。==比较的是两个实例对象的值是否相等,比较的是存储器中存储的内容,可以不是同一对象,只要内容相同即可。

3.3、应用场景

is经常使用的是,与None的值相比,a is None或a is not NoneNone在Python语言中是单个实例对象。 如果要确定某个变量是否为None,请记住使用is而不是==。 因为只有is才能表示严格意义上的变量是否为None。

1.1、概述:

表示元组和词典两种形式,可以作为形式参数存在,也可以作为实际参数存在。 作为形式参数存在称为打包,作为实际参数存在称为解包

1.2、详细说明:

作为格式参数(打包) :将位置的实际参数打包为元组,将关键字的实际参数打包为词典。

def函数名称(*args ) : # )包位置的实际参数放入元组中

传球

函数名称(实际参数1、实际参数2 ) )。

def函数名称(**kwargs ) : #打包关键字的实际参数位于词典中

传球

函数名(关键字1=实际参数1,关键字2=实际参数2 ) )。

作为实际参数(拆包) :将元组或词典展开作为实际参数传递给格式参数:

def函数名称(形式参数1、形式参数2 ) :

传球

元组=(数据1、数据2 ) )。

函数名(元组) #将元组中的元素一一对应地传递给格式参数

def函数名称(name,age ) :

传球

词典={name:数据1、age:数据2}

函数名(**词典) )将词典内的要素按键对应传递给形式参数

1.3、应用场景:

在实现装饰器时,内置的闭包函数由*args、**kwargs处理,以便可以对任何函数进行装饰。

定义未知数量的格式参数。

2.1、概述:

filter ) )函数过滤序列,过滤不符合条件的元素,并返回由符合条件的元素组成的新列表。

map ) )根据提供的函数映射指定的序列

reduce ()函数累积参数序列中的元素。

2.2、详细说明:

滤波器()函数

1 .语法:

过滤器(功能,交错) )。

它接收这两个参数,第一个是函数,第二个是序列,序列中的每个元素都作为参数传递给函数进行确定,返回True或False,最后返回True的元素放在新列表中。

2 .案例:获得列表奇数

defis_odd(n ) :

返回n %2==1

newlist=filter(is_odd,[ 1,2,3,4,5,6,7,8,9,10 ]

for n in newlist:

是打印(n )

1 .语法:

贴图(功能、交错、…)

第一个参数function在参数序列中的每个元素上调用function函数,并返回一个包含每个function函数返回值的新列表。

案例:提供将同一位置的列表数据相加的两个列表

result=map(lambdax,y: x y,[ 1,3,5,7,9 ],[ 2,4,6,8,10 ] )

打印(结果) # [ 3,7,11,15,19 ]

检索以下两个列表中的每个列表(一一对应),并将其传递给x,y. 1 .语法:

reduce (功能,iterable[ (,initializer] ) ] )

函数按如下方式处理单个数据集合(链表、元组等)中的所有数据: 传递给reduce的函数function )先处理集合中的第一个、第二个元素,然后用function函数运算得到的结果和第三个数据,最后得到一个结果。 在python3中,我们将reduce放入了functools模块

案例:提供将同一位置的列表数据相加的两个列表

来自from func工具导入准备

result=reduce(lambdax,y: x y,[ 1,2,3,4,5 ]

print(result(#15 ) 2.3,应用场景:

面试问题:分别使用map、reduce、filter函数完成以下任务

1、计算1-

100的和

from functools import reduce
result = reduce(lambda x, y: x + y, range(1, 101))
print(result)

2、1-10,对每个数字的平方

result = map(lambda x:x**2,range(1,11))for n in result:print(n)

result = filter(lambda x: “c” in x, {“a”, “ab”, “abc”, “bc”, “cd”})for n in result:print(n)

3、Python的可变类型和不可变类型包含哪些?

3.1、概述:

可变类型 包含: 列表(List)、字典(Dict)、集合(Set)。
不可变类型 包含: 字符串(String)、 整数(int)、小数(Float) 布尔(Bool)、元组(Tuple)

3.2、详细描述:

3.2.1可变数据类型的特点

里面的值发生改变时不会新生成一个变量.内存地址不变. 因为改变的数据会发生在内存中.

3.2.2不可变数据类型的特点

只要值发生了改变.就会重新开辟一个内存空间. 内存地址也发生了改变, 如果元组中的元素是可变数据类型, 该元素中的值是可以改变的。
values = (“hxdxm”, [“刘备”])
values[1][0] = “热心的睫毛膏”
print(values) #(‘hxdxm’, [‘热心的睫毛膏’])

答:
super 用于继承父类的方法、属性。super 是新式类中才有的,所以 Python2 中使用时,要在类名的参数中写 Object。Python3 默认是新式类,不用写,直接可用。 使用 super 可以提高代码的复用性、可维护性。修改代码时,只需修改一处。代码举例:


答:所有的结果都是生成器表达式, 不调用它,不从里面取值,就不干活。附上我的推导过程:

答:HTML、JavaScript 代码

Vue 代码编写:

答:list(set(L))、

答:空列表(当时有点紧张, 一直在“空列表”和“索引超出范围”两个答案之间徘徊)。
答:注意,个人觉得这个题有坑,列表的元素不是字符串,所以不能 ‘’.join(L) 。
以下是过程:

答:一般都是问列表和元组有什么不同。 (1)获取元素的方式不同。列表通过索引值获取,字典通过键获取。 (2)数据结构和算法不同。字典是 hash 算法,搜索的速度特别快。 (3)占用的内存不同。
答:(1)调用 terminate 方法。 (2)使用 subProcess 模块的 Popen 方法。使用简单,具体用法,这里不展开。

答:(1)区别:
① 地址空间和其它资源(如打开文件):进程之间相互独立,同一进程的各线程之间共享。某进程内的线程在其它进程不可见。 ② 通信:进程间通信 IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。③ 调度和切换:线程上下文切换比进程上下文切换要快得多。④ 在多线程操作系统中,进程不是一个可执行的实体。 (2)使用场景:同时操作一个对象的时候,比如操作的是一个全局变量,我用线程,因为全局变量是所有线程共享的。

答:
ORM 框架可以将类和数据表进行对应,只需要通过类和对象就可以对数据表进行操作。通过类和对象操作对应的数据表,类的静态属性名和数据表的字段名一一对应, 不需要写 SQL 语句。ORM 另外一个作用,是根据设计的类生成数据库中的表。11、写一段代码,ping 一个 ip 地址,并返回成功、失败的信息。

答:使用 subProcess 模块的 Popen 方法(使用简单,具体用法,这里不展开)。
答:(1)流程:获取接口文档, 依据文档设计接口参数,获取响应,解析响应,校验结果,判断测试是否通过。 (2)request 内容:

答:Selenium Grid。
答:守护精灵,和 Python 并发编程中的 daemon 原理一样,父进程/父线程的代码执行完毕,它就终止, 要写在 start 方法前面。另外,要找到配置文件,注释掉两行代码。
答:一口气,劈里啪啦说了 10 多个。
答:用的不深入,说了基本操作,比如定时构建执行代码。
答:小步快跑,拥抱变化。测试中, 可以通过行为驱动测试,有个框架 lettuce 可以用。
答:了解,没用过。然后说了下对 Docker 大概的认识、优势。
答:此处省略 n 个字。
答:此处省略 n 个字。
答:此处省略 n 个字。
答:此处省略 n 个字。

在自动化测试、测试开发岗面试中,编程知识、Linux 都是必问的。测试开发人员的知识面既要有一定的广度,同时还要有扎实的编码基础。

路漫漫其修远兮,我还有很长的路要走。接下来的规划,进一步提升自己的实力。整理不易还请动动发财手点个赞哦 ~~

我整理了一份216页软件测试大厂面试题,以及2021推荐最新的简历模板,送给小伙伴们,关注公众号软件测试小dao自行领取,和一些小伙伴建立一个技术交流群,一起探讨技术,分享技术资料,旨在共同学习进步,如果感兴趣就加入我们吧!1033482984

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

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