013 基礎知識,常見面試題

2022-09-09 18:36:17 字數 2209 閱讀 9010

參考:

技術上很難有新的進步,發展空間也有侷限性,而我更希望挑戰一下自己,嘗試一些新的技術 。

舉例:雙11優惠券當天可用,滿100減50,**商品不能使用。

a、雙11優惠券當天可用(邊界值);

b、滿100減50(邊界值),同時考慮滿200減100;

c、**商品不能使用;

其他的場景:

a、ui檢查:優惠券的金額顯示,有效時間顯示,優惠券數量,優惠券是否可以排列順序,使用後是否顯示已使用並置灰,在記錄中可以查詢到;

b、優惠券狀態:已領取未使用、已領取已使用、已使用已退款;

c、檢查支付時能自動選擇優惠券、並且智慧型選擇最大優惠組合、同時支援自選擇不同優惠券;

d、2張優惠券是否可用疊加使用;優惠券是否可以和其他優惠券組合使用;

e、使用優惠券購買商品退貨的場景,支付金額和優惠券是否退還;

f、優惠券下架後是否可用繼續使用;

a、如果前端輸入的請求引數在fiddleri顯示沒有問題,同時請求位址、請求方法、webform中的資料也沒問題在fiddler中顯示也沒問題,而返回的而資料結果有問題,不是期望的結果,那應該是後端的問題;

b、如果前端的資料在fiddler中顯示有問題,後端返回的資料100%錯誤,那麼應該是前端的問題;

c、比如抓登入的包,密碼是加密的,需要找開發要解密工具,確定請求引數是否正確;

d、除fiddler抓包分析外,還可用linux系統的 tail -f 檢視日誌分析;

a、http協議:資訊是明文傳輸的,80 埠; 

b、https協議是由http+ssl構成的加密傳輸協議,443埠;

位址列前面有一把鎖;fiddler抓https包時需要安裝證書;本地會有第三方的數字證書;先是非對稱加密傳輸 建立連線,然後是對稱加密 傳輸內容;

主要有四種方式,四種方式主要取決於content-type這個請求頭;

multipart/form-data : 報文包含有檔案上傳;

text/xml : 報文是字串;

binary : 報文是以二進位制的方式上傳檔案;

cookie:cookie資訊

參考:b、傳參的長度不一樣:get有長度限制,不同瀏覽器的長度不一樣;

c、get一般是獲取資料,比如查詢;post提交資料,比如:增、刪、改;

d、get是明文,所以 post 比 get更安全 ;

e、get產生乙個tcp資料報;post產生兩個tcp資料報。

詳細說:

對於get方式的請求,瀏覽器會把httpheader和data一併傳送出去,伺服器響應200(返回資料);

而對於post,瀏覽器先傳送header,伺服器響應100 continue,瀏覽器再傳送data,伺服器響應200 ok(返回資料)。

也就是說,get只需要汽車跑一趟就把貨送到了,而post得跑兩趟,第一趟,先去和伺服器打個招呼「嗨,我等下要送一批貨來,你們開啟門迎接我」,然後再回頭把貨送過去。

參考:1***     資訊提示,表示請求已接收,繼續處理;

2***     請求成功;

3***     重定向;

4***     客戶端的錯誤;

5***     服務端的錯誤;

100狀態碼,說明伺服器收到了請求的初始部分,並且請客戶端繼續傳送。

在伺服器傳送了 100 continue 狀態碼之後,如果收到客戶端的請求,則必須進行響應;

200狀態碼,請求成功;

302狀態碼,重定向;

404狀態碼,伺服器找不到請求的網頁;

500狀態碼, 伺服器內部錯誤;

參考:相同點:都是用於鑑權並且都是伺服器生成的;

不同點:

cookie ,   資料存放在客戶端的瀏覽器上,cookie不是很安全,且儲存資料有限;

session , 資料放在伺服器上,預設儲存30分鐘,當訪問增多,占用伺服器效能;一般會生成sessionid,sessionid可用通過cookie傳遞;

token,     伺服器生成 token,客戶端拿到 token 後會儲存到本地,之後向 server 請求時在請求頭帶上此 token 即可;server 會有一套校驗機制,校驗這個 token 是否合法,這樣就不會出現session那樣大量訪問時占用伺服器資源;

cookie是不允許垮域訪問的,但是token是支援的;

常見面試題

1.get和post的區別 1 本質區別 get是向伺服器請求資料,post是向伺服器傳送資料。2 伺服器獲取值的方式 get方式提交的資料,伺服器端使用request.querystring獲取變數的值。post方式提交的資料,伺服器端使用request.form獲取資料。3 安全性 get安全效...

常見面試題

1 一行 實現1 100之和 lst i for i in range 1,101 print sum lst 2 如何在乙個函式內部修改全域性變數?在函式內部新增 global 變數名 這樣就可以在本地作用域定義全域性作用域了 name 大明 def eat name1 global name n...

常見面試題

dns解析 發起tcp三次握手,並建立tcp連線 發起http請求 伺服器相應http請求並得到html 伺服器解析html 並對頁面進行渲染然後返回給使用者 首先先進行ioc容器的初始化 ioc 容器的初始化過程分為三步驟 resource 定位 beandefinition 的載入和解析,bea...