python面試內容

txmmy發表於2024-06-26

後端開發

  1. 什麼是websocket

http是一種單項協議,也就是客戶端和伺服器只有一方能主動傳送資料,而websocket是一種雙向協議,可以實現伺服器和客戶端的實時通訊,避免要傳送很多次http請求才能獲取資料。
原理:客戶端傳送一個http請求建立連線,伺服器返回確認訊息,然後透過這個連線建立通訊

  1. session、cookie、token的區別

session是一種會話,儲存在服務端,針對於選項卡,關閉瀏覽器或選項卡會話失效。
cookie:產生在伺服器端,儲存在客戶端,節省伺服器控制元件,可以理解為快取資料,比如使用者名稱、密碼等
token:令牌,比如使用ssh,就要接受儲存token,一般用來做授權、校驗。
安全性:session>cookie

  1. 什麼是sessionStorage

  2. 手機測試流程

  3. 自動化測試環境搭建

  4. appium怎麼搭建

  1. 安裝jdk、appium sdk、appium gui
    2.pip install appium-python-client
    3.連線真機: 手機開啟usb除錯;連線模擬器:開啟開發者模式;
    4.輸入adb devices
    5.啟動appium inspector
    6.配置appium server
    3.1 wifi連線真機:手機與PC同一網段;檢視手機ip;adb connect ip:埠號;adb devices
    埠號:adb devices獲取裝置號;adb -s 裝置號 tcpip
    https://blog.51cto.com/u_15354476/5342062
  1. python資料物件有幾種?區別是什麼?什麼是可變序列和不可變序列?

可變: 列表list、字典dict、集合Set
不可變: 數字、str、tuple
區別:建立後能否被修改

  1. django、flask的區別是什麼?

  2. 除了django、flask還有哪些開發框架?

tornado\fastapi

  1. 介紹一下scrapy

  2. 如何部署web專案?

見另一篇文章

  1. monogb的介紹和操作
  1. 介紹django、flask、django的中介軟體是什麼

  2. python的深複製和淺複製

當原物件發生改變時,會跟著改變,深複製不會改變

import copy
 
# 父物件
original = [1, 2, [3, 4]]
# 淺複製
shallow_copy = copy.copy(original)
 
# 修改父物件中的一個子列表
original[2][0] = "changed"
 
print(original)      # 輸出: [1, 2, ['changed', 4]]
print(shallow_copy)  # 輸出: [1, 2, ['changed', 4]]
import copy
 
# 父物件
original = [1, 2, [3, 4]]
# 深複製
deep_copy = copy.deepcopy(original)
 
# 修改父物件中的一個子列表
original[2][0] = "changed"
 
print(original)      # 輸出: [1, 2, ['changed', 4]]
print(deep_copy)     # 輸出: [1, 2, [3, 4]]
  1. GIL是什麼,為什麼會有GIL,去掉會怎樣,有了GIL為什麼還要給程式加鎖?

GIL:全域性解釋鎖Global Interpreter Lock
Python最初的設計理念在於,為了解決多執行緒之間資料完整性和狀態同步的問題,設計為在任意時刻只有一個執行緒在直譯器中執行。而當執行多執行緒程式時,由GIL來控制同一時刻只有一個執行緒能夠執行。即Python中的多執行緒是表面多執行緒,也可以理解為fake多執行緒,不是真正的多執行緒。
https://www.cnblogs.com/ArsenalfanInECNU/p/9968621.html
GIL是為了保證直譯器的執行緒安全,而互斥鎖是保證共享資源的執行緒安全;在多執行緒下,即使有GIL的存在,如果不使用互斥鎖,還是會出現資源競爭的問題

  1. python的修飾器

  2. pandas和numpy 的面試題

  3. 爬蟲相關面試題

  4. 什麼是WSGI(web server gatewat interface)

  5. redis管道技術pipline

pipline可以將多條馬明亮一次性傳送到伺服器,只要花費一次網路來回開銷,提高服務效能

  1. 什麼是resfulapi

  2. 如何使用flask設計api

  3. LDA

隱含狄利克雷分佈,是一種詞袋模型,他認為一篇文件是由一組詞構成的集合,詞之間沒有任何關係,將文件中每篇主題按照機率分佈給出

簡歷

相關文章