python后端開(kāi)發(fā)工程師考證試題(小結(jié))

選擇題
題目
關(guān)于 Python 程序格式框架的描述,以下選項(xiàng)中錯(cuò)誤的是 ( A )
A: Python 語(yǔ)言不采用嚴(yán)格的“縮進(jìn)”來(lái)表明程序的格式框架
B: Python 單層縮進(jìn)代碼屬于之前最鄰近的一行非縮進(jìn)代碼,多層縮進(jìn)代碼根據(jù)縮進(jìn)關(guān)系決定所屬范圍
C: Python 語(yǔ)言的縮進(jìn)可以采用 Tab 鍵實(shí)現(xiàn)
D: 判斷、循環(huán)、函數(shù)等語(yǔ)法形式能夠通過(guò)縮進(jìn)包含一批 Python 代碼,進(jìn)而表達(dá)對(duì)應(yīng)的語(yǔ)義
IDLE環(huán)境的退出命令是 ( A )
A: exit()
B: 回車鍵
C: close()
D: esc()
關(guān)于Python循環(huán)結(jié)構(gòu),以下選項(xiàng)中描述錯(cuò)誤的是 ( A )
A: 每個(gè)continue語(yǔ)句只有能力跳出當(dāng)前層次的循環(huán)
B: break用來(lái)跳出最內(nèi)層for或者while循環(huán),脫離該循環(huán)后程序從循環(huán)代碼后繼續(xù)執(zhí)行
C: 遍歷循環(huán)中的遍歷結(jié)構(gòu)可以是字符串、文件、組合數(shù)據(jù)類型和range()函數(shù)等
D: Python通過(guò)for、while等保留字提供遍歷循環(huán)和無(wú)限循環(huán)結(jié)構(gòu)
關(guān)于Python的lambda函數(shù),以下選項(xiàng)中描述錯(cuò)誤的是 ( B )
A: lambda函數(shù)將函數(shù)名作為函數(shù)結(jié)果返回
B: f = lambda x,y:x+y 執(zhí)行后,f的類型為數(shù)字類型 (function類型)
C: lambda用于定義簡(jiǎn)單的、能夠在一行內(nèi)表示的函數(shù)
D: 可以使用lambda函數(shù)定義列表的排序原則
以下選項(xiàng)中,不是Python對(duì)文件的打開(kāi)模式的是 ( D )
A: 'r'
B: '+'
C: 'w'
D: 'c'
以下選項(xiàng)中,不是 Python 語(yǔ)言保留字的是 ( A )
A: do
B: pass
C: except
D: while
關(guān)于Python賦值語(yǔ)句,以下選項(xiàng)中不合法的是 ( C )
A: x=1;y=1
B: x=y=1
C: x=(y=1)
D: x,y=y,x
以下選項(xiàng)中,不是Python IDE的是 ( D )
A: PyCharm
B: Jupyter Notebook
C: Spyder
D: R studio
random庫(kù)中用于生成隨機(jī)小數(shù)的函數(shù)是 ( A )
A: random()
B: randint()
C: getrandbits()
D: randrange()
以下選項(xiàng)中,不屬于函數(shù)的作用的是 ( A )
A: 提高代碼執(zhí)行速度
B: 降低編程復(fù)雜度
C: 增強(qiáng)代碼可讀性
D: 復(fù)用代碼
關(guān)于Python文件打開(kāi)模式的描述,以下選項(xiàng)中錯(cuò)誤的是 ( C )
A: 只讀模式r
B: 追加寫模式a
C: 創(chuàng)建寫模式n
D: 覆蓋寫模式w
time庫(kù)的time.time()函數(shù)的作用是 ( D )
A: 返回系統(tǒng)當(dāng)前時(shí)間戳對(duì)應(yīng)的易讀字符串表示
B: 返回系統(tǒng)當(dāng)前時(shí)間戳對(duì)應(yīng)的struct_time對(duì)象
C: 返回系統(tǒng)當(dāng)前時(shí)間戳對(duì)應(yīng)的本地時(shí)間的struct_time對(duì)象,本地之間經(jīng)過(guò)時(shí)區(qū)轉(zhuǎn)換
D: 返回系統(tǒng)當(dāng)前的時(shí)間戳
關(guān)于函數(shù)的可變參數(shù),可變參數(shù)*args傳入函數(shù)時(shí)存儲(chǔ)的類型是( B )
A: dict
B: tuple
C: list
D: set
關(guān)于形參和實(shí)參的描述,以下選項(xiàng)中正確的是( D )
A: 函數(shù)定義中參數(shù)列表里面的參數(shù)是實(shí)際參數(shù),簡(jiǎn)稱實(shí)參
B: 參數(shù)列表中給出要傳入函數(shù)內(nèi)部的參數(shù),這類參數(shù)稱為形式參數(shù),簡(jiǎn)稱形參
C: 程序在調(diào)用時(shí),將形參復(fù)制給函數(shù)的實(shí)參
D: 函數(shù)調(diào)用時(shí),實(shí)參默認(rèn)采用按照位置順序的方式傳遞給函數(shù),Python也提供了按照形參名稱輸入實(shí)參的方式
Python語(yǔ)句:f = open(),以下選項(xiàng)中對(duì)f的描述錯(cuò)誤的是 ( B )
A: *f是文件句柄,用來(lái)在程序中表達(dá)文件
B: 表達(dá)式print(f)執(zhí)行將報(bào)錯(cuò)
C: *f是一個(gè)Python內(nèi)部變量類型
D: 將f當(dāng)作文件對(duì)象,f.read()可以讀入文件全部信息
表達(dá)式",".join(ls)中l(wèi)s是列表類型,以下選項(xiàng)中對(duì)其功能的描述正確的是 ( D)
A: 將逗號(hào)字符串增加到列表ls中
B: 在列表ls每個(gè)元素后增加一個(gè)逗號(hào)
C: 將列表所有元素連接成一個(gè)字符串,每個(gè)元素后增加一個(gè)逗號(hào)
D: 將列表所有元素連接成一個(gè)字符串,元素之間增加一個(gè)逗號(hào)
以下選項(xiàng)中,不是Python文件處理.seek()方法的參數(shù)是( C )
A: 0
B: 1
C: -1
D: 2
給定字典d,以下選項(xiàng)中對(duì)d.keys()的描述正確的是 ( C )
A: 返回一個(gè)列表類型,包括字典d中所有鍵
B: 返回一個(gè)集合類型,包括字典d中所有鍵
C: 返回一種dict_keys類型,包括字典d中所有鍵
D: 返回一個(gè)元組類型,包括字典d中所有鍵
關(guān)于Python的元組類型,以下選項(xiàng)中描述錯(cuò)誤的是 ( D )
A: 一個(gè)元組可以作為另一個(gè)元組的元素,可以采用多級(jí)索引獲取信息
B: 元組一旦創(chuàng)建就不能被修改
C: Python中元組采用逗號(hào)和圓括號(hào)(可選)來(lái)表示
D: 元組中元素不可以是不同類型
關(guān)于函數(shù)的關(guān)鍵字參數(shù)使用限制,以下選項(xiàng)中描述錯(cuò)誤的是 ( A )
A: 關(guān)鍵字參數(shù)必須位于位置參數(shù)之前
B: 不得重復(fù)提供實(shí)際參數(shù)
C: 關(guān)鍵字參數(shù)必須位于位置參數(shù)之后
D: 關(guān)鍵字參數(shù)順序無(wú)限制
關(guān)于函數(shù),以下選項(xiàng)中描述錯(cuò)誤的是 ( A )
A: 函數(shù)名稱不可賦給其他變量
B: 一條函數(shù)定義定義一個(gè)用戶自定義函數(shù)對(duì)象
C: 函數(shù)也是數(shù)據(jù)
D: 函數(shù)定義語(yǔ)句可執(zhí)行
關(guān)于函數(shù)的參數(shù),以下選項(xiàng)中描述錯(cuò)誤的是 ( A )
A: 可選參數(shù)可以定義在非可選參數(shù)的前面
B: 一個(gè)元組可以傳遞給帶有星號(hào)的可變參數(shù)
C: 在定義函數(shù)時(shí),可以設(shè)計(jì)可變數(shù)量參數(shù),通過(guò)在參數(shù)前增加星號(hào)(*)實(shí)現(xiàn)
D: 在定義函數(shù)時(shí),如果有些參數(shù)存在默認(rèn)值,可以在定義函數(shù)時(shí)直接為這些參數(shù)指定默認(rèn)值
以下選項(xiàng)中,對(duì)于函數(shù)的定義錯(cuò)誤的是 ( A )
A: def vfunc(*a,b):
B: def vfunc(a,b):
C: def vfunc(a,*b):
D: def vfunc(a,b=2):
關(guān)于lambda函數(shù),以下選項(xiàng)中描述錯(cuò)誤的是 ( A )
A: lambda不是Python的保留字
B: lambda函數(shù)也稱為匿名函數(shù)
C: lambda函數(shù)將函數(shù)名作為函數(shù)結(jié)果返回
D: 定義了一種特殊的函數(shù)
以下選項(xiàng)中,不屬于關(guān)系型數(shù)據(jù)庫(kù)的是(D)
A:Mysql
B:Oracel
C:Microsoft SQL Server
D:MongoDB
以下關(guān)于字典的描述,錯(cuò)誤的是(D)B. 字典長(zhǎng)度是可變的
C. 字典是鍵值對(duì)的集合
D. 字典中的鍵可以對(duì)應(yīng)多個(gè)值信息
以下屬于 Python 腳本程序轉(zhuǎn)變?yōu)榭蓤?zhí)行程序的第三方庫(kù)的是(D)
A. openpyxl
B. PyPDF2
C. pillow
D. pyinstaller
以下關(guān)于 Python 函數(shù)對(duì)變量的作用,錯(cuò)誤的是(D)
A. 簡(jiǎn)單數(shù)據(jù)類型在函數(shù)內(nèi)部用 global 保留字聲明后,函數(shù)退出后該變量保留
B. 全局變量指在函數(shù)之外定義的變量,在程序執(zhí)行全過(guò)程有效
C. 簡(jiǎn)單數(shù)據(jù)類型變量?jī)H在函數(shù)內(nèi)部創(chuàng)建和使用,函數(shù)退出后變量被釋放
D. 對(duì)于組合數(shù)據(jù)類型的全局變量,如果在函數(shù)內(nèi)部沒(méi)有被真實(shí)創(chuàng)建的同名變量,則函數(shù)內(nèi)部不可以直接使用并修改全局變量的值
以下關(guān)于列表和字符串的描述,錯(cuò)誤的是(D)
A. 列表使用正向遞增序號(hào)和反向遞減序號(hào)的索引體系
B. 列表是一個(gè)可以修改數(shù)據(jù)項(xiàng)的序列類型
C. 字符和列表均支持成員關(guān)系操作符(in)和長(zhǎng)度計(jì)算函數(shù)(len())
D. 字符串是單一字符的無(wú)序組合
以下 Python 語(yǔ)言關(guān)鍵字在異常處理結(jié)構(gòu)中用來(lái)捕獲特定類型異常的選項(xiàng)是(D)
A. for
B. lambda
C. in
D. expect
Python 語(yǔ)言中,以下表達(dá)式輸出結(jié)果為 11 的選項(xiàng)是(D)
A. print("1+1")
B. print(1+1)
C. print(eval("1+1"))
D. print(eval("1" + "1"))
以下屬于python多線程的模塊的選項(xiàng)為(D)
A:multiprocessing
B:gevent
C:asyncio
D:threading
下列選項(xiàng)中,不屬于Python語(yǔ)言特點(diǎn)的是(C)。
A.簡(jiǎn)單易學(xué)
B.開(kāi)源
C.面對(duì)過(guò)程
D.可移植性
假設(shè)list1是[2,33,222,14,25],什么是list1 [-1]. (C)
A:錯(cuò)誤
B:沒(méi)有
C:25
D:2
何時(shí)執(zhí)行try-except-else的else部分?(c)
A:總是
B:發(fā)生異常時(shí)
C:沒(méi)有異常發(fā)生時(shí)
D:沒(méi)有else語(yǔ)法
為什么不鼓勵(lì)以下劃線開(kāi)頭的局部變量名?(A)
A:它們用于表示類的私有變量
B:他們混淆了口譯員
C:它們用于表示全局變量
D:他們放慢執(zhí)行速度
以下哪項(xiàng)是無(wú)效聲明?(B)
A:abc = 1,000,000
B:a b c = 1000 2000 3000
C:a,b,c = 1000,2000,3000
D:a_b_c = 1,000,000
以下不屬于HTTP請(qǐng)求庫(kù)的選項(xiàng)為(B)
A:urllib
B:BeautifulSoup
C:requests
D:aiohttp
以下選項(xiàng)中不符合 Python 語(yǔ)言變量命名規(guī)則的是(B)
A.I
B.3_1
C._AI
D.TempStr
以下關(guān)于 Python 字符串的描述中,錯(cuò)誤的是(C)
A.字符串是字符的序列,可以按照單個(gè)字符或者字符片段進(jìn)行索引
B.字符串包括兩種序號(hào)體系:正向遞增和反向遞減
C.Python 字符串提供區(qū)間訪問(wèn)方式,采用 [N:M] 格式,表示字符串中從 N 到 M 的索引子字符串(包含 N 和 M)
D.字符串是用一對(duì)雙引號(hào)" "或者單引號(hào)‘ ‘括起來(lái)的零個(gè)或者多個(gè)字符
關(guān)于 import 引用,以下選項(xiàng)中描述錯(cuò)誤的是(B)
A.使用 import turtle 引入turtle 庫(kù)
B.可以使用 from turtle import setup 引入 turtle 庫(kù)
C.使用 import turtle as t 引入 turtle 庫(kù),取別名為 t
D.import 保留字用于導(dǎo)入模塊或者模塊中的對(duì)象
關(guān)于程序的異常處理,以下選項(xiàng)中描述錯(cuò)誤的是(C)
A.程序異常發(fā)生經(jīng)過(guò)妥善處理可以繼續(xù)執(zhí)行
B.異常語(yǔ)句可以與 else 和 finally 保留字配合使用
C.編程語(yǔ)言中的異常和錯(cuò)誤是完全相同的概念
D.Python 通過(guò) try、except 等保留字提供異常處理功能
關(guān)于函數(shù),以下選項(xiàng)中描述錯(cuò)誤的是(C)
A.函數(shù)能完成特定的功能,對(duì)函數(shù)的使用不需要了解函數(shù)內(nèi)部實(shí)現(xiàn)原理,只要了解函數(shù)的輸入輸出方式即可。
B.使用函數(shù)的主要目的是減低編程難度和代碼重用
C.Python 使用 del 保留字定義一個(gè)函數(shù)
D.函數(shù)是一段具有特定功能的、可重用的語(yǔ)句組
以下選項(xiàng)中是 Python 中文分詞的第三方庫(kù)的是(A)
A.jieba
B.itchat
C.time
D.turtle
關(guān)于 Python 對(duì)文件的處理,以下選項(xiàng)中描述錯(cuò)誤的是(B)
A.Python 通過(guò)解釋器內(nèi)置的 open() 函數(shù)打開(kāi)一個(gè)文件
B.當(dāng)文件以文本方式打開(kāi)時(shí),讀寫按照字節(jié)流方式
C.文件使用結(jié)束后要用 close() 方法關(guān)閉,釋放文件的使用授權(quán)
D.Python 能夠以文本和二進(jìn)制兩種方式處理文件
關(guān)于 Python 字符編碼,以下選項(xiàng)中描述錯(cuò)誤的是(D)
A.chr(x) 和 ord(x) 函數(shù)用于在單字符和 Unicode 編碼值之間進(jìn)行轉(zhuǎn)換
B.print(chr(65)) 輸出 A
C.print(ord(‘a‘)) 輸出 97
D.Python 字符編碼使用 ASCII 編碼
關(guān)于 Python 循環(huán)結(jié)構(gòu),以下選項(xiàng)中描述錯(cuò)誤的是(B)
A.遍歷循環(huán)中的遍歷結(jié)構(gòu)可以是字符串、文件、組合數(shù)據(jù)類型和 range() 函數(shù)等
B.break 用來(lái)結(jié)束當(dāng)前當(dāng)次語(yǔ)句,但不跳出當(dāng)前的循環(huán)體
C.continue 只結(jié)束本次循環(huán)
django是一個(gè)(A)模式框架。
A: MTV
B: MVC
C:WSGI
D:ISO
在下列Django的ORM操作方法中,哪一個(gè)不會(huì)返回QuerySet對(duì)象?D
A:all
B:filter
C:exclude
D:get
在下列Django的ORM操作方法中,當(dāng)匹配不到數(shù)據(jù)時(shí),哪一個(gè)會(huì)報(bào)錯(cuò)?B
A:all
B:get
C:exclude
D:filter
下列選項(xiàng)不是Django框架提供的表單對(duì)象的功能的是(D)
A:渲染
B:校驗(yàn)數(shù)據(jù)
C:解耦
D:混淆代碼
以下哪個(gè)不是redis數(shù)據(jù)庫(kù)的數(shù)據(jù)類型(C)
A:string
B:list
C:dict
D:set
以下說(shuō)法正確的是:A
A:cookie信息是存儲(chǔ)在客戶端的
B:session信息是存儲(chǔ)在客戶端的
C:cookie技術(shù)僅有客戶端實(shí)現(xiàn)
D:session技術(shù)不依賴cookie技術(shù)
以下說(shuō)法錯(cuò)誤的是:D
A:在django框架中,通過(guò)post表單提交的數(shù)據(jù)可以使用request.POST獲取
B:在django框架中,通過(guò)url參數(shù)提交的數(shù)據(jù)可以使用request.GET獲取
C:在django框架中,通過(guò)路徑參數(shù)提交的數(shù)據(jù)可以使用視圖函數(shù)的參數(shù)獲取
D:在django框架中,通過(guò)post提交的json數(shù)據(jù)可以使用request.POST獲取
生產(chǎn)環(huán)境下,django項(xiàng)目配置文件中的DEBUG屬性應(yīng)該設(shè)置為:D
A: 1
B:0
C:None
D:True
在某個(gè)django框架中定義了一個(gè)Student的模型,它用來(lái)表示學(xué)生表,以下字段定義錯(cuò)誤的是: A
A: name = models.CharField('姓名')
B: age = models.SmallIntergerField('年齡', null=True, blank=True)
C: mobile = models.CharFied('電話', max_length=11, min_length=11)
D: qq = models.CharField(max_length=20)
Django框架中,中間件的作用非常大,以下說(shuō)法錯(cuò)誤的是:D
A: 中間件可以在視圖處理前處理請(qǐng)求對(duì)象
B: 中間件可以在視圖處理結(jié)束后處理響應(yīng)對(duì)象
C: 中間件可以在請(qǐng)求處理前處理請(qǐng)求對(duì)象
D: 中間件可以在視圖處理中處理請(qǐng)求對(duì)象
以下不屬于requests模塊response對(duì)象的方法的是(D)
A:content
B:text
C:json
D:read
TCP協(xié)議建立連接需要多次握手?(C)
A:一次
B:二次
C:三次
D:四次
TCP協(xié)議斷開(kāi)連接需要多次揮手?(D)
A:一次
B:二次
C:三次
D:四次
以下選項(xiàng)中不屬于網(wǎng)頁(yè)解析庫(kù)的是(C)
A:re
B:lxml
C:requests
D:BeautifuiSoup
redis中數(shù)據(jù)庫(kù)默認(rèn)是多少個(gè)db?(C)
A:10個(gè)
B:15個(gè)
C:16個(gè)
D:20個(gè)
下列選項(xiàng)中,不屬于django內(nèi)置組件的是?(B)
A:admin
B:xadmin
C:model
D:form
問(wèn)答題
1.聲明變量注意事項(xiàng)有哪些?
1)由字母、數(shù)字和下劃線構(gòu)成,不能以數(shù)字開(kāi)頭,不能任意特殊字符
2)變量定義規(guī)范,使用駝峰式或者下劃線式格式
3)變量定義盡量簡(jiǎn)明,易懂,方便使用者應(yīng)用
2.如何查看變量在內(nèi)存中的地址?
可以通過(guò)id方法,獲取變量在內(nèi)存中的地址,例如 name = 456789 print(id(name))
3.Python單行注釋和多行注釋分別用什么?
單行注釋: # 被注釋內(nèi)容
多行注釋: ''' 被注釋內(nèi)容 '''
4.什么是lambda函數(shù)?
lambda是Python中的匿名函數(shù)。它語(yǔ)法簡(jiǎn)單,簡(jiǎn)化代碼,不會(huì)產(chǎn)生命名沖突,污染命名空間。
5.列表和元組有什么區(qū)別?
列表是可變的,即可以編輯。元組是不可變的(元組是無(wú)法編輯的列表)。
6.Python中的字典是什么?
python中的內(nèi)置數(shù)據(jù)類型稱為字典。它定義了鍵和值之間的one-to-one關(guān)系。
字典包含一對(duì)鍵及其對(duì)應(yīng)的值。字典由鍵來(lái)索引。
7.什么是Python中的map函數(shù)
Map函數(shù)執(zhí)行作為第一個(gè)參數(shù)給出的函數(shù),該函數(shù)遍歷第二個(gè)參數(shù)給出的迭代的所有元素的
8.深拷貝和淺拷貝有什么區(qū)別?
淺拷貝用于復(fù)制引用指針,就像復(fù)制值一樣。
深層復(fù)制不會(huì)將引用指針復(fù)制到對(duì)象。它引用一個(gè)對(duì)象,并存儲(chǔ)一些其他對(duì)象指向的新對(duì)象。
9.Python中 help()函數(shù)的用途是什么?
help()函數(shù)用于顯示文檔字符串,還可以幫助您查看與模塊,關(guān)鍵字,屬性等相關(guān)的幫助。
10.Python中dir()函數(shù)的用途是什么?
dir()返回參數(shù)的屬性、方法列表mm
11.什么是線程同步?
多個(gè)線程同時(shí)訪問(wèn)同一資源,等待資源訪問(wèn)結(jié)束,浪費(fèi)時(shí)間,效率低
12.redis有哪些數(shù)據(jù)類型?
string list hash set zset
13.scrapy中間件有哪幾種類?
下載中間件和爬蟲(chóng)中間件
14.裝飾器的作用 ?
裝飾器本質(zhì)上是一個(gè)Python函數(shù),它可以讓其他函數(shù)在不需要做任何代碼變動(dòng)的前提下增加額外功能,提高了代碼的復(fù)用性。
15.json模塊中l(wèi)oad和loads有什么區(qū)別?
load是將json格式的字符轉(zhuǎn)換為dict,loads是將string轉(zhuǎn)換為dict。
16.什么是無(wú)頭瀏覽器?
無(wú)頭瀏覽器即headless browser,是一種沒(méi)有界面的瀏覽器。既然是瀏覽器那么瀏覽器該有的東西它都應(yīng)該有,只是看不到界面而已。
17.什么是遞歸?
在調(diào)用一個(gè)函數(shù)的過(guò)程中,直接或間接地調(diào)用了函數(shù)本身這個(gè)就叫遞歸。
18.什么是生成器?
生成器會(huì)生成一系列的值用于迭代,這樣看它又是一種可迭代對(duì)象。它是在for循環(huán)的過(guò)程中不斷計(jì)算出下一個(gè)元素,并在適當(dāng)?shù)臈l件結(jié)束for循環(huán)。
19.什么是迭代器?
迭代器是訪問(wèn)集合元素的一種方式。迭代器對(duì)象從集合的第一個(gè)元素開(kāi)始訪問(wèn),直到所有的元素被訪問(wèn)完結(jié)束。
20.Python中的split()函數(shù)的作用?
Split()能讓我們用指定字符分割字符串。
21.如何判斷是函數(shù)還是方法?
通過(guò)type()可以知道對(duì)象所屬的類型,函數(shù)是<class 'function'>,方法是<class 'method'>
22.isinstance的作用?
isinstance() 函數(shù)來(lái)判斷一個(gè)對(duì)象是否是一個(gè)已知的類型,類似 type()。
23.json序列化時(shí),默認(rèn)遇到中文會(huì)轉(zhuǎn)換成unicode,如果想要保留中文怎么辦?
序列化的時(shí)候,加入ensure_ascii參數(shù)
24.yield關(guān)鍵字的作用?
當(dāng)一個(gè)函數(shù)中存在yield關(guān)鍵字時(shí),它就變成了一個(gè)生成器,每次迭代求值一次,節(jié)省內(nèi)存;
25.pass語(yǔ)句的作用是什么?
pass是空語(yǔ)句占位符,是為了保持程序結(jié)構(gòu)的完整性。
26.is和==的區(qū)別是什么?
在python中,is檢查兩個(gè)對(duì)象是否是同一個(gè)對(duì)象,而==檢查他們的值是否相等.
27.mysql數(shù)據(jù)庫(kù)的約束有哪些?
主鍵約束、唯一約束、檢查約束、非空約束、外鍵約束
28.事務(wù)的特性有哪些?
Atomicity(原子性)、Consistency(一致性)、Isolation(隔離性)、Durability(持久性)
29.mysql中主鍵和外鍵的區(qū)別?
主鍵是能確定一條記錄的唯一標(biāo)示。例如,身份證證號(hào)
外鍵:用于與另一張表的關(guān)聯(lián),是能確定另一張表記錄的字段,用于保持?jǐn)?shù)據(jù)的一致性
30.redis中不同db的作用?
Redis支持多個(gè)數(shù)據(jù)庫(kù),并且每個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)是隔離的不能共享,并且基于單機(jī)才有,如果是集群就沒(méi)有數(shù)據(jù)庫(kù)的概念。
31.scrapy和scrapy-redis的區(qū)別?
scrapy是一個(gè)爬蟲(chóng)通用框架,但不支持分布式,scrapy-redis是為了更方便的實(shí)現(xiàn)scrapy分布式爬蟲(chóng),而提供了一些以redis為基礎(chǔ)的組件
32.python語(yǔ)言中enumerate的意思是?
對(duì)于一個(gè)可迭代的(iterable)/可遍歷的對(duì)象(如列表、字符串),enumerate將其組成一個(gè)索引序列,利用它可以同時(shí)獲得索引和值
enumerate多用于在for循環(huán)中得到計(jì)數(shù)
33.多進(jìn)程更穩(wěn)定還是多線程更穩(wěn)定?為什么?
多進(jìn)程更穩(wěn)定,它們是獨(dú)立運(yùn)行的,不會(huì)因?yàn)橐粋€(gè)崩潰而影響其他進(jìn)程。
34.HTTP協(xié)議請(qǐng)求由什么組成?
請(qǐng)求行(request line)、請(qǐng)求頭部(header)、空行和請(qǐng)求數(shù)據(jù)四個(gè)部分組成
35.https協(xié)議和http協(xié)議有什么區(qū)別?
http是超文本傳輸協(xié)議,信息是明文傳輸,https則是具有安全性的ssl加密傳輸協(xié)議。
36.Django框架中的MTV模式,具體指什么?
Django框架的MTV設(shè)計(jì)模式借鑒了MVC框架的思想,三部分為:Model、Template和View
37.什么是wsgi和uwsgi?
wsgi是web服務(wù)器網(wǎng)關(guān)接口,是一套協(xié)議。用于接收用戶請(qǐng)求并將請(qǐng)求進(jìn)行初次封裝,然后將請(qǐng)求交給web框架
uwsgi與WSGI一樣是一種通信協(xié)議,它是uWSGI服務(wù)器的獨(dú)占協(xié)議,用于定義傳輸信息的類型
38.django中csrf的實(shí)現(xiàn)機(jī)制
第一步:django第一次響應(yīng)來(lái)自某個(gè)客戶端的請(qǐng)求時(shí),后端隨機(jī)產(chǎn)生一個(gè)token值,把這個(gè)token保存在SESSION狀態(tài)中;同時(shí),后端把這個(gè)token放到cookie中交給前端頁(yè)面;
第二步:下次前端需要發(fā)起請(qǐng)求(比如發(fā)帖)的時(shí)候把這個(gè)token值加入到請(qǐng)求數(shù)據(jù)或者頭信息中,一起傳給后端;Cookies:{csrftoken:xxxxx}
第三步:后端校驗(yàn)前端請(qǐng)求帶過(guò)來(lái)的token和SESSION里的token是否一致;
相關(guān)文章
- 這篇文章主要介紹了2019年最新的Python面試題(小結(jié)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-12-30
- 本文給大家分享Python高頻面試題及其答案,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2019-12-26
Python爬蟲(chóng)工程師面試常見(jiàn)問(wèn)題與總結(jié)
這篇文章主要介紹了Python爬蟲(chóng)工程師面試常見(jiàn)問(wèn)題,總結(jié)分析了Python爬蟲(chóng)工程師面試過(guò)程中常遇到的各種問(wèn)題與相應(yīng)知識(shí)點(diǎn),并給出了參考建議,需要的朋友可以參考下2019-12-2612個(gè)Python程序員面試必備問(wèn)題與答案
這篇文章主要介紹了12個(gè)Python程序員面試必備問(wèn)題與答案,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-12-25- 這篇文章主要介紹了2019Python必刷面試題(小結(jié)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-12-25
python面試流程與經(jīng)驗(yàn)小結(jié)
這篇文章主要介紹了python面試流程與經(jīng)驗(yàn),總結(jié)分析了Python面試過(guò)程中的各個(gè)環(huán)節(jié)、所遇到的問(wèn)題以及相關(guān)注意事項(xiàng),需要的朋友可以參考下2019-11-16- 這篇文章主要介紹了Python經(jīng)典面試題與參考答案,總結(jié)分析了Python面試中各種常見(jiàn)的概念、數(shù)據(jù)結(jié)構(gòu)、算法等相關(guān)操作技巧,需要的朋友可以參考下2019-11-04
Python Web工程師面試相關(guān)問(wèn)題總結(jié)
這篇文章主要介紹了Python Web工程師面試相關(guān)問(wèn)題,總結(jié)分析了Python Web工程師面試過(guò)程中經(jīng)常遇到的各種問(wèn)題及需要掌握的知識(shí)點(diǎn),需要的朋友可以參考下2019-11-01python爬蟲(chóng)面試必看的常見(jiàn)問(wèn)題與參考答案解析
這篇文章主要介紹了python爬蟲(chóng)面試必看的常見(jiàn)問(wèn)題與參考答案,結(jié)合實(shí)例形式總結(jié)分析了Python爬蟲(chóng)面試相關(guān)的Python基礎(chǔ)知識(shí)、概念、原理、算法及相關(guān)操作注意事項(xiàng),需要的朋友2019-10-28python面試常見(jiàn)問(wèn)題及知識(shí)點(diǎn)整理之列表、字典與綜合部分
這篇文章主要介紹了python面試常見(jiàn)問(wèn)題及知識(shí)點(diǎn)整理之列表、字典與綜合部分,總結(jié)整理了Python面試中關(guān)于列表、字典及其他常見(jiàn)數(shù)據(jù)類型操作技巧,需要的朋友可以參考下2019-10-23