常见面试题
1 谈谈对 python GIL锁,对多线程有什么影响
2 谈谈你对同步,异步,阻塞非阻塞理解
同步:是指代码调用IO操作时,必须等待IO操作完成才返回的调用方式
异步:是指代码调用IO操作时,不必等待IO操作完成就返回的调用方式
阻塞:是指调用函数时候当前线程被挂起
非阻塞:是指调用函数时候当前线程不会被挂起,而是立即返回
3 什么是协程?
协成类似于一个可以暂停的函数(可以向暂停的地方传入值),可以在一个线程中进行来回切换
4 使用协程写一个斐波那契数列
def fib(n): index = 0 a, b = 1, 0 while 1: if index >n: break yield a a,b = a+b,a index +=1 if __name__ == '__main__': f= fib(5) print next(f) print next(f) # next()或者遍历都可以取值 # for item in f: # print item
5 装饰器功能?
在不改变原有代码的情况下,增加功能
6 使用装饰器写一个每调用一次函数加1的功能
index = 0
def Total(func):
def wraper():
func()
global index
index +=1
print('调用了',index)
return wraper
@Total
def aTest1():
pass
7 __new__ 方法 ,写一个单例
8 django的生命周期和 简述Django对http请求的执行流程是一个问题
用户输入url 进行nginx进行转发,经过uwsgi(封装用户请求的信息),经过中间健,django的handler处理器进行路由映射,
业务逻辑处理(如果让你说的复杂一些,把权限,认证,节流都说一下),返回数据给浏览器
9 tcp和udp的却别
tcp是面向连接的(数据传输时需要建立3次握手),udp是面向数据报的(不建立连接,直接发送数据)
tcp 安全不容易丢包,因为要建立连接传输速度相对udp慢一些
udp 传输速度快,容易丢包
10 3次握手
11 osi七层模型
12 以下3个函数的用法
1 map函数(根据提供的函数对指定序列做映射),
2 filter函数会对指定序列执行过滤操作,reduce函数,
3 reduce函数会对参数序列中元素进行累积
13 正则表达式贪婪和费贪婪的区别,写一个匹配Ip地址的正则
re.match(r'\d+\.\d+\.\d+\.\d+\.',ip)
14 linux中查看文件权限的命令?修改权限的命令?查看内存的命令,实时查看进程的命令
ls -a 查看文件权限
chomx 修改权限
df du 查看内存
top 实时查看进程
15 介绍下restfuiAPI
16 什么是csrf攻击
17 *args 和**kwargs 使用方法?
18 django中间键?介绍下有什么作用
django 中间键 是一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,修改Django的输入或输出
作用 :记录日志,登录认证权限
19 python类的特性?什么是封装?什么是继承?什么是多态?
封装:封装相关的方法和数据
继承:继承公共基类
多态:同样的方法被不同的对象调用会有不同的特性,如str+str(拼接字符串),1+1求和
20 @classmethod @staticmethod @property区别
21 new 和 init的区别
new创建对象
init初始化一个对象
22 迭代器和可迭代对象的区别 ?
迭代器: 可以被next()函数调用,并不断返回下一个值的对象称为迭代器 。它内部有 next 方法和 iter 方法
生成器:在python中一边循环一边计算的机制,称为生成器。特点:只有在调用时才会产生相应的数据。
23 进程,线程和协程的区别
进程时进行资源管理的,不能共享数据
线程是cpu最小的执行单元,各个线程内的数据是共享的
协程是由程序员在线程内调度的,又称微线程
24 python 中的反射
python
中反射是利用字符串的形式去对象中操作
hasattr(obj,str), getattr(obj,str) setattr(obj,str) delattr(obj,str)
25 什么是PEP8
26 django rest framework 中的功能,如权限管理,认证管理,序列化,访问频率控制
26 什么是队列,什么是栈,用类写一个
队列先进先出
栈先进后出
写法就是在类__init__中定义一个列表,在定义相应的方法对其进行操作
27 json.dump 和json.dumps的区别
json.dump 把json数据写入文件中
json.dumps把把数据转换成json格式
数据库 .mongo (了解即可)
1 主要看查询
2 事务
3 外键(一对一,一对多,多对多)

浙公网安备 33010602011771号