这是给Python开发者准备的110道笔试面试题,我只把问题列出来了,答案见文末,建议每道题都要认真刷一遍,有些题可以尝试用多种方式来解答,甚至做延伸学习,说真的,很多题都可以单独拎出来写一篇文章,毛主席说过一句话,不打无准备之仗,不打无把握之仗,方能立于不败之地,面试前准备越充分越自信,通过率越高。
先看看你是否有把握回答这些问题,如果大部分都能回答正确,面试初级开发工程师肯定是杠杠的,如果是大厂或者是中高级工程师,计算机理论基础和项目经验方法都需要过得硬。
1 - 10
-
一行代码实现1—100之和
-
如何在一个函数内部修改全局变量
-
列出5个python标准库字典
-
如何删除键和合并两个字典
-
谈下python的GIL
-
python实现列表去重的方法
-
fun(args, kwargs)中的args,kwargs什么意思?
-
python2和python3的range(100)的区别
-
一句话解释什么样的语言能够用装饰器?
-
python内建数据类型有哪些
10 - 20
-
简述面向对象中new和init区别
-
简述with方法打开处理文件帮我我们做了什么?
-
列表[1,2,3,4,5],请使用map()函数输出[1,4,9,16,25],并使用列表推导式提取出大于10的数,最终输出[16,25]
-
python中生成随机整数. 随机小数. 0—1之间小数方法
-
避免转义给字符串加哪个字母表示原始字符串?
-
<div class="nam">中国</div>,用正则匹配出标签里面的内容(“中国”),其中class的类名是不确定的
-
python中断言方法举例
-
数据表student有id,name,score,city字段,其中name中的名字可有重复,需要消除重复行,请写sql语句
-
10个Linux常用命令
-
python2和python3区别?列举5个
20 - 30
-
列出python中可变数据类型和不可变数据类型,并简述原理
-
s = “ajldjlajfdljfddd”,去重并从小到大排序输出”adfjl”
-
用lambda函数实现两个数相乘
-
字典根据键从小到大排序dict={“name”:”zs”,”age”:18,”city”:”深圳”,”tel”:”1362626627”}
-
利用collections库的Counter方法统计字符串每个单词出现的次数”kjalfj;ldsjafl;hdsllfdhg;lahfbl;hl;ahlf;h”
-
字符串a = “not 404 found 张三 99 深圳”,每个词中间是空格,用正则过滤掉英文和数字,最终输出”张三 深圳”
-
filter方法求出列表所有奇数并构造新列表,a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
-
列表推导式求列表所有奇数并构造新列表,a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
-
正则re.complie作用
-
a=(1,)b=(1),c=(“1”) 分别是什么类型的数据?
30 - 40
-
两个列表[1,5,7,9]和[2,2,6,8]合并为[1,2,2,3,6,7,8,9]
-
用python删除文件和用linux命令删除文件方法
-
log日志中,我们需要用时间戳记录error,warning等的发生时间,请用datetime模块打印当前时间戳 “2018-04-01 11:38:54”
-
数据库优化查询方法
-
请列出你会的任意一种统计图(条形图. 折线图等)绘制的开源库,第三方也行
-
写一段自定义异常代码
-
正则表达式匹配中,(.)和(.?)匹配区别?
-
简述Django的orm
-
[[1,2],[3,4],[5,6]]一行代码展开该列表,得出[1,2,3,4,5,6]
-
x=”abc”,y=”def”,z=[“d”,”e”,”f”],分别求出x.join(y)和x.join(z)返回的结果
40 - 50
-
举例说明异常模块中try except else finally的相关意义
-
python中交换两个数值
-
举例说明zip()函数用法
-
a=”张明 98分”,用re.sub,将98替换为100
-
写5条常用sql语句
-
a=”hello”和b=”你好”编码成bytes类型
-
[1,2,3]+[4,5,6]的结果是多少?
-
提高python运行效率的方法
-
简述mysql和redis区别
-
遇到bug如何处理
50 - 60
- 正则匹配,匹配日期2018-03-20
-
list=[2,3,5,4,9,6],从小到大排序,不许用sort,输出[2,3,4,5,6,9]
-
写一个单列模式
-
保留两位小数
题目本身只有a=”%.03f”%1.3335,让计算a的结果,为了扩充保留小数的思路,提供round方法(数值,保留位数)
-
求三个方法打印结果
-
列出常见的状态码和意义
-
分别从前端. 后端. 数据库阐述web项目的性能优化
-
使用pop和del删除字典中的”name”字段,dic={“name”:”zs”,”age”:18}
-
列出常见MYSQL数据存储引擎
-
计算代码运行结果,zip函数历史文章已经说了,得出[(“a”,1),(“b”,2),(“c”,3),(“d”,4),(“e”,5)]
60 - 70
-
简述同源策略
-
简述cookie和session的区别
-
简述多线程. 多进程
-
简述any()和all()方法
-
IOError. AttributeError. ImportError. IndentationError. IndexError. KeyError. SyntaxError. NameError分别代表什么异常
-
python中copy和deepcopy区别
-
列出几种魔法方法并简要介绍用途
-
C:\Users\ry-wu.junya\Desktop>python 1.py 22 33命令行启动程序并传参,print(sys.argv)会输出什么数据?
-
请将[i for i in range(3)]改成生成器
-
a = “ hehheh “,去除收尾空格
70 - 80
-
举例sort和sorted对列表排序,list=[0,-1,3,-10,5,9]
-
对list排序foo = [-5,8,0,4,9,-4,-20,-2,8,2,-4],使用lambda函数从小到大排序
-
使用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],正数从小到大,负数从大到小
-
列表嵌套字典的排序,分别根据年龄和姓名排序
-
列表嵌套元组,分别按字母和数字排序
-
列表嵌套列表排序,年龄数字相同怎么办?
-
根据键对字典排序(方法一,zip函数)
-
根据键对字典排序(方法二,不用zip)
-
列表推导式. 字典推导式. 生成器
-
最后出一道检验题目,根据字符串长度排序,看排序是否灵活运用
80 - 90
-
举例说明SQL注入和解决办法
-
s=”info:xiaoZhang 33 shandong”,用正则切分字符串输出[‘info’, ‘xiaoZhang’, ‘33’, ‘shandong’]
-
正则匹配以163.com结尾的邮箱
-
递归求和
-
python字典和json字符串相互转化方法
-
MyISAM 与 InnoDB 区别:
-
统计字符串中某字符出现次数
-
字符串转化大小写
-
用两种方法去空格
-
正则匹配不是以4和7结尾的手机号
90 - 100
-
简述python引用计数机制
-
int(“1.4”),int(1.4)输出结果?
-
列举3条以上PEP8编码规范
-
正则表达式匹配第一个URL
-
正则匹配中文
-
简述乐观锁和悲观锁
-
r. r+. rb. rb+文件打开模式区别
-
Linux命令重定向 > 和 >>
-
正则表达式匹配出
-
python传参数是传值还是传址?
100 - 110
-
求两个列表的交集. 差集. 并集
-
生成0-100的随机数
-
lambda匿名函数好处
-
常见的网络传输协议
-
单引号. 双引号. 三引号用法
-
python垃圾回收机制
-
HTTP请求中get和post区别
-
python中读取Excel文件的方法
-
简述多线程. 多进程
-
python正则中search和match
答案见:https://blog.csdn.net/sinat_38682860/article/details/88576191
网友评论