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)

相关推荐
牛奶5 小时前
Vue 基础理论 & API 使用
前端·vue.js·面试
牛奶6 小时前
Vue 底层原理 & 新特性
前端·vue.js·面试
NAGNIP7 小时前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
青青家的小灰灰11 小时前
深入理解事件循环:异步编程的基石
前端·javascript·面试
AI探索者12 小时前
LangGraph StateGraph 实战:状态机聊天机器人构建指南
python
AI探索者12 小时前
LangGraph 入门:构建带记忆功能的天气查询 Agent
python
程序员清风13 小时前
程序员兼职必看:靠谱软件外包平台挑选指南与避坑清单!
java·后端·面试
FishCoderh13 小时前
Python自动化办公实战:批量重命名文件,告别手动操作
python
躺平大鹅14 小时前
Python函数入门详解(定义+调用+参数)
python
曲幽15 小时前
我用FastAPI接ollama大模型,差点被asyncio整崩溃(附对话窗口实战)
python·fastapi·web·async·httpx·asyncio·ollama