Django 面试常见问题

谈谈你对HTTP协议的认 识
  • 协议
    • 通信双方,在通信流程或内容格式上,共同遵守的标准
  • http协议
    • 互联网中最常见的网络通信标准
  • http协议的特点
    • 通信流程
      • 断开式(无状态)
        • http协议每次响应完成后,会断开与客户端的连接
      • 无状态
        • 由于服务器断开了之前的连接,就无法知晓连接间的关系
    • 内容格式
      • 消息头和消息体
列举Http请求中 常见的请求方式
  • HTTP/1.1协议中定义了八种方法,来表明Request-URL指定的资源不同的操作方式
  • OPTIONS
    • 返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送 * 的请求来测试服务器的功能性
  • HEAD
    • 向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。获取包含在响应消息头中的元信息
  • GET
    • 向特定的资源发出请求。
    • 发送一个请求来取得服务器上的某一资源
    • 资源通过一组HTTP头和呈现数据返回给客户端
    • GET请求中,永远不会包含呈现数据
  • POST
    • 想指定资源提交数据进行处理请求
    • 数据被包含在请求体重
    • POST请求可能会导致新的资源的建立或已有资源的修改
  • PUT
    • 向指定资源位置上传其最新内容
  • DELETE
    • 请求服务器删除Request-url所标识的资源
  • TRACE
    • 会显示服务器收到的请求,主要用于测试或者诊断
  • CONNECT
    • HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器
GET请求和POST请求的区别
  • GET请求无消息体,只能携带少量数据
  • POST请求有消息体,可以携带大量数据
  • 携带数据的方式
    • get请求将数据放在url地址中,提交的数据最多只能有1024字节
    • POST请求将数据放在消息体中,没有限制数据大小
简述MVC模式和MTV模式
  • MVC模式
    • 模型(M),负责业务对象与数据库的映射(ORM)
    • 视图(V),负责与用户的交互(页面)
    • 控制器(C),接受用户的输入调用模型和视图完成用户的请求
  • MTV
    • M,模型,负责业务对象和数据库的关系映射(ORM)
    • T,模板,负责如何把页面展示给用户
    • V,视图,负责业务逻辑,并在是适当的时候调用Model和Template
    • 除了以上,还需要一个URL分发器,作用是将一个个URL的页面请求分发给不同的View处理,View再调用相应的Model和Template
简述Django的请求生命周期
简述什么是FBV和CBV
  • FBV(function base views),在视图里使用函数处理请求
  • CBV(class base views),在视图里使用类处理请求
    • 优点
      • 提高代码的复用性,可以使用面向对象的技术,比如mixin(多继承)
      • 可以用不同的函数针对不同的HTTP方法处理,而不是通过很多if判断,提高代码可读性
谈谈对ORM的理解
  • ORM是"对象-关系-映射"的简称
  • MVC或者MTV中重要的一个部分,实现了数据模型与数据库的解耦
    • 即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库
    • 这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳作

详细笔记在:Python99网(https://python99.com/python-courses)

相关推荐
幸福清风3 分钟前
【Python】运维效率翻倍|批处理日志分割升级Python GUI,一键打包exe无乱码,零基础也能用
python·打包·日志分割
小狗丹尼4001 小时前
JSON 基础认知、数据转换与 Flask 前后端交互全解
python·flask·json
zm-v-159304339863 小时前
Python 数据挖掘从入门到精通:回归 / 分类 / 聚类 / 关联分析完整教程
python·数据挖掘·回归
似水明俊德8 小时前
02-C#.Net-反射-面试题
开发语言·面试·职场和发展·c#·.net
qq_417695058 小时前
机器学习与人工智能
jvm·数据库·python
漫随流水8 小时前
旅游推荐系统(view.py)
前端·数据库·python·旅游
yy我不解释9 小时前
关于comfyui的mmaudio音频生成插件时时间不一致问题(一)
python·ai作画·音视频·comfyui
无限大69 小时前
AI实战03:Java开发岗专属工作流|用AI辅助代码审查与文档生成
面试
紫丁香10 小时前
AutoGen详解一
后端·python·flask
FreakStudio10 小时前
不用费劲编译ulab了!纯Mpy矩阵micronumpy库,单片机直接跑
python·嵌入式·边缘计算·电子diy