1.什么是面向对象的mro
Python 中针对 类 提供了一个 内置属性 __mro__ 可以查看 方法 搜索顺序
MRO 是 method resolution order,主要用于 在多继承时判断 方法、属性 的调用 路径
2.json序列化时,默认遇到中文会转换成unicode,如果想要保留中文怎么办?
ensure_ascii=False
3.简述 yield关键字。
使用关键yield返回的数会形成一个生成器
4.简述 OSI 七层协议。
5.什么是C/S和B/S架构?
6.简述 三次握手、四次挥手的流程。
7.GIL锁是什么鬼
保护数据
8.流式套接字有什么特点
9.如何在一个function里面设置一个全局的变量?
global
10.python下多线程的限制以及多进程中传递参数的方式
python多线程有个全局解释器锁(global interpreter lock),这个锁的意思是任一时间只能有一个线程使用解释器,跟单cpu跑多个程序一个意思,大家都是轮着用的,这叫“并发”,不是“并行”。
多进程间共享数据,可以使用 multiprocessing.Value 和 multiprocessing.Array
11.什么是pickling和unpickling?
编程练习
1.创建一个文件,文件的第一行写入0,再创建20个任务线程,他们同时打开文件并将文件第一行读出来,加1写回去(将文件原有值覆盖掉)请保证20个任务线程完成后,文件中的第一行一定是20!
2.完成一个cs架构程序,服务端一旦接受到客户端请求文件路径后,判断此文件是否存在,如果存在,将文件内容发送给客户端,如果不存在,也请告知客户端