Django:面试题记录

1、Django请求生命周期
django的生命周期是:前端请求--->nginx--->uwsgi.--->中间件--->url路由---->view视图--->ORM---->拿到数据返回给view---->试图将数据渲染到模版中拿到字符串---->中间件--->uwsgi---->nginx---->前端渲染。
--》执行遵循wsgi协议的模块(socket服务端)
--》中间件(路由匹配)
--》视图函数(业务处理:ORM、模板渲染)
--》中间件
--》wsgi返回
2、什么是wsgi
web服务网关接口,实现该协议的模块:1- wsgiref 2- werkzurg(Flask) 3- uwsgi
3、视图
a、FBV —— url — 函数
b、CBV —— url — view
4、Django rest framework框架(10个)

  • 版本/权限/认证/访问频率限制
  • 序列化
  • 路由
  • 分页/解析器/渲染器
  • 视图
    面试题:你写的类都继承过哪些类?
    class View(object):
    class APIView(View):
    class GenericAPIView(view.APIView):
    class GenericViewSet(ViewSetMixin, generics.GenericAPIView):
    class ModelViewSet(mixins.CreateModelMixin, mixins.RetrieveModelMixin, mixins.UpdateModelMixin, mixins.DestroyModelMixin, mixins,ListModelMixin, GenericViewSet):
    5、restful规范(10点)
    常见method类型(GET/POST/PUT/DELETE/PATCH)
    ~~5.1.协议,推荐用https
    ~~5.2.根据请求方法method不同,进行不同操作。
    ~~5.3.在url上体现版本
    ~~5.4.体现是API
    ~~5.5.面向资源编程
    ~~5.6.请求中的条件
    ~~5.7.响应式设置状态码
    ~~5.8.请求方法的返回值,一定是json格式
    ~~5.9.返回错误信息
    ~~5.10.Hypermedia API
    6、Http协议
    --建立在Tcp协议上;
    --一次请求一次响应然后断开连接(无状态、短连接)
    --请求和响应(都是由两个\r\n分隔)
    --》发送:请求头\r\n\r\n请求体
    --》响应:响应头\r\n\r\n响应体
    7、使用中间件做过什么
    -内置:csrf、session
    -自定义:登录认证、权限、cors

你可能感兴趣的:(Django:面试题记录)