1808B第二周周考

2019-05-07  本文已影响0人  爽爽ing

1808B 第二周笔试题

  1. 选择题(8题 1~7单选, 8~10多选)(40分)

1. Django框架的设计模式是( B )

A. MVC B. MVT

C. MVVM D. MVP

2.Django在项目中用来配置项目信息文件是( A )

A. setting.py B. urls.py

C. init.py D. wsgi.py

3.选择id为myId的网页元素正确的是(C )

A. (document.myId) B.('myId')

C. ('#myId') D.('.myId')

  1. 下列关于json模块的方法,描述正确的是( A )

A、json.dumps 是将python数据类型,转换为json字符串

B、json.dumps 是将json字符串转换为Python数据类型

C、json.load是直接将json字符串转换为Python数据类型

D、json.loads是直接将python数据类型,转换为json字符串

5.Django创建项目使用的命令是( C )

A、python3 manage.py makemigrations

B、python3 manage.py migrate

C、django-admin startproject

D、python3 manage.py startproject

6.下列关于csrf说法不正确的是( C)

A. csrf存在的目的是为了防止跨域攻击

B. 在settings.py的MIDDLEWARE中激活 'django.middleware.csrf.CsrfViewMiddleware'中间件, 表示在全局使用csrf认证

C. @csrf_protect 装饰器,表示取消csrf验证

D. @csrf_exempt装饰器,表示取消csrf验证

  1. mysql中为表中的字段添加索引的目的是( A )

A、提高查询的检索效率

B、归类

C、创建唯一索引

D、创建主键

8.Django rest framework 用户认证,说法正确的是( ABCD )(多选)

A、Django rest framework 可以通过自定义认证类实现认证功能,并且需要设置authentication_classes

B、无论是自定义的认证类还是 rest framework 自带的认证类都继承自BaseAuthentication实现

C、BaseAuthentication 中有两个方法 authenticate 和authenticate_header, 其中 authenticate 方法必须实现

D、如果用户需要自定义认证方法则继承 BaseAuthentication 重写 authenticate 方法实现认证逻辑即可

9. 关于RESTful请求方式描述正确的是( ABCD )(多选)

A、GET(SELECT):GET从服务器取出资源(一项或多项)

B、POST(CREATE):POST在服务器新建一个资源

C、PUT(UPDATE):PUT在服务器更新资源(客户端提供改变后的完整资源)

D、DELETE(DELETE):DELETE从服务器删除资源

10. 关于属于mysql的约束类型的是( ACD )(多选)

A、PRIMARY B、TRUNCATE

C、DEFAULT D、UNIQUE

二、判断题 (10分)

  1. DRF实现接口的方式有CBV和FBV两种,其中FBV是基于反射实现的 ( × )

  2. HTTP/HTTPS属于应用层协议,HTTPS比HTTP多了SSL安全套接字层, HTTPS会对数据进行加密,保证数据传输的安全性 ( √)

  3. HTTP是一个无状态的请求 ( √ )

  4. Python中类不支持多继承。 (× )

  5. DRF中APIView类通过dispatch方法,将不同的请求映射到不同的方法中 (√ )

三、简答题 (50分)

1. 简述Http中的状态保持?

http协议是无状态的:每次请求都是一次新的请求,不会记得之前通信的状态;客户端与服务器端的一次通信,就是一次会话;实现状态保持的方式:在客户端或服务器端存储与会话有关的数据;存储方式包括cookie、session,会话一般指session对象;使用cookie,所有数据存储在客户端,注意不要存储敏感信息;推荐使用sesison方式,所有数据存储在服务器端,在客户端cookie中存储session_id;状态保持的目的是在一段时间内跟踪请求者的状态,可以实现跨页面访问当前请求者的数据;注意:不同的请求者之间不会共享这个数据,与请求者一一对应

2、请列举一些常见的请求状态码?

余请求才能完成整个处理过程。

3. 列举django中间件的5个方法?

1.process_request : 请求进来时,权限认证

2.process_view : 路由匹配之后,能够得到视图函数

3.process_exception : 异常时执行

4.process_template_responseprocess : 模板渲染时执行

5.process_response : 请求有响应时执行

  1. restful 常见的请求方式有哪些?分别在什么情况下使用?

GET :从服务器取出资源(一项或多项)

POST :在服务器新建一个资源

PUT :在服务器更新资源(客户端提供改变后的完整资源)

PATCH :在服务器更新资源(客户端提供改变的属性)

DELETE :从服务器删除资源

5、根据以下场景,使用合适的Vue指令?

(1)遍历列表:v-for

(2)input数据的双向绑定:v-model

(3)通过控制 display 样式来控制显示/隐藏:v-show

(4)绑定事件:v-bind

(5)输出富文本:

6、谈谈你对面向对象的理解?

在我理解,面向对象是向现实世界模型的自然延伸,这是一种“万物皆对象”的编程思想。在现实生活中的任何物体都可以归为一类事物,而每一个个体都是一类事物的实例。面向对象的编程是以对象为中心,以消息为驱动,所以程序=对象+消息。

面向对象有三大特性,封装、继承和多态。

封装就是将一类事物的属性和行为抽象成一个类,使其属性私有化,行为公开化,提高了数据的隐秘性的同时,使代码模块化。这样做使得代码的复用性更高。

继承则是进一步将一类事物共有的属性和行为抽象成一个父类,而每一个子类是一个特殊的父类--有父类的行为和属性,也有自己特有的行为和属性。这样做扩展了已存在的代码块,进一步提高了代码的复用性。

如果说封装和继承是为了使代码重用,那么多态则是为了实现接口重用。多态的一大作用就是为了解耦--为了解除父子类继承的耦合度。如果说继承中父子类的关系式IS-A的关系,那么接口和实现类之之间的关系式HAS-A。简单来说,多态就是允许父类引用(或接口)指向子类(或实现类)对象。很多的设计模式都是基于面向对象的多态性设计的。

上一篇下一篇

猜你喜欢

热点阅读