软件测试面试中都会问到哪些关于Python的问题?
语言特性
- 谈谈对Python和其他语言的区别
- 简述解释型和编译型编程语言
- Python的解释器种类以及相关特点?
- Python3和Python2的区别?
- Python3和Python2中int和long区别?
- xrange和range的区别?
- 什么是PEP8?
- 解Python之禅么?
- 了解DocStrings么?
- 了解类型注解么?
- 例举你知道Python对象的命名规范,例如方法或者类等
- Python中的注释有几种?
- 如何优雅的给一个函数加注释?
- 如何给变量加注释?
- Python代码缩进中是否支持Tab键和空格混用。
- 是否可以在一句import 中导入多个库?
- 在给Py文件命名的时候需要注意什么?
- 例举几个规范Python代码风格的工具
- 列举Python中的基本数据类型?
- 如何区别可变数据类型和不可变数据类型
- 将"hello world"转换为首字母大写"Hello World"
- 如何检测字符串中只含有数字?
- 将字符串"ilovechina"进行反转
- Python中的字符串格式化方式你知道哪些?
- 有一个字符串开头和末尾都有空格,比如“ adabdw ”,要求写一个函数把这个字符串的前后空格都去掉。
- 获取字符串”123456“最后的两个字符。
- 一个编码为GBK的字符串S,要将其转成UTF - 8编码的字符串,应如何操作?
- (1)s = “info:xiaoZhang 33 shandong”,用正则切分字符串输出[‘info’, ‘xiaoZhang’, ‘33’, ‘shandong’]。(2)a = "你好 中国 ",去除多余空格只留一个空格。
- (1)怎样将字符串转换为小写。 (2)单引号、双引号、三引号的区别?
- 已知AList = [1, 2, 3, 1, 2],对AList列表元素去重,写出具体过程。
- 如何实现"1,2,3"变成[“1”, “2”, “3”]
- 给定两个list,A和B,找出相同元素和不同元素
- [[1, 2], [3, 4], [5, 6]]一行代码展开该列表,得出[1, 2, 3, 4, 5, 6]
- 合并列表[1, 5, 7, 9]和[2, 2, 6, 8]
- 如何打乱一个列表的元素?
- 字典操作中del 和pop有什么区别
- 按照字典的内的年龄排序
- 请合并下面两个字典a = {“A”:1, “B”:2}, b = {“C”:3, “D”:4}
- 如何使用生成式的方式生成一个字典,写一段功能代码。
- 如何把元组(“a”, “b”)和元组(1, 2),变为字典{“a”:1, “b”:2}
- 下列字典对象键类型不正确的是?
- 如何交换字典{“A”:1, “B”:2}的键和值
- Python里面如何实现tuple和list的转换?
- 我们知道对于列表可以使用切片操作进行部分元素的选择,那么如何对生成器类型的对象实现相同的功能呢?
- 请将[i for i in range(3)] 改成生成器
- a = "hello"和b = "你好"编码成bytes类型
- 下面的代码输出结果是什么?
a = (1, 2, 3, [4, 5, 6, 7], 8) a[2] = 2
- 下面的代码输出的结果是什么?
a = (1, 2, 3, [4, 5, 6, 7], 8) a[3][0] = 2
- Python交换两个变量的值
- 在读文件操作的时候会使用read、readline或者readlines,简述它们各自的作用
- json序列化时,可以处理的数据类型有哪些?如何定制支持datetime类型?
- json序列化时,默认遇到中文会转换成unicode,如果想要保留中文怎么办?
- 有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中。
- 如果当前的日期为20190530,要求写一个函数输出N天后的日期,(比如 N 为 2,则输出 20190601)。
- 写一个函数,接收整数参数n,返回一个函数,函数的功能是把函数的参数和n相乘并把结果返回。
- 下面代码会存在什么问题,如何改进?
- 一行代码输出1 - 100之间的所有偶数。
- with 语句的作用,写一段代码?
- Python字典和json字符串相互转化方法
- 请写一个Python逻辑,计算一个文件中的大写字母数量
- 请写一段Python连接Mongo数据库,然后的查询代码。
- 说一说Redis的基本类型
- 请写一段Python连接Redis数据库的代码。
- 请写一段Python连接Mysql数据库的代码。
- 了解Redis的事务么
- 了解数据库的三范式么?
- 了解分布式锁么
- 用Python实现一个Reids的分布式锁的功能
- 写一段Python使用mongo数据库创建索引的代码
- 函数装饰器有什么作用?请列举说明?
- Python垃圾回收机制?
- 魔法函数_call_怎么使用?
- 如何判断一个对象是函数还是方法?
- @ classmethod和 @ staticmethod用法和区别
- Python中的接口如何实现?
- Python中的反射了解么?
- metaclass作用?以及应用场景?
- hasattr()、getattr()、setattr()的用法
- 请列举你知道的Python的魔法方法及用途。
- 如何知道一个Python对象的类型?
- Python的传参是传值还是传址?
- Python中的元类(metacla***举例
- 简述any()和all()方法
- filter方法求出列表所有奇数并构造新列表,a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
- 什么是猴子补丁?
- 在Python中是如何管理内存的?
- 当退出Python时是否释放所有内存分配?
- (1)使用正则表达式匹配出 < html > < h1\ > www.baidu.com < / h1 > < / html > 中的地址,(2)a = “张明 98 分”,用re.sub,将98替换为100
- **正则表达式匹配中(. )和(. ?)匹配区别?
- 写一段匹配邮箱的正则表达式
- 解释一下Python中pass语句的作用?
- 简述你对input()函数的理解
- Python中的 is 和 ==
- Python中的作用域
- 三元运算写法和应用场景?
- 了解enumerate么?
- 列举5个Python中的标准模块
- 如何在函数中设置一个全局变量
- pathlib的用法举例
- Python中的异常处理,写一个简单的应用场景
- Python中递归的最大次数,那如何突破呢?
- 什么是面向对象的mro
- isinstance作用以及应用场景?
- 什么是断言?应用场景?
- lambda 表达式格式以及应用场景?
- 新式类和旧式类的区别
- dir()是干什么用的?
- 一个包里有三个模块,demo1.py、demo2.py、demo3.py,但使用from tools import *导入模块时,如何保证只有demo1、demo3被导入了。
- 列举5个Python中的异常类型以及其含义
- copy和deepcopy的区别是什么?
- 代码中经常遇到的 * args, ** kwargs含义及用法。
- Python中会有函数或成员变量包含单下划线前缀和结尾,和双下划线前缀结尾,区别是什么?
- w、a +、wb文件写入模式的区别
- 举例sort和sorted的区别
- 什么是负索引?
- pprint模块是干什么的?
- 解释一下Python中的赋值运算符
- 解释一下Python中的逻辑运算符
- 讲讲Python中的位运算符
- 在Python中如何使用多进制数字?
- 怎样声明多个变量并赋值?
- 已知
AList = [1, 2, 3] BSet = {1, 2, 3}
(1)从AList和BSet中查找4,最坏时间复杂度哪个大?
(2)从AList和BSet中插入4,最坏时间复杂度哪个大? - 用Python实现一个二分查找的函数
- Python单例模式的实现方法
- 使用Python实现一个斐波那契数列
- 找出列表中的重复数字
- 找出列表中的单个数字
- 写一个冒泡排序
- 写一个快速排序
- 写一个拓扑排序
- Python实现一个二进制计算
- 有一组“+”和“-”符号,要求将“+”排到左边,“-”排到右边,写出具体的实现方法。
- 单链表反转
- 交叉链表求交点
- 用队列实现栈ww
- 找出数据流的中位数
- 二叉搜索树中第K小的元素
爬虫相关
-
在requests模块中,requests.content和requests.text什么区别
-
简要写一下lxml模块的使用方法框架
-
说一说scrapy的工作流程
-
scrapy的去重原理
-
scrapy中间件有几种类,你用过哪些中间件
-
你写爬虫的时候都遇到过什么?反爬虫措施,你是怎么解决的?
-
为什么会用到代理?
-
代理失效了怎么处理?
-
列出你知道header的内容以及信息
-
说一说打开浏览器访问www.baidu.com获取到结果,整个流程。
- scrapy和scrapy - redis有什么区别?为什么选择redis数据库?
- 分布式爬虫主要解决什么问题
- 写爬虫是用多进程好?还是多线程好? 为什么?
- 解析网页的解析器使用最多的是哪几个
- 验证码的解决?
- 需要登录的网页,如何解决同时限制ip,cookie, session(其中有一些是动态生成的)在不使用动态爬取的情况下?
- 验证码的解决?
- 使用最多的数据库(mysql,mongodb,redis等),对他的理解?
- TCP和UDP的区别?
- 简要介绍三次握手和四次挥手
- 什么是粘包? socket中造成粘包的原因是什么? 哪些情况会发生粘包现象?
并发
-
举例说明concurrent.future的中线程池的用法
-
说一说多线程,多进程和协程的区别。
-
简述 GIL
-
进程之间如何通信
-
IO多路复用的作用?
-
select、poll、epoll模型的区别?
-
什么是并发和并行?
-
一个线程1让线程2去调用一个函数怎么实现
-
解释什么是异步非阻塞?
-
threading.local的作用?
Git面试题
-
说说你知道的git命令
-
git如何查看某次提交修改的内容
-
总结了很多有关于Python面试的资料,希望能够帮助正在学习Python的小伙伴。由于资料过多不便发表文章,创作不易,望小伙伴们能够给我一些动力继续创建更好的Python类学习资料文章,请多多支持和关注小作,别忘了点赞