python面試題 web後端

2021-10-03 02:43:05 字數 1230 閱讀 1638

socket(簡稱 套接字) 是程序間通訊乙個工具,它能實現把資料從一方傳輸到另外一方,完成不同電腦上程序之間的通訊, 它好比資料的搬運工。
udp是乙個簡單的面向資料報的運輸層協議.

缺點 使用場景

傳送廣播訊息

tcp:英文全拼(transmission control protocol)簡稱傳輸控制協議,它是一種面向連線的、可靠的、基於位元組流的傳輸層通訊協議.

缺點 使用場景

tcp與udp的區別

tcp面向連線; udp是不面向連線;

tcp提供可靠的資料傳輸,也就是說,通過tcp連線傳送的資料,無差錯,不丟失,不重複,且按序到達;udp不保證可靠的資料傳輸,容易出現丟包情況;

tcp需要連線傳輸速度慢,udp不需要連線,傳輸速度快

tcp不支援發廣播;udp支援發廣播

tcp對系統資源要求較多,udp對系統資源要求較少。

tcp適合傳送大量資料,udp適合傳送少量資料

tcp有流量控制,udp沒有流量控制

功能對比

定義對比

關係對比

區別 優缺點

多執行緒:

協程: 協程切換任務資源很小,效率高

多執行緒一般使用在進行io操作時

1、比如乙個業務邏輯需要並行的操作幾個檔案的讀寫,還得是同步執行,不能非同步執行,這時候可以開啟多執行緒來讀寫這幾個檔案

2、檢視中需要請求多個第三方介面,仍然也是要求同步的,不能非同步,這時候也可以用多執行緒去並行請求多個第三方介面

3、比如在訂單系統中,訂單提交後就要修改商品的庫存、商品的銷量等這樣的操作

兩者用法相同,

不同的是range返回的結果是乙個列表,

而xrange的結果是乙個生成器,

前者是直接開闢一塊記憶體空間來儲存列表,

後者是邊迴圈邊使用,只有使用時才會開闢記憶體空間,

所以當列表很長時,使用xrange效能要比range好。

celery是基於python實現的乙個非同步任務的排程工具,同時還是乙個任務佇列,主要用於處理耗時任務.

為什麼使用訊息佇列

在高併發環境下,由於來不及同時處理,請求往往會發生堵塞,通過使用訊息佇列,我們可以非同步處理請求,從而緩解系統的壓力

使用場景 缺點

系統可用性降低、系統複雜性提高、一致性問題

python後端面試題

1.說說python高併發解決方案?答案 1.使用多程序,避免使用python多執行緒。2.使用協程 併發框架 需要提到gevent tornado 只適用於web 3.使用其他語言,如c語言,來編寫多執行緒併發的程式,使用python的膠水特性。2.談談python的迭代器 生成器 裝飾器 答案 ...

web面試題集合

4 減少cookie大小 cookie被用來做認證或個性化設定,其資訊被包含在http報文頭中,對於cookie我們要注意以下幾點,來提高請求的響應速度,去除沒有必要的cookie,如果網頁不需要cookie就完全禁掉 將cookie的大小減到最小 注意cookie設定的domain級別,沒有必要情...

python語法面試題 python面試題

1.去重,集合 集合的乙個重要特點是 自動去除重複的值 li 1,2,3,1,1,2,2,3,3 去除重複的元素 set set li 轉換為集合,因為集合會自動去重。print set li list set 將集合轉換為列表print li 2.生成器 規則 生成器函式,或者生成器表示式,在呼叫...