面试题目一
一、用一行代码实现变量a和b的数值交换: a = 1 b = 2 二、定义一个方法f,使其能接收所有格式的参数 三、is和==的区别 四、Python中哪些类型是可变类型,哪些类型是不可变类型 五、请用一行代码去掉列表[2,12,10,2,33,12,20]中重复的值 六、下面代码会输出什么: def f(x,l=[]): for i in range(x): l.append(i*i) print l f(2) f(3,[3,2,1]) f(3) 七、用map方法和列表推导式把['aa','bb','cc']变成['a','b','c'] 八、找到字典中得分最高的人的名字的方法 d = {'ben':20, 'lili':32, 'lucy':16, 'mark':28} 九、请用冒泡排序使列表l=[12,33,6,3,18,24]从大到小排序 十、用递归的方法输出一个文件夹下面所有的文件的绝对路径 十一、有如下函数 def f(a): print(a) 请写一个装饰器,执行此函数并打印函数执行的时间 十二、深复制和浅复制的区别是什么,请举例说明? 十三、定义一个类,用__new__方法写出单例模式 十四、有一个类 class P(): def __init__(self): self.num = 100 def show(self): print(self.num) 请定义一个子类,定义一个show方法,既实现了父类的show方法,又输出了自己的类的名字 十五、怎么定义一个类A的私有属性name?在类的外部访问这个属性要怎么写? 十六、定义一个类Student,再定义一个静态方法getname,和一个类方法getage 十七、写出开头匹配字母和下划线,末尾是数字的正则表达式? 十八、s = 'abbbccc',用正则匹配把变量s改为 abc,不管有多少b和c,就出现一次? 十九、字符串 s = ''' <div> <img width=20 src="1.png" id="m1"> <iframe src="a.html"> <img height=30 src="2.jpg"> <img src="3.gif" class="m3"> <iframe src="b.html"> <img class="a" src="4.png"> </div> ''' 用正则找出所有图片地址,结果['1.png', '2.jpg', '3.gif', '4.png'] 二十、字符串 s='<div>Hello,<a>My</a><b>Name</b>Is<span>Lucy</span></div>' 用正则去掉所有标签,结果 "Hello,MyNameIsLucy" 二十一、多线程中的GIL是什么?为什么会有GIL? 二十二、分别用生成器(yield)和多线程的队列实现生产者和消费者模式(做包子吃包子) 二十三、进程之间进行通信有几种方法,请写出Manager通信的例子? 二十四、为了解决socket中的粘包,应该怎么做? 二十五、请用协程的方式,写出一个简单的socket服务端和客户端的收发数据