总结10大门类100道python面试题笔试题

简介: 很多人学完python在问面试笔试该怎么准备,因此小编总结并精选了近200年的python面试和笔试题,总共分为十个门类100多道python面试题,愿各位小伙伴在寻找工作的同时更加顺利


很多人学完python在问面试笔试该怎么准备,因此小编总结并精选了近200年的python面试和笔试题,总共分为十个门类100多道python面试题,愿各位小伙伴在寻找工作的同时更加顺利

**

关注公众号【一行数据】回复【面试】可以收到所有题目的答案哦

**

一、python基础知识

1.1 列出5个python标准库

   os:提供了不少与操作系统相关联的函数

   sys: 通常用于命令行参数

   re: 正则匹配

   math: 数学运算

   datetime:处理日期时间

1.2 python2和python3的range(100)的区别

python2返回列表,python3返回迭代器,节约内存

1.3python2和python3区别?列举5个

1、Python3 使用 print 必须要以小括号包裹打印内容,比如 print(‘hi’)

Python2 既可以使用带小括号的方式,也可以使用一个空格来分隔打印内容,比如 print ‘hi’

2、python2 range(1,10)返回列表,python3中返回迭代器,节约内存

3、python2中使用ascii编码,python3中使用utf-8编码

4、python2中unicode表示字符串序列,str表示字节序列python3中str表示字符串序列,byte表示字节序列

5、python2中为正常显示中文,引入coding声明,python3中不需要

6、python2中是raw_input()函数,python3中是input()函数

1.4 请列出你会的任意一种统计图(条形图、折线图等)绘制的开源库,第三方也行

pychart、matplotlib

1.5 提高python运行效率的方法

1、使用生成器,因为可以节约大量内存

2、循环代码优化,避免过多重复代码的执行

3、核心模块用Cython PyPy等,提高效率

4、多进程、多线程、协程

5、多个if elif条件判断,可以把最有可能先发生的条件放到前面写,这样可以减少程序判断的次数,提高效率

1.6 遇到bug如何处理

1、细节上的错误,通过print()打印,能执行到print()说明一般上面的代码没有问题,分段检测程序是否有问题,如果是js的话可以alert或console.log

2、如果涉及一些第三方框架,会去查官方文档或者一些技术博客。

3、对于bug的管理与归类总结,一般测试将测试出的bug用teambin等bug管理工具进行记录,然后我们会一条一条进行修改,修改的过程也是理解业务逻辑和提高自己编程逻辑缜密性的方法,我也都会收藏做一些笔记记录。

4、导包问题、城市定位多音字造成的显示错误问题

1.7 简述python引用计数机制

python垃圾回收主要以引用计数为主,标记-清除和分代清除为辅的机制,其中标记-清除和分代回收主要是为了处理循环引用的难题。

引用计数算法

当有1个变量保存了对象的引用时,此对象的引用计数就会加1

当使用del删除变量指向的对象时,如果对象的引用计数不为1,比如3,那么此时只会让这个引用计数减1,即变为2,当再次调用del时,变为1,如果再调用1次del,此时会真的把对象进行删除

1.8 列举3条以上PEP8编码规范

1、顶级定义之间空两行,比如函数或者类定义。

2、方法定义、类定义与第一个方法之间,都应该空一行

3、三引号进行注释

4、使用Pycharm、Eclipse一般使用4个空格来缩进代码

二、python数据类型

2.1 python内建数据类型有哪些

2.2 a=(1,)b=(1),c=(“1”) 分别是什么类型的数据?

2.3 python传参数是传值还是传址?

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

2.5 python中交换两个数值

2.6 生成0-100的随机数

2.7 一行代码实现1–100之和

2.8 保留两位小数

2.9 a=“张明 98分”,用re.sub,将98替换为100

2.10 单引号、双引号、三引号用法

2.11 字符串转化大小写

2.12 用两种方法去空格 str = " what the problem"

2.13 避免转义给字符串加哪个字母表示原始字符串?

a="hello"和b="你好"编码成bytes类型

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

2.15 [1,2,3]+[4,5,6]的结果是多少?

2.16 list=[2,3,5,4,9,6],从小到大排序,不许用sort,输出[2,3,4,5,6,9]

2.17 python中生成随机整数、随机小数、0–1之间小数方法

2.18 s = “ajldjlajfdljfddd”,去重并从小到大排序输出"adfjl"

2.19 x=“abc”,y=“def”,z=[“d”,“e”,“f”],分别求出x.join(y)和x.join(z)返回的结果

2.20 a = " hehheh ",去除收尾空格

2.21 1. python实现列表去重的方法(多种方法)

2.22 举例sort和sorted对列表排序,list=[0,-1,3,-10,5,9]

2.23 对list排序foo = [-5,8,0,4,9,-4,-20,-2,8,2,-4],使用lambda函数从小到大排序

2.24 使用lambda函数对list排序foo = [-5,8,0,4,9,-4,-20,-2,8,2,-4],输出结果为[0,2,4,8,8,9,-2,-4,-4,-5,-20],正数从小到大,负数从大到小

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

2.26 两个列表[1,5,7,9]和[2,2,6,8]合并为[1,2,2,3,6,7,8,9]

2.27 [[1,2],[3,4],[5,6]]一行代码展开该列表,得出[1,2,3,4,5,6]

2.28 请将[i for i in range(3)]改成生成器

2.29 列表嵌套元组,分别按字母和数字排序foo = [(“zs”,19),(“ll”,54),(“wa”,17),(“df”,23)]

2.30 列表嵌套列表排序,年龄数字相同怎么办?foo = [(“zs”,19),(“ll”,54),(“wa”,17),(“df”,23),(“xf”,23)]

2.31根据字符串长度排序

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

2.33 字典根据键从小到大排序

2.34列表嵌套字典的排序,分别根据年龄和姓名排序foo = [{“name”:“zs”,“age”:19},{“name”:“ll”,“age”:54},{“name”:“wa”,“age”:17},{“name”:“df”,“age”:23}]

2.35 使用pop和del删除字典中的"name"字段,dic={“name”:“zs”,“age”:18}

2.36 python字典和json字符串相互转化方法

2.37 求三个方法打印结果

2.38 python中什么元素为假?

2.39 is和==有什么区别?

三、python函数和方法

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

3.2 递归求和

3.3 举例说明zip()函数用法

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

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

3.7 fun(*args,kwargs)中的 * args, kwargs什么意思?

3.8 用lambda函数实现两个数相乘

3.9 python中断言方法举例

3.10 写一段自定义异常代码

3.11 举例说明异常模块中try except else finally的相关意义

3.12 IOError、AttributeError、ImportError、IndentationError、IndexError、KeyError、SyntaxError、NameError分别代表什么异常

3.13 python中copy和deepcopy区别

3.14 简述any()和all()方法

四、python面向对象

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

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

4.3 列出几种魔法方法并简要介绍用途

4.4 写一个单例模式

五、python文件操作

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

5.2 用python删除文件和用linux命令删除文件方法

5.3 log日志中,我们需要用时间戳记录error,warning等的发生时间,请用datetime模块打印当前时间戳 “2018-04-01 11:38:54”

5.4 r、r+、rb、rb+文件打开模式区别

六、python多任务

6.1 谈下python的GIL

6.2 简述多线程、多进程

6.3 简述乐观锁和悲观锁

七、python网络

7.1 列出常见的状态码和意义

7.2 分别从前端、后端、数据库阐述web项目的性能优化

7.3 简述同源策略

7.4 简述cookie和session的区别

7.5 常见的网络传输协议

7.6 HTTP请求中get和post区别

八、正则表达式

8.1

我要吃鸡

,用正则匹配出标签里面的内容(“我要吃鸡”),其中class的类名是不确定的

8.2 正则表达式匹配中,(.)和(.?)匹配区别?

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

8.4 正则re.complie作用

8.5 正则匹配,匹配日期2018-03-20

8.6 s=“info:xiaoZhang 33 shandong”,用正则切分字符串输出[‘info’, ‘xiaoZhang’, ‘33’, ‘shandong’]

8.7 正则匹配以163.com结尾的邮箱

8.8 正则匹配不是以4和7结尾的手机号

8.9 正则表达式匹配第一个URL

8.10 正则匹配中文

九、数据库

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

9.2 数据库优化查询方法

9.3 简述Django的orm

9.4 列出常见MYSQL数据存储引擎

9.5 MyISAM 与 InnoDB 区别:

9.6 写5条常用sql语句

9.7 简述mysql和redis区别

9.8 举例说明SQL注入和解决办法

9.9 正则表达式匹配出网址

十、Linux知识

10.1 10个Linux常用命令

10.2 Linux命令重定向 > 和 >>

参考:

https://mp.weixin.qq.com/s/SyC_LLQL8AU3i6wYNlOdNQ

https://github.com/kenwoodjw/python_interview_question


相关文章
|
18天前
|
编译器 程序员 C语言
从C语言到C++⑨(第三章_C&C++内存管理)详解new和delete+面试题笔试题(下)
从C语言到C++⑨(第三章_C&C++内存管理)详解new和delete+面试题笔试题
9 0
|
18天前
|
编译器 C语言 C++
从C语言到C++⑨(第三章_C&C++内存管理)详解new和delete+面试题笔试题(中)
从C语言到C++⑨(第三章_C&C++内存管理)详解new和delete+面试题笔试题
28 0
|
18天前
|
存储 程序员 编译器
从C语言到C++⑨(第三章_C&C++内存管理)详解new和delete+面试题笔试题(上)
从C语言到C++⑨(第三章_C&C++内存管理)详解new和delete+面试题笔试题
23 0
|
19天前
|
SQL 分布式计算 前端开发
10个常见的python面试问题_python面试常见问题
10个常见的python面试问题_python面试常见问题
|
19天前
|
存储 数据可视化 算法
最新Python-Matplotlib可视化(9)——精通更多实用图形的绘制,2024年最新小米面试题库
最新Python-Matplotlib可视化(9)——精通更多实用图形的绘制,2024年最新小米面试题库
最新Python-Matplotlib可视化(9)——精通更多实用图形的绘制,2024年最新小米面试题库
|
19天前
|
数据采集 Java 数据挖掘
最新Python+OpenCV+dlib汽车驾驶员疲劳驾驶检测!,2024年最新网易云java面试
最新Python+OpenCV+dlib汽车驾驶员疲劳驾驶检测!,2024年最新网易云java面试
最新Python+OpenCV+dlib汽车驾驶员疲劳驾驶检测!,2024年最新网易云java面试
|
19天前
|
数据采集 算法 网络协议
最新Python 面试常见问题(1),2024年最新面试官必问的10个问题
最新Python 面试常见问题(1),2024年最新面试官必问的10个问题
最新Python 面试常见问题(1),2024年最新面试官必问的10个问题
|
19天前
|
数据采集 XML 程序员
最新用Python做垃圾分类_python垃圾分类代码用key和format,5年经验Python程序员面试27天
最新用Python做垃圾分类_python垃圾分类代码用key和format,5年经验Python程序员面试27天
最新用Python做垃圾分类_python垃圾分类代码用key和format,5年经验Python程序员面试27天
|
19天前
|
Python
最新用Python做一个变态版的《超级玛丽》游戏,面试必备知识点
最新用Python做一个变态版的《超级玛丽》游戏,面试必备知识点
最新用Python做一个变态版的《超级玛丽》游戏,面试必备知识点
|
19天前
|
数据采集 机器学习/深度学习 人工智能
最新用python代码画爱心,来自程序猿的浪漫~_python画爱心代码(1),2024年最新面试简历模板免费
最新用python代码画爱心,来自程序猿的浪漫~_python画爱心代码(1),2024年最新面试简历模板免费
最新用python代码画爱心,来自程序猿的浪漫~_python画爱心代码(1),2024年最新面试简历模板免费