Django常见概念面试题

Django

1 HTTP协议的格式:(状态码?)(请求格式等)

请求首行:请求方法,路径,版本信息(版本协议)
请求头
请求空行
请求体

响应首行:版本信息,状态码
响应头
响应空行
响应体

状态码:
100 已接收,待处理
200成功
302 重定向
404 客户端错误
500 服务器异常

2 Get和post区别

Get请求:包括地址栏访问和超链接访问
Post 请求:表单提交的键值对
Get方式不安全,地址栏大小有限
Post 内容在请求体中(只有post有请求体),数据相对get安全,理论上内容可以无限

3 什么是框架

本质是socket套接字,所有框架都是对socket进行不同封装,程序员不用做一些重复性工作,专注逻辑开发,提高效率。

4 django 执行流程

1浏览器访问应用
2通过路由系统找到对应的视图函数
3 对数据库进行操作
4 返回页面给浏览器

5 模板系统(了解)

1变量
页面使用字典和列表方式
2标签
For等
3 过滤器
4模板继承{%extend%}
5模板组件{%include%}
6 路由系统(了解)模板系统
通过url进行匹配视图函数就是路由系统
HTML:模板系统

7 MTV和MVC

画MVC
Django常见概念面试题_第1张图片
MVC:
model 模型 models.py
view 视图 templates 模板
controller 控制器 urls.py n和views.py
MTV:
Model: 模型 models.py
Templates 模板 templates 目录
View 视图 views.py
区别:划分方式不同,本质相同
好处:将业务逻辑,数据模型,用户界面都分离出来,实现解耦合
举例子:注册(数据模型,业务链接)
Flask:使用蓝图进行模块划分

8 Ajax??? 异步javascript和XML

使用javascript语言与服务器进行交互,传递的数据是xml格式也可以是json
Ajax 可以实现局部刷新功能
常见应用场景:自动提示搜索内容,注册,信息校验
优点:异步向服务器发送请求,无需刷新整个界面
缺点:服务器压力比较大

9 ORM 对象关系映射

O object
R relationship
M mapping
使用操作对象的方式来操作数据库,类对应表格 属性对应字段 对象对应记录
使用字段,onetoone,…foreignkey…
正向查询 反向查询
多表查询
多张表查询时 某个属性可用多个双下划线方式相连

10 F和Q查询

项目

Django常见概念面试题_第2张图片

购物车逻辑

从商品详情点击购物车按钮,跳转到购物车中间页
首先判断当前用户是否登录。
1如果没有登录,将数据保存到session中,重定向登录界面,登录成功后重定向到购物车中间页,判断购物车是否有此商品 如果有则修改 ,如果没有就保存到购物车。
2如果登录,判断购物车是否有此商品 如果有则修改 ,如果没有就保存到购物车。

Flask和django区别

1 django有自己模板和路由和orm,没有服务,使用的是内置模块wsgiref。
2 flask 只有自己的路由,模板使用的是jinjia2,orm使用的是fask-sqlalchemy模块。

3 flask 是轻量级框架,只封装了核心功能(路由),使用比较灵活。非常适用于小型网站,非常适用于开发web服务的API
4 django 灵活自由度不如flask,Django非常适合企业级网站的开发:快速、靠谱、稳定

flask蓝图:

使用蓝图来划分flask模块,解耦合解耦总结来说就是:你能知道的东西就写死,不知道但是又必须知道的东西,就让应用程序来告诉你,在java里面叫接口,在有些语言(OC, swift, C/C++)里面叫做代码段。

Cookie和session区别???

1 cookie数据存放在浏览器(本地)上,session数据放在服务器上
2 cookie不是很安全,别人可用本地进行cookie欺骗
3 session相对cookie更安全,当访问增多少,会占用服务器性能,如果减轻服务器性能,应用cookie
4 单个cookie保存数据不能超过4k(很多浏览器<=20)
5建议将登陆等重要信息放在session中,其他信息可以放在cookie中

补充
Django常见概念面试题_第3张图片

未完待续。。。。。。

你可能感兴趣的:(Django常见概念面试题)