100道python面试题_精选10大门类100道python面试题(建议收藏)

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

到文末点击【阅读原文】可以看到所有题目的答案,并且持续更新哦

一、python 基础知识

1.1 列出 5 个 python 标准库

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

1.3python2 和 python3 区别?列举 5 个

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

1.5 提高 python 运行效率的方法

1.6 遇到 bug 如何处理

1.7 简述 python 引用计数机制

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

二、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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值