来自大厂的Python全栈自动化面试题

昨天说今天更新,原本今天不想更新的,但是小编是个不愿“听话”的人,当我的身体发出今天休息指令时,我违背了这项指令,于是就会出现bug,可这种bug出现本身就是一种错误。
今天是入秋来第一天,来杯奶茶
在这里插入图片描述

别人有的你也要有
在这里插入图片描述
在这里插入图片描述
不客气
等大家喝完奶茶再跟大家分享一些曾经遇到过的测试面试题,希望给大家带来帮助。
1、python中的装饰器?装饰器的作用?
装饰器是修饰其他函数的功能的函数,他们有助于让我们的代码更简短。
装饰器本质上是一个 Python函数或类,它可以让其他函数或类在不需要做任何代码修改的前提下增加额外功能,装饰器的返回值也是一个函数/类对象。
它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验
等场景,装饰器是解决这类问题的绝佳设计。有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码到装饰器中并继续重用。
概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。
2、python是否支持多重继承?
在Python中是支持多重继承的,也就是我们可以为一个类同时指定多个父类。可以在类名的()后边添加多个类,来实现多重继承。
多重继承,会使子类同时拥有多个父类,并且会获取到所有父类中的方法。
在没有特殊的情况,应该尽量避免使用多重继承,因为多重继承会让我们的代码过于复杂。如果多个父类中有同名的方法,则会先在第一个父类中寻找,然后找第二个,
最后找第三个。前边父类的方法会覆盖后边父类的方法
3、pytest框架中如何实现app自动化测试只启动一次app?
@pytest.fixture装饰器定义一个函数,可以在pytest框架中被调用,其中默认scope的作用域是function,其它还有:session、module 、class;
如果想整个框架的测试用例执行只启动一次app就采用session级别的,如果是指定那些模块的测试用例执行则使用module、单个测试类就是class、function默认是测试用例方法级别
4、Python 中的字符串格式化的方法有哪些?f-string 格式化知道吗?
1.%格式符
2.str.format()
3.f-Strings
f-string是2015年python 3.6 根据PEP 498新添加的一种字符串格式化方法,f-string实际上是在运行时计算的表达式,而不是常量值。在Python源代码中,f-string是一个文字字符串,前缀为’f’,其中包含大括号内的表达式。表达式会将大括号中的内容替换为其值。
5、编写函数的四个原则是什么?
一:函数设计要尽量短小,嵌套层次不宜过深。
二:参数个数不宜太多。
三:函数参数设计应该考虑向下兼容
四:一个函数只做一件事,尽量保证函数语句粒度的一致性
6、Python 中如何避免内存泄漏?
有 del() 函数的对象间的循环引用是导致内存泄漏的主凶。不使用一个对象时使用:delobject 来删除一个对象的引用计数就可以有效防止内存泄漏问题。通过Python 扩展模块 gc 来查看不能回收的对象的详细信息。可以通过 sys.getrefcount(obj) 来获取对象的引用计数,并根据返回值是否为 0 来判断是否内存泄漏。
7、如何在python中实现多线程和多进程?
一个线程就是一个轻量级进程,多线程能让我们一次执行多个线程。python是多线程语言,其内置有多线程工具包。python中GIL(全局解释器锁)确保一次执行单个线程。
当程序中需要处理几百上千个进程时,仅仅用Process是不现实的,因为手动去规划进程过于繁琐,所以此时你需要另外的工具去管理这些进程。multiprocessing提供了一个Pool的工具。
Pool可以提供指定数量的进程供用户进行调用,当新的请求发到进程池时,如果此时进程池还没有满,那么Pool会自动创建一个进程去处理这个请求,否则,这个请求需要等待,直到进程池有新的空间释放。另外Pool与Process不同的地方是前者可以有返回值,而Process需要借助其他对象对数据进行存储。
8、列表数据如何筛选,筛选出符合要求的数据?
1、通用方式:通过迭代方式,从第一个开始判断,符合条件留下,不符合的丢弃。
2、filter方式:filter(function or None, iterable)–> filter object,该函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,需要用list转换回列表。
3、列表解析。
记住,别人有的你也要有!!!

  • 11
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
一、linux 1,linux常用命令 2,某个时间段日志的查询 3,linux文件的上传和下载 二、功能测试 1,工作中所遇到的错误 2,测试流程: 3,测试计划元素: 4,测试报告元素: 5,测试点: 6,测试方法: 7,bug相关问题 8,adb常用命令 9,软件测试原则 10,测试用例编写的要素 11,测试用例的设计原则 12,软件产品质量特性 13,android四大组件 14,web测试和app测试的区别 15,app的anr的根本原因 16,app的crash的原因 17,h5页面图片未加载出来问题排查 18,区分原生和h5页面 19,为什么不能用jenkins打包 三、性能测试 1,了解jmeter 2,性能指标 3,如何做性能测试 四、接口测试 1,如何设计接口测试用例 2,为什么要做接口测试 3,接口测试的关注点 4,request处理cookie的三种方式 五、自动化测试 1,自动化核心框架 2,自动化测试的好处 3,自动化的前提 4,自动化测试的场景 5,元素定位的8种方式 6,如果一个元素无法定位,一般会考虑哪些原因 7,driver.close()和driver.quit()的区别 8,自动化脚本断言 9,判断页面元素是否存在 10,js在web自动化中的作用展示 11,自动化代码优化 12,selenium对比RF 13,自动化测试脚本三种等待 14,PO模式 六、HTTP协议 1,HTTP协议特点: 2,HTTP传输原理 3,get和post的区别 4,HTTP响应代码 5,osi七层模型 6,三次握手过程 7,session和cookie的区别 8,tcp和udp的区别 9,sockect通信原理 10,post的三种请求方式 七、数据库 1,sql分类 2,数据库事务特性:ACID 3,mysql索引的类型 4,池化思想 5,redis 6,如何提高数据库运行效率 八、java 1,面向对象的三个特征 2,重写和重载 3,比较sping,sping mvc 4,进程和线程的区别 5,java三层架构 6,处理异常 九、python 1,字符串反转的7种方法 2,new 和 _init_ 3,不使用中间变量交换两个变量的值 4,python四大内置高阶函数 5,python带颜色输出 6,python *args,**kargs用法 7,python常用模块 8,python多线程 9,python发送邮件 10,python操作图像 11,python的replace()方法的使用

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值