自动化测试面试常见技术题目

1:一行代码实现1--100之和

print(sum(list(range(1,101))))

2:如何在一个函数内部修改全局变量

  global  修改全局变量

         局部作用域只能调用全局作用域的变量,但是不熊修改全局作用域的变量,如果想要修改全局作用域的变量需要global一下

3:列出5个python标准库

  re

  sys

  time

  os

  random

  math

  datetime

  subprocess

4:字典如何删除键和合并两个字典

  del dict[key]  pop dict[key]    删除

  update  +  dict(dict1.items()+dict2.items())  +  dict(dict_a,dict_b)  

5:谈下python的GIL

  GIL 是python的全局解释器锁,

  同一进程中假如有多个线程运行,一个线程在运行python程序的时候会霸占python解释器(加了一把锁即GIL),
  使该进程内的其他线程无法运行,等该线程运行完后其他线程才能运行。如果线程运行过程中遇到耗时操作,
  则解释器锁解开,使其他线程运行。所以在多线程中,线程的运行仍是有先后顺序的,并不是同时进行

  多进程中因为每个进程都能被系统分配资源,相当于每个进程有了一个python解释器,所以多进程可以实现多个进程的同时运行,缺点是进程系统资源开销大

6:python实现列表去重的方法   先把列表转set集合,再转成list列表 

  set(list())

7:fun(*args,**kwargs)中的*args,**kwargs什么意思?
  *args, 可变数量参数  接收位置参数自动封装成元组
  **kwargs 关键字可变数量参数  接收关键字参数会自动封装成字典、

8:python2和python3的range(100)的区别
  python2返回列表,python3返回迭代器,节约内存

9:一句话解释什么样的语言能够用装饰器? 

  函数名可以当成参数传递的语言

10:python内建数据类型有哪些 

  int

  float

  str

  list

  set

  布尔

  ddictionary

  tuple元组

11:简述面向对象中__new__和__init__区别  

  __init__  参数self,构造函数,初始化方法,创建对象后,就立刻被默认调用了,可接收参数,

  __new__  参数cls,必须有返回值,py3默认继承父类object的new方法,类名实例化后会返回一个实例

  自己重构__new__方法的时候注意,一把需要把父类object的new函数生成的实例return出来

   __init__  的参数self,就是__new__返回的实例,实例化一个对象的时候__new__方法先调用

    调用后返回一个self实例, 

  如果__new__创建的是当前类的实例,会自动调用__init__函数,通过return语句里面调用的__new__函数的第一个参数是cls来保证是当前类实例,
    如果是其他类的类名,;那么实际创建返回的就是其他类的实例,其实就不会调用当前类的__init__函数,也不会调用其他类的__init__函数。

12:简述with方法打开处理文件帮我我们做了什么?   

    打开文件在进行读写的时候可能会出现一些异常状况,如果按照常规的f.open写法,我们需要try,except,finally,  

    做异常判断,并且文件最终不管遇到什么情况,都要执行finally f.close()关闭文件,

    with方法帮我们实现了finally中f.close

    open的话打开文件代码gg不会自动关闭文件,with open会

13:列表[1,2,3,4,5],请使用map()函数输出[1,4,9,16,25],并使用列表推导式提取出大于10的数,最终输出[16,25]    

list_a=[1,2,3,4,5]
res=map(lambda x:x**2,list_a)
rep=[i for i in res if i >10]
print(rep)

14:python中生成随机整数、随机小数、0--1之间小数方法

  random.random  随机返回0-1

  random.randint(1,10)  返回0-1随机小数

  np.random.randn(5)   返回5个随机小数

15:避免转义需要给字符串加哪个字母表示原始字符串?       r

16:<div class="nam">中国</div>,用正则匹配出标签里面的内容(“中国”),其中class的类名是不确定的 

  div class="nam">(.*?)</div>

17:python中断言方法举例

  assert

  assrtin

  assertnotin

  assertequal

  assertenotqual

  ssertTrue

  assertFalse

  assertIsNone

  assertIsNotNone

18:数据表student有id,name,score,city字段,其中name中的名字可有重复,需要消除重复行,请写sql语句

   select distinct name from student       distinct name  把搜索出来的neme数据distinct去重    

19::10个Linux常用命令 

  cat  vi  tail  header  echo  mkdir  netstat  touch  df

  clear  mount  ls  ll  cp

20:python2和python3区别?列举5个  

  1:print  2没括号,3有括号

  2:py3默认文件编码是utf8,默认字符集编码是unicode,py2默认ascll

  3:/  py3默认除法,py2默认乘除

  4:range(),map等内置函数,py3默认返回迭代器,py2默认返回列表

  5:py3类默认继承objct新式类,py2。7默认是经典类

  6:py3是input  py2是raw_input

21:列出python中可变数据类型和不可变数据类型,并简述原理

  可变:list列表,set集合,dictionary字典

  不可变:int  str  tuple元组

  不允许变量的值发生变化,如果改变了变量的值,相当于是新建了一个对象,而对于相同的值的对象,

    在内存中则只有一个对象(一个地址),如下图用id()方法可以打印对象的id

  允许变量的值发生变化,即如果对变量进行append、+=等这种操作后,只是改变了变量的值,

    而不会新建一个对象,变量引用的对象的地址也不会变化,

22:s = "ajldjlajfdljfddd",去重并从小到大排序输出"adfjl"

s = "ajldjlajfdljfddd"
res=list(set(s))
res.sort()
print("".join(res))

23:用lambda函数实现两个数相乘 

func=lambda x,y:x*y

24:字典根据键从小到大排序dict={"name":"zs","age":18,"city":"深圳","tel":"1362626627"}

dict={"name":"zs","age":18,"city":"深圳","tel":"1362626627"}
res=sorted(dict)
ret={i:dict[i] for i in res}
print(ret)sort 是应用在 list上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操

25:利用collections库的Counter方法统计字符串每个单词出现的次数"kjalfj;ldsjafl;hdsllfdhg;lahfbl;hl;ahlf;h"

from collections import Counter
str_a="kjalfj;ldsjafl;hdsllfdhg;lahfbl;hl;ahlf;h"
res=Counter(str_a)
nun_1=Counter(str_a).most_common(3)     #取前三位
print(nun_1)

26:字符串a = "not 404 found 张三 99 深圳",每个词中间是空格,用正则过滤掉英文和数字,最终输出"张三 深圳"

a = "not 404 found 张三 99 深圳"
import re
res=re.findall('[^\x00-\xff]{2}',a)
ret="".join(res)
print(ret)
#表达式表示的是0- 255 的ASCII码

27:filter方法求出列表所有奇数并构造新列表,a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
def func(x):if x %2 !=0:return x
res=filter(func,a)
print(list(res))    #[1, 3, 5, 7, 9]

28:列表推导式求列表所有奇数并构造新列表,a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]   

a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
res=[i for i in a if i%2!=0]
print(res)

29:正则re.complie作用   

    一个正则表达式如果很长而且需要经常使用的话使用re.compile是将正则表达式编译成一个对象,加快速度,并重复使用

30:a=(1,)b=(1),c=("1") 分别是什么类型的数据? 

      a=(1,)    元组

    b=(1)     int数字类型

    c=("1")    str字符串

31:请写一个函数reverse,参数是一个列表,该函数将列表中的所有元素倒序排列并返回

def reverse_func(lis):alist=[]for i in range(0,len(lis)):nun=lis.pop()alist.append(nun)return alist
print(reverse_func([1,2,3,4]))reverse是list的内置方法,reversed是个函数  list_num.reverse()#此处相当于把list_num 逆置了
  reverse是改变原来的list,
reversed的对象可以是列表和字符串,返回一个反转后的迭代器,但必须要转化成list(),不然不能使用
s1=['a','b','c']s2="abc"print(reversed(s1))print("s1:",list(reversed(s1)))print("s2:",list(reversed(s2)))print("s2:",str(reversed(s2)))

这里为你准备了200G软件测试教程9资料,包括用例模板、计划模板、报告模板、性能调优、自
动化教程、测开模板、简历模板、面试技巧、大厂真题等!点击下方自行获取:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/123270.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【算法】插入排序

插入排序 插入排序代码实现代码优化 排序&#xff1a; 排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。 稳定性&#xff1a; 假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记录&…

一文讲解Linux内核内存管理架构

内存管理子系统可能是linux内核中最为复杂的一个子系统&#xff0c;其支持的功能需求众多&#xff0c;如页面映射、页面分配、页面回收、页面交换、冷热页面、紧急页面、页面碎片管理、页面缓存、页面统计等&#xff0c;而且对性能也有很高的要求。本文从内存管理硬件架构、地址…

RabbitMQ高级特性

目录 消息的可靠投递confirm和return Consumer Ack 消费端限流 TTL Time To Live&#xff08;存活时间/过期时间&#xff09; 死信队列&#xff08;死信交换机&#xff09; 延迟队列 日志与监控 rabbitmqctl管理和监控 消息追踪 消息的可靠投递confirm和return 持久…

小程序隐私保护授权处理方式之弹窗组件

欢迎点击关注-前端面试进阶指南&#xff1a;前端登顶之巅-最全面的前端知识点梳理总结 *分享一个使用比较久的&#x1fa9c; 小程序隐私保护授权弹窗组件 调用wx.getUserProfile进行授权时&#xff0c;返回错误信息&#xff1a;{errMsg: “getUserProfile:fail api scope is…

李宏毅-21-hw3:对11种食物进行分类-CNN

一、代码慢慢阅读理解总结内化&#xff1a; 1.关于torch.nn.covd2d()的参数含义、具体用法、功能&#xff1a; &#xff08;1&#xff09;参数含义&#xff1a; 注意&#xff0c;里面的“padding”参数&#xff1a;《both》side所以是上下左右《四》边都会加一个padding数量…

jmeter 数据库连接配置 JDBC Connection Configuration

jmeter 从数据库获取变量信息 官方文档参考&#xff1a; [jmeter安装路径]/printable_docs/usermanual/component_reference.html#JDBC_Connection_Configuration 引入数据库连接&#xff1a; 将MySQLjar包存放至jemter指定目录&#xff08;/apache-jmeter-3.3/lib&#xff09…

K8S的CKA考试环境和题目

CKA考试这几年来虽然版本在升级&#xff0c;但题目一直没有大的变化&#xff0c;通过K8S考试的方法就是在模拟环境上反复练习&#xff0c;通过练习熟悉考试环境和考试过程中可能遇到的坑。这里姚远老师详细向大家介绍一下考试的环境和题目&#xff0c;需要详细资料的同学请在文…

pdf怎么转换成jpg图片?

随着数字文档的广泛应用&#xff0c;将PDF转换为JPG图片格式成为了一个常见的需求。无论是为了在网页上展示内容&#xff0c;还是为了与他人分享图片&#xff0c;以下是一些简单的方法&#xff0c;帮助您将PDF文件快速转换为高质量的JPG图片。 方法一&#xff1a;在线PDF转JPG…

B-Tree 索引和 Hash 索引的对比

分析&回答 B-Tree 索引的特点 B-tree 索引可以用于使用 , >, >, <, < 或者 BETWEEN 运算符的列比较。如果 LIKE 的参数是一个没有以通配符起始的常量字符串的话也可以使用这种索引。 有时&#xff0c;即使有索引可以使用&#xff0c;MySQL 也不使用任何索引。…

大数据之MapReduce

MapReduce概述 是一个分布式的编程框架&#xff0c;MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序&#xff0c;并发运行在一个Hadoop集群上。 优点&#xff1a; 易于编程&#xff0c;简单的实现一些接口&#xff0c;就可以完成一…

C高级 DAY1

一、复习 命令行提示符 ubuntuubuntu:~$ 第一个ubuntu:用户名 第二个ubuntu:主机名 &#xff1a; ---> 分割符 ~ &#xff1a; 用户的家目录 $: 普通用户 #&#xff1a;管理员 切换用户 su 用户名---》切换至指定用户 su --》切换至超级用户 sudo 加在…

excel表格怎么换行?好用的3个方法

excel是一款功能齐全的电子表格应用程序&#xff0c;广泛用于数据分析、记录和管理。在创建excel表格时&#xff0c;有时候我们需要在单元格中输入较长的文本内容&#xff0c;这时如何进行换行是一个常见问题。本文将为您介绍excel表格怎么换行的3种方法&#xff0c;帮助您轻松…

LeetCode 3. 无重复字符的最长子串

题目链接 题目解析 我们需要找的是含重复元素的最长子串&#xff0c;当然直接暴力求解固然简单。但是可能引发的情况是超时&#xff0c;而且面试官想看到的也不是让你去暴力解决这类问题。因此我们使用哈希滑动窗口的思想来解决。 滑动窗口哈希 使用哈希表的缘故是更好的判…

Vue + Element UI 实现权限管理系统 前端篇(四):优化登录流程

完善登录流程 1. 丰富登录界面 1.1 从 Element 指南中选择组件模板丰富登录界面&#xff0c;放置一个登录界面表单&#xff0c;包含账号密码输入框和登录重置按钮。 <template><el-form :model"loginForm" :rules"fieldRules" ref"loginFo…

ORB-SLAM2算法14之局部建图线程Local Mapping

文章目录 0 引言1 概述2 处理队列中的关键帧3 剔除坏的地图点4 创建新地图点5 融合当前关键帧和其共视帧的地图点6 局部BA优化7 剔除冗余关键帧 0 引言 ORB-SLAM2算法7详细了解了System主类和多线程、ORB-SLAM2学习笔记8详细了解了图像特征点提取和描述子的生成、ORB-SLAM2算法…

LeetCode 1113.报告的记录

数据准备 Create table If Not Exists Actions (user_id int, post_id int, action_date date, action ENUM(view, like, reaction, comment, report, share), extra varchar(10)); Truncate table Actions; insert into Actions (user_id, post_id, action_date, action, ext…

MySQL——存储引擎

简介 MySQL数据库主要的存储引擎&#xff1a; MyISAM和InnoDB简介 MyISAM是MySQL的默认数据库引擎&#xff08;5.5版之前&#xff09;&#xff0c;由早期的 ISAM &#xff08;Indexed Sequential Access Method&#xff1a;有索引的顺序访问方法&#xff09;所改良。虽然性能…

Gateway--服务网关

1 网关简介 大家都都知道在微服务架构中&#xff0c;一个系统会被拆分为很多个微服务。那么作为客户端要如何去调用 这么多的微服务呢&#xff1f;如果没有网关的存在&#xff0c;我们只能在客户端记录每个微服务的地址&#xff0c;然后分别去调用。 这样的架构&#xff0c;会…

Elasticsearch:wildcard - 通配符搜索

Elasticsearch 是一个分布式、免费和开放的搜索和分析引擎&#xff0c;适用于所有类型的数据&#xff0c;例如文本、数字、地理空间、结构化和非结构化数据。 它基于 Apache Lucene 构建&#xff0c;Apache Lucene 是一个全文搜索引擎&#xff0c;可用于各种编程语言。 由于其速…

mysql(十)mysql主从复制--主库切换

概述 可能为了更迭升级服务器&#xff0c;或者主库出现问题&#xff0c;又或者只是希望重新分配容量&#xff0c;此时需要切换主库。 如果这是计划内的切换&#xff0c;会相对容易点。只需要在从库上使用CHANGE MASTER TO命令&#xff0c;并设置合适的值。大多数的值都是可选…