2024自动化测试面试真题(附答案)!

2024自动化测试面试真题及答案

一、编程语法题

1 、 python 有哪些数据类型

  • python 数据类型有很多,基本数据类型有整型(数字)、字符串、元组、列表、字典和布尔类型等

2 、怎么将两个字典合并

  • 调用字典的 update 方法,合并 2 个字典。

3 、 json.l python 如何将 json 写到文件里?

  • loads() 是将字符串转化为字典

  • json.load()是将文件打开从字符串转换成数据类型

  • json.dumps () 是将字典转化为字符串

  • json.dump()是将数据类型转换成字符串并存储在文件中

4 、 __init__ 和 __new__ 区别?

  • __new__是在实例创建之前被调用的,因为它的任务就是创建实例然后返回该

    实例对象,是个静态方法。

  • __init__是当实例对象创建完成后被调用的,然后设置对象属性的一些初始值,通常用在初始化一个类实例的时候。是一个实例方法。

5 、什么是可变、不可变类型?

  • 可变数据类型:列表 list 和字典 dict;

  • 不可变数据类型:整型 int、浮点型 float、字符串型 string 和元组 tuple

6 、 mysql 注入点,用工具对目标站直接写入一句话,需要哪些条件?

mysql 写入一句话需要具备

  • 1.secure-file-priv='',即:my.ini 文件,打开找到 secure-file-priv 参数改空

  • 2.当前用户具备 root 权限

  • 3.已获取到应用程序的绝对路径,且目录可以进行文件写入操作。 

7 、 python 深浅拷贝的区别

  • 对于不可变数据来说深浅拷贝的结果一致会重新创一个数据的副本。浅拷贝对于

    可变类型来说只会拷贝其元素的引用。

  • 深拷贝对于可变元素来说会递归的整个重新创建一个原数据的副本。

8 、 python 为什么使用 *args 和 **kwargs

如果我们不确定要往函数中传入多少个参数,或者我们想往函数中以列表和元组

的形式传参数时,那就使用*args;如果我们不知道要往函数中传入多少个关

键词参数,或者想传入字典的值作为关键词参数时,那就要使用**kwargs。args

和 kwargs 这两个标识符是约定俗成的用法,你当然还可以用*bob 和**billy,

但是这样就不太专业。

9 、重写和重载有什么区别?

  • 重写:用在类的继承当中。子类对父类的同名方法,进行重写。在子类同名方法

    内部,如果要延用父类的方法,可以使用 super 调用。

  • 重载:用在类当中,对于同一个方法名,支持不同类型的参数,支持不同数量的

  • 参数。由于 python 的函数本身就对参数不作类型限定,也有*args 和**kwargs

    支持不定长度参数。

10 、 python 实现 get 数据库的表?你是怎么实现的?

python 当中对于不同数据库,都有不同的第三库来实现连接和数据库操作。

比较熟悉的是对 mysql 的操作。使用的是 pymysql 这个第三方库。第一步是建立

数 据 库 连 接 ;第 二 步 调 用 execute 方 法 执 行 sql 语 句 , 第 三 步 使 用

fetchone,fetchall,fetchmany 去获取不同条数的结果。

11 、对象 ( 实例 ) 方法,类方法,静态方法的定义有何不同?分别适用于什么场

景?

  • python 中,类中定义的普通函数就是对象方法,对象方法中的第一个形参一般

    会定义为`self`,表示调用的对象本身,当对象调用对象方法时会被隐式的传递

    给这个形参。所以当函数需要用到对象或对象的属性时一般会将其定义为对象方

    法。

  • 类方法定义时,需要使用装饰器`classmethod`进行装饰,类方法中的第一个形

    参一般会定义为`cls`,表示类本身。当对象调用或类调用类方法时,类会被隐

    式的传递给这个形参。所以当函数需要用到类或者类的属性时一般会将其定义为

    类方法。

  • 静态方法定义时,需要使用装饰器`staticmethod`进行装饰,其他与普通函数没

    有区别。一般会将一些与对象和类无关的工具函数定义为静态方法,方便调用。

12 、 SQL 连表查询,去重查询,查询重复的数据?

两表查询:SELECT 字段 1,字段 2,字段 3,…… FROM 表名 1 INNER JOIN 表名 2ON 关联条件;去重查询:SELECT distinct ...;查询重复的数据:select 列名 from 表名 group by 列名 having count(列名) > 1;

13 、 python 的单例模式?

  • 单例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值