百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

自动化测试工程师面试题(一)

itomcoil 2025-02-08 11:21 36 浏览

第一部分 python基础

1. 如何使用python 实现两个变量的值交换?

a,b = b,a利用Python赋值的方式


2. python 种的列表和元组有什么区别

a)列表是[]表示,元组是()表示

b)列表种的元素可以增删改,是可变的;元组中的元素只能查,是不能变动的。


3. python 中的局部变量和全局变量是什么?

全局变量:在函数外或全局空间种声明的变量称为全局变量。这些变量可以由程序中的任何函数访问。

局部变量:在函数内声明的任何变量都称为局部变量。此变量存在于局部空间中,而不是全局空间中。


4. pythn是否区分大小写?

是。Python是一种区分大小写的语言


5. 函数是什么,python中如何定义函数?

函数是一个代码块,,只有在被调用时才会被执行。要在Python种定义函数,需要使用def关键字。


6. python面向对象编程种,关键字self的含义是什么?如何使用?

self 表示类的实例或对象。在python中,self放在类的方法种的第一个参数。


7. python编程种,break,continue 的区别是什么?

break 是终止循环,跳出本层次循环的含义;continue是跳过当次循环,转而去判断下一次循环条件。


8. 在python中使用range()函数生成一个,1、3、5、7、9的列表怎么做?

Range(1,10,2)


9. python字符串转换题型?

Capitalize()函数可以将字符串的第一个字母大写;lower()函数把字符串转换为小写;upper()函数把字符串转换为大写等。


10. 函数中的不定长参数有哪两种形式表示,为什么要使用?

有 *args,**kwargs两种形式,当我们不确定将多少个参数传递给函数,或者我们想要将存储的列表或参数元组传递给函数时,我们使用*args。**当我们不知道将多少关键字 参数传递给函数时使用kwargs,或者它可以用于将字典的值作为关键字参数传递。


11. 列表或元组的索引使用负指数,功能是什么?

Python 中的序列是索引的,它由正数和负数组成,正数的索引使用‘0’作为第一个索引,‘1’作为第二个索引,进程继续使用。负数的索引从‘-1’开始,表示序列中的最后一个索引,‘-2’作为倒数第二个索引,序列向正数一样前进。


12. 如何在python中进行文件操作?

文件操作包含增删改查,要在pyhton中删除文件,先导入os模块,然后需要使用os.remove()函数;要在python中增加和修改文件,可以使用自带的open函数。


13. 之前公司拟用过的python编程规范是如何的?

包:全部小写,单词之间用下划线隔开,如:common_function模块

文件:全小写,单词之间用下划线隔开;

类:大驼峰命名法则,如:BasePage

属性/变量:全小写,单词之间用下划线隔开

方法/函数:全小写,单词之间用下划线隔开,动词写前面,如:open_url

全局变量:全大写,单词之阿金用下划线隔开,如:EXCEL_PATH


14. 如何在python中生存随机数?

可以使用python自带的random库,我之前在使用httprunner构建随机参数化封装的时候用过;random.randint(n,m)生成n到m范围内的一个随机数;random.choice([1,2,3,4,5,6,7,8,9,0]),从序列中随机选取一个元素。


15. 如何使用一行代码实现求1到1000之和?

使用该代码即可sum(range(0,1001))


16. python中的断言如何实现?

关键字:assert assert后面跟合法的表达式,当表达式为True时,不做任何操作,为False时会抛出异常,assert可以快速定位代码中的错误。


17. python 面向对象中的方法,都默认有一个参数self,作用是什么?

在python的类中self代码实例本身,具体来说,是该实例的内存地址。在调用实例的方法时,python解释器会自己把实例和变量传给类的函数中的self。


18. python 如何安装第三方模块?以及用过哪些第三方模块?

一般使用python内置的包管理工具,pip 进行在线安装,好处是可以自动解决包依赖问题,也可以使用离线安装方式,下载离线安装包后,进行解压,然后在解压的文件夹下执行python setup.py install即可安装。之前在企业用过selenium,requests,jsonpath,appnium,httprunner,Django等。


19. python 中自带的re模块match和search方法有什么区别。

match与search函数功能一样,match匹配字符串开始的第一个位置,search是在字符串全局匹配第一个符合规则的字符串。


20. 什么是正则的贪婪匹配?

贪婪匹配:正则表达式一般默认趋向于最大长度匹配,也就是所谓的贪婪匹配。非贪婪匹配:就是匹配到结果就好,就少的匹配字符。比如正则中的元字符。


21. def func(arg1,arg2=[])这种写法会有什么作用和效果?

该题考查函数中包含可变类型参数--列表,每次调用这个方法arg2不会每次都初始化,而是保留上一次的值,如果每次都想初始化,需要给arg2一个默认值none。


22. 一行代码如恶化实现删除列表中重复的值?

List(set(1,2,3,2))先把类别转化成集合类型,这样已经去重,然后转换成列表类型。


23. python面向对象中的继承有什么特点?

在python中,新建的类可以继承一个或多个父类(其他语言只能继承一个父类),父类又可以称为基类或超类;python3版本无论类是否继承object父类,都默认继承object。


24. 在python中,函数和方法的区别是什么。

函数:函数是封装了一些独立的功能,可以直接调用,python内置了许多函数,同时可以自建函数来使用。

方法;方法和函数类似,同样封装了独立的功能,但是方法需要通过对象来调用,表示针对这个对象要做的操纵,使用时采用对象+.进行调用。


25. Python 中异常处理写法

try:
'''执行语句'''
except
: #异常对象1
'''触发异常后执行语句'''
except
: #异常对象2
'''触发异常后执行语句'''
finally
: '''有没有一次都执行的语句'''
Else: '''没有异常执行的语句'''

一般except中一般把子类异常对象写在前面,父类对方写在后面。如果匹配,

子类对象提前触发,能显示更细致的报错原因。华友一个raise关键子,可以手动触发异常,一般和条件语句使用,作为第三方自定义业务异常用。


26. isinstance 作用以及应用场景?

Isinstance(对象参数,类参数)检查对象是否四该类的对象。


27. json序列化时,默认遇到中文会转换成unicode编码格式,如果想要保留中文怎么办?

之前我在接口测试框架中使用requests调用传递json数据姐时遇到过该问题,当时时这样处理的:json.dumps({"name":"小明"},ensure_ascii=False)。


28. Python的with关键字如何理解和使用?

它时一种上下文管理协议,目的在于从流程图中把try,except和finally关键字和资源分配释放相关代码统统去掉,简化try....except....finally的处理流程,简单来说,with表达式其实是try-finally的简写形式。但是又不是全相同。所谓上下文管理协议。这个类的实体里面要包含有对__enter__和—__exit__函数的定义才行。

使用:一般可以用来循环读写文件等使用。With后接一个打开文件对象,然后语句块中对文件进行循环操作,操作完文件后,自动结束。

一般应用场景:1、文件操作。2、进程线程之间互斥对象。3、支持上下问其他对象。


29. python函数有那些参数类型?

必备参数、默认值参数、关键字参数、收集参数(不定长参数,有*和**两种参数,*表示传递元组,**表示传递字典)。


30. Python的浅拷贝,深拷贝如何理解?

浅拷贝只是对另外一个变量的内存地址的拷贝,这两个变量指向同一个内存地址的变量值。浅拷贝的特点:公用一个值;这两个变量的内存地址一样;对其中一个变量的值的改变,另外一个变量的值也会改变;

如:L1 = [1,2,3];L2= L1

深拷贝:一个变量对另外一个变量的值拷贝。

深拷贝的特点:两个变量的内存地址不同;两个变量各有自己的值,且互不影响;对其任意一个变量的值的改变不会影响另外一个

如:L1 = [1,2,3];L2 = L1[:]

相关推荐

《Queendom》宣布冠军!女团MAMAMOO四人激动落泪

网易娱乐11月1日报道据台湾媒体报道,南韩女团竞争回归的生死斗《Queendom》昨(10/31)晚播出大决赛,并以直播方式进行,6组女团、女歌手皆演唱新歌,并加总前三轮的赛前赛、音源成绩与直播现场投...

正确复制、重写别人的代码,不算抄袭

我最近在一篇文章提到,工程师应该怎样避免使用大量的库、包以及其他依赖关系。我建议的另一种方案是,如果你没有达到重用第三方代码的阈值时,那么你就可以自己编写代码。在本文中,我将讨论一个在重用和从头开始编...

HTML DOM tr 对象_html event对象

tr对象tr对象代表了HTML表格的行。HTML文档中出现一个<tr>标签,就会创建一个tr对象。tr对象集合W3C:W3C标签。集合描述W3Ccells返回...

JS 打造动态表格_js如何动态改变表格内容

后台列表页最常见的需求:点击表头排序+一键全选。本文用原生js代码实现零依赖方案,涵盖DOM查询、排序算法、事件代理三大核心技能。效果速览一、核心思路事件入口:为每个<th>绑...

连肝7个晚上,总结了66条计算机网络的知识点

作者|哪吒来源|程序员小灰(ID:chengxuyuanxiaohui)计算机网络知识是面试常考的内容,在实际工作中经常涉及。最近,我总结了66条计算机网络相关的知识点。1、比较http0....

Vue 中 强制组件重新渲染的正确方法

作者:MichaelThiessen译者:前端小智来源:hackernoon有时候,依赖Vue响应方式来更新数据是不够的,相反,我们需要手动重新渲染组件来更新数据。或者,我们可能只想抛开当前的...

为什么100个前端只有1人能说清?浏览器重排/重绘深度解析

面试现场的"致命拷问""你的项目里做过哪些性能优化?能具体讲讲重排和重绘的区别吗?"作为面试官,我在秋招季连续面试过100多位前端候选人,这句提问几乎成了必考题。但令...

HTML DOM 介绍_dom4j html

HTMLDOM(文档对象模型)是一种基于文档的编程接口,它是HTML和XML文档的编程接口。它可以让开发人员通过JavaScript或其他脚本语言来访问和操作HTML和XML文档...

JavaScript 事件——“事件流和事件处理程序”的注意要点

事件流事件流描述的是从页面中接收事件的顺序。IE的事件流是事件冒泡流,而NetscapeCommunicator的事件流是事件捕获流。事件冒泡即事件开始时由最具体的元素接收,然后逐级向上传播到较为不...

探秘 Web 水印技术_水印制作网页

作者:fransli,腾讯PCG前端开发工程师Web水印技术在信息安全和版权保护等领域有着广泛的应用,对防止信息泄露或知识产品被侵犯有重要意义。水印根据可见性可分为可见水印和不可见水印(盲水印)...

国外顶流网红为流量拍摄性侵女学生?仅被封杀三月,回归仍爆火

曾经的油管之王,顶流网红DavidDobrik复出了。一切似乎都跟他因和成员灌酒性侵女学生被骂到退网之前一样:住在950万美元的豪宅,开着20万美元的阿斯顿马丁,每条视频都有数百万观看...人们仿佛...

JavaScript 内存泄漏排查方法_js内存泄漏及解决方法

一、概述本文主要介绍了如何通过Devtools的Memory内存工具排查JavaScript内存泄漏问题。先介绍了一些相关概念,说明了Memory内存工具的使用方式,然后介绍了堆快照的...

外贸独立站,网站优化的具体内容_外贸独立站,网站优化的具体内容有哪些

Wordpress网站优化,是通过优化代码、数据库、缓存、CSS/JS等内容,提升网站加载速度、交互性和稳定性。网站加载速度,是Google搜索引擎的第一权重,也是SEO优化的前提。1.优化渲染阻塞。...

这8个CSS工具可以提升编程速度_css用什么编译器

下面为大家推荐的这8个CSS工具,有提供函数的,有提供类的,有提取代码的,还有收集CSS的统计数据的……请花费两分钟的时间看完这篇文章,或许你会找到意外的惊喜,并且为你的编程之路打开了一扇新的大门。1...

vue的理解-vue源码 历史 简介 核心特性 和jquery区别 和 react对比

一、从历史说起Web是WorldWideWeb的简称,中文译为万维网我们可以将它规划成如下的几个时代来进行理解石器时代文明时代工业革命时代百花齐放时代石器时代石器时代指的就是我们的静态网页,可以欣...