1808B第二周周考

1808B 第二周筆試題

  1. 選擇題(8題 1~7單選, 8~10多選)(40分)

1. Django框架的設(shè)計模式是( 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的網(wǎng)頁元素正確的是(C )

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

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

  1. 下列關(guān)于json模塊的方法,描述正確的是( A )

A、json.dumps 是將python數(shù)據(jù)類型,轉(zhuǎn)換為json字符串

B、json.dumps 是將json字符串轉(zhuǎn)換為Python數(shù)據(jù)類型

C、json.load是直接將json字符串轉(zhuǎn)換為Python數(shù)據(jù)類型

D、json.loads是直接將python數(shù)據(jù)類型,轉(zhuǎn)換為json字符串

5.Django創(chuàng)建項目使用的命令是( C )

A、python3 manage.py makemigrations

B、python3 manage.py migrate

C、django-admin startproject

D、python3 manage.py startproject

6.下列關(guān)于csrf說法不正確的是( C)

A. csrf存在的目的是為了防止跨域攻擊

B. 在settings.py的MIDDLEWARE中激活 'django.middleware.csrf.CsrfViewMiddleware'中間件, 表示在全局使用csrf認(rèn)證

C. @csrf_protect 裝飾器,表示取消csrf驗證

D. @csrf_exempt裝飾器,表示取消csrf驗證

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

A、提高查詢的檢索效率

B、歸類

C、創(chuàng)建唯一索引

D、創(chuàng)建主鍵

8.Django rest framework 用戶認(rèn)證,說法正確的是( ABCD )(多選)

A、Django rest framework 可以通過自定義認(rèn)證類實現(xiàn)認(rèn)證功能,并且需要設(shè)置authentication_classes

B、無論是自定義的認(rèn)證類還是 rest framework 自帶的認(rèn)證類都繼承自BaseAuthentication實現(xiàn)

C、BaseAuthentication 中有兩個方法 authenticate 和authenticate_header, 其中 authenticate 方法必須實現(xiàn)

D、如果用戶需要自定義認(rèn)證方法則繼承 BaseAuthentication 重寫 authenticate 方法實現(xiàn)認(rèn)證邏輯即可

9. 關(guān)于RESTful請求方式描述正確的是( ABCD )(多選)

A、GET(SELECT):GET從服務(wù)器取出資源(一項或多項)

B、POST(CREATE):POST在服務(wù)器新建一個資源

C、PUT(UPDATE):PUT在服務(wù)器更新資源(客戶端提供改變后的完整資源)

D、DELETE(DELETE):DELETE從服務(wù)器刪除資源

10. 關(guān)于屬于mysql的約束類型的是( ACD )(多選)

A、PRIMARY B、TRUNCATE

C、DEFAULT D、UNIQUE

二、判斷題 (10分)

  1. DRF實現(xiàn)接口的方式有CBV和FBV兩種,其中FBV是基于反射實現(xiàn)的 ( × )

  2. HTTP/HTTPS屬于應(yīng)用層協(xié)議,HTTPS比HTTP多了SSL安全套接字層, HTTPS會對數(shù)據(jù)進(jìn)行加密,保證數(shù)據(jù)傳輸?shù)陌踩?( √)

  3. HTTP是一個無狀態(tài)的請求 ( √ )

  4. Python中類不支持多繼承。 (× )

  5. DRF中APIView類通過dispatch方法,將不同的請求映射到不同的方法中 (√ )

三、簡答題 (50分)

1. 簡述Http中的狀態(tài)保持?

http協(xié)議是無狀態(tài)的:每次請求都是一次新的請求,不會記得之前通信的狀態(tài);客戶端與服務(wù)器端的一次通信,就是一次會話;實現(xiàn)狀態(tài)保持的方式:在客戶端或服務(wù)器端存儲與會話有關(guān)的數(shù)據(jù);存儲方式包括cookie、session,會話一般指session對象;使用cookie,所有數(shù)據(jù)存儲在客戶端,注意不要存儲敏感信息;推薦使用sesison方式,所有數(shù)據(jù)存儲在服務(wù)器端,在客戶端cookie中存儲session_id;狀態(tài)保持的目的是在一段時間內(nèi)跟蹤請求者的狀態(tài),可以實現(xiàn)跨頁面訪問當(dāng)前請求者的數(shù)據(jù);注意:不同的請求者之間不會共享這個數(shù)據(jù),與請求者一一對應(yīng)

2、請列舉一些常見的請求狀態(tài)碼?

余請求才能完成整個處理過程。

  • 200開頭:表示服務(wù)器成功接收請求并已完成整個處理過程。

  • 200(OK 請求成功)。

  • 300開頭:為完成請求,客戶需進(jìn)一步細(xì)化請求。例如:請求的資源已經(jīng)移動一個新地址、 常用

  • 301: 永久重定向

  • 302: 臨時重定向(所請求的頁面已經(jīng)臨時轉(zhuǎn)移至新的url)

  • 400開頭:客戶端的請求有錯誤.

  • 400:錯誤請求,服務(wù)器無法解析請求

  • 401:未授權(quán),沒有進(jìn)行身份驗證

  • 403:服務(wù)器拒絕訪問

  • 404:服務(wù)器無法找到被請求的網(wǎng)頁

  • 405:請求方式不被允許

  • 408:請求超時

  • 500開頭:服務(wù)器端出現(xiàn)錯誤

  • 500:服務(wù)器內(nèi)部錯誤

  • 501:服務(wù)器不具備完成請求的功能

  • 503:服務(wù)器不可用

3. 列舉django中間件的5個方法?

1.process_request : 請求進(jìn)來時,權(quán)限認(rèn)證

2.process_view : 路由匹配之后,能夠得到視圖函數(shù)

3.process_exception : 異常時執(zhí)行

4.process_template_responseprocess : 模板渲染時執(zhí)行

5.process_response : 請求有響應(yīng)時執(zhí)行

  1. restful 常見的請求方式有哪些?分別在什么情況下使用?

GET :從服務(wù)器取出資源(一項或多項)

POST :在服務(wù)器新建一個資源

PUT :在服務(wù)器更新資源(客戶端提供改變后的完整資源)

PATCH :在服務(wù)器更新資源(客戶端提供改變的屬性)

DELETE :從服務(wù)器刪除資源

5、根據(jù)以下場景,使用合適的Vue指令?

(1)遍歷列表:v-for

(2)input數(shù)據(jù)的雙向綁定:v-model

(3)通過控制 display 樣式來控制顯示/隱藏:v-show

(4)綁定事件:v-bind

(5)輸出富文本:

6、談?wù)勀銓γ嫦驅(qū)ο蟮睦斫猓?/p>

在我理解,面向?qū)ο笫窍颥F(xiàn)實世界模型的自然延伸,這是一種“萬物皆對象”的編程思想。在現(xiàn)實生活中的任何物體都可以歸為一類事物,而每一個個體都是一類事物的實例。面向?qū)ο蟮木幊淌且詫ο鬄橹行?,以消息為?qū)動,所以程序=對象+消息。

面向?qū)ο笥腥筇匦裕庋b、繼承和多態(tài)。

封裝就是將一類事物的屬性和行為抽象成一個類,使其屬性私有化,行為公開化,提高了數(shù)據(jù)的隱秘性的同時,使代碼模塊化。這樣做使得代碼的復(fù)用性更高。

繼承則是進(jìn)一步將一類事物共有的屬性和行為抽象成一個父類,而每一個子類是一個特殊的父類--有父類的行為和屬性,也有自己特有的行為和屬性。這樣做擴(kuò)展了已存在的代碼塊,進(jìn)一步提高了代碼的復(fù)用性。

如果說封裝和繼承是為了使代碼重用,那么多態(tài)則是為了實現(xiàn)接口重用。多態(tài)的一大作用就是為了解耦--為了解除父子類繼承的耦合度。如果說繼承中父子類的關(guān)系式IS-A的關(guān)系,那么接口和實現(xiàn)類之之間的關(guān)系式HAS-A。簡單來說,多態(tài)就是允許父類引用(或接口)指向子類(或?qū)崿F(xiàn)類)對象。很多的設(shè)計模式都是基于面向?qū)ο蟮亩鄳B(tài)性設(shè)計的。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 模塊間聯(lián)系越多,其耦合性越強,同時表明其獨立性越差( 降低耦合性,可以提高其獨立性)。軟件設(shè)計中通常用耦合度和內(nèi)聚...
    riverstation閱讀 2,219評論 0 8
  • Python語言特性 1 Python的函數(shù)參數(shù)傳遞 看兩個如下例子,分析運行結(jié)果: 代碼一: a = 1 def...
    時光清淺03閱讀 567評論 0 0
  • Python語言特性 1 Python的函數(shù)參數(shù)傳遞 看兩個如下例子,分析運行結(jié)果: 代碼一: a = 1 def...
    伊森H閱讀 3,177評論 0 15
  • 一、Django框架前言知識: 1、C/S和B/S的區(qū)別: C/S結(jié)構(gòu)軟件:客戶端/服務(wù)端軟件,即客戶端要自己下載...
    月下獨酌123閱讀 5,126評論 0 36
  • 導(dǎo)致z-index失效的原因有很多種,在CSS3時代就變的更多,所以最近遇到這樣的問題后仔細(xì)翻看了一些資料,發(fā)現(xiàn)其...
    CJ_景元閱讀 277評論 0 0

友情鏈接更多精彩內(nèi)容