python面试总结1(web方向)

1,session和cookie的区别

session保存在服务器,cookie保存在客户端。

2,,解释装饰器和闭包,并分别说明各自应用场景。

闭包:函数和运行环境的整体。

装饰器:在函数执行过程中动态增加功能。

闭包应用:可以定义装饰器。

装饰器应用:给函数添加日志等。

3,有没有用过Redis?有没有用过mongodb?简要介绍一下。

没有用过,会去了解。

4,flask中,防止跨站请求伪造的方法,以及实现原理。

在form表单中添加隐藏字段csrf_token,请求发起后,将cookie中的csrf_token和表单数据中取出的值做对比,值一样,视为正常请求

5,flask的werkzeug拓展

一个WSGI(Web Server Gateway Interface)库,用来定义web服务接口规范。相当于一个工具包,可以用它来搭建web服务器。

6,哈希算法

又称散列算法或hash算法。 一种压缩映射,就是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出。

7,列表和元组,以及元组的应用场景。

列表:有序集合,可变。

元组:有序集合,不可变。应用:函数返回值

8,mysql数据库的高级用法

知道有事物,索引,但没有具体应用过。

9,flask中,上下文的应用场景。

程序上下文:(current_app,g)多应用嵌套时,用于确定当前处理哪个应用。

请求上下文:(request,session)利用线程隔离,将其在一次请求中设置为全局变量。

10,flask中数据库迁移的三个步骤及目的

python manage.py db init        创建迁移仓库

python XXXX.py db migrate -m "提示信息"      创建迁移脚本

python XXXX.py db upgrade       更新至数据库

11,flask蓝图实现机制

1:在蓝图对象上调用route装饰器注册路由,在内部的延迟操作记录列表defered_functions中添加了一个项。
2:执行应用对象的register_blueprint()方法时,应用对象从defered_functions列表中取出每一项,即调用应用对象的add_url_rule()方法,最终修改程序实例的路由映射列表

12,介绍MVC和MVT,阐述区别。

MVC:模型(M),控制器(C),视图(V)

MVT:模型(M),模板(T)视图(V)
共同点:1,都将业务处理和显示分开进行。2,model都是数据存取。

不同点:在显示阶段,mvc中view只负责显示具体内容,而MVT中,由view将数据填充到template中再显示。

13,介绍http协议。

超文本传输协议。应用层协议。

请求由三部分构成:请求行、消息报头、请求正文

请求方法有:GET,POST,HEAD,PUT,DELETE等。

响应也由三部分构成:状态行、消息报头、响应正文

响应状态码的五种可能取值:

1xx:指示信息--表示请求已接收,继续处理

2xx:成功--表示请求已被成功接收、理解、接受

3xx:重定向--要完成请求必须进行更进一步的操作

4xx:客户端错误--请求有语法错误或请求无法实现

5xx:服务器端错误--服务器未能实现合法的请求

14,介绍冒泡排序

从头开始,遍历所有元素。比较两个相邻的元素,将值大的元素交换至右端,始终将较小的值放在左边。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值