HTTP押題
1. HTTP的請求頭和響應(yīng)頭知道多少悬赏?
HTTP報文由三部分組成:請求行、 請求頭娄徊、請求體
請求頭:
(1) Accpet: 告訴服務(wù)端闽颇,客戶端接收什么類型的響應(yīng)。
(2) Referfer:表示請求從哪個URL進(jìn)來的寄锐。
(3) Cache-Control:對緩存進(jìn)行控制兵多,入一個請求希望響應(yīng)的內(nèi)容在客戶端
緩存一年,可以通過這個請求頭設(shè)置锐峭。
(4) Host:指定要請求的資源所在的主機(jī)和端口中鼠。
(5) User-Agent:告訴服務(wù)器可婶,客戶端使用的操作系統(tǒng)沿癞、瀏覽器的版本以及名稱。
響應(yīng)頭:
(1) Cache-Control:響應(yīng)輸出到客戶端后,服務(wù)端通過該屬性告訴客戶端該怎么
控制響應(yīng)內(nèi)容的緩存矛渴。
(2) ETag:表示你請求資源的版本,如果該資源發(fā)生啦變化,那么這個屬性也會跟著變椎扬。
(3) Location:在重定向或創(chuàng)建新資源時使用。
(4) Set-Cookie:服務(wù)端可以設(shè)置客戶端的Cookie
2. HTTP的響應(yīng)碼知道多少具温?
(1) 200:OK 表示請求成功
(2) 201:Created 請求成功并且服務(wù)器創(chuàng)建了新的資源
(3) 202:Accepted 服務(wù)器已接受請求蚕涤,但尚未處理
(4) 301:Moved Permanently 永久重定向
(5) 302:Found 臨時性重定向。
(6) 303:See Other 臨時性重定向铣猩,且總是使用 GET 請求新的 URI揖铜。
(7) 304:資源并未修改,可以直接使用本地資源
(8) 401:Unauthorized 請求未授權(quán)
(9) 404:找不到與URL相匹配的資源(頁面被刪除或者其它)
(10) 500:服務(wù)端錯誤
3. GET和POST的區(qū)別达皿?
4. HTTP緩存有幾種天吓?
HTTP緩存分為兩大類:強(qiáng)制緩存 和 協(xié)商緩存。
強(qiáng)制緩存:在緩存數(shù)據(jù)未失效的情況下峦椰,不需要再和服務(wù)器發(fā)生交互龄寞。
協(xié)商緩存:需要進(jìn)行比較判斷來決定是否使用緩存。
Vue押題
1. watch 和 computed 和 methods 區(qū)別是什么汤功?
computed: 計算屬性物邑,基于它們的依賴進(jìn)行緩存,只有在它的相關(guān)依賴發(fā)生改變時
才會重新求值滔金。如果沒有改變色解,多次訪問計算屬性會立即返回之前的計算結(jié)果,
不必再次執(zhí)行該函數(shù)餐茵。
watch:監(jiān)聽器冒签,數(shù)據(jù)需要隨著其它數(shù)據(jù)變動而變動時
2. Vue 有哪些生命周期鉤子函數(shù)?分別有什么用钟病?
3. Vue 如何實現(xiàn)組件間通信萧恕?
4. Vue 數(shù)據(jù)響應(yīng)式怎么做到的刚梭?
5. Vuex 你怎么用的?
state:
getter:
mutation:
action:
6. VueRouter 你怎么用的票唆?
7. 路由守衛(wèi)是什么朴读?
8. Vue.set 是做什么用的?
9. Axios和普通的Ajax的區(qū)別是什么走趋?
AJAX: 與服務(wù)端交換數(shù)據(jù)衅金,進(jìn)行交互,發(fā)送請求和攔截響應(yīng)簿煌。
axios: 是一種基于Promise封裝的HTTP客戶端氮唯,Axios實現(xiàn)了對Ajax的封裝。
10. Vue數(shù)據(jù)雙向綁定的原理
Vue內(nèi)部通過Object.defineProperty方法屬性攔截的方式姨伟,把data對
象里每一個數(shù)據(jù)的讀寫轉(zhuǎn)化成getter/setter惩琉,當(dāng)數(shù)據(jù)變化時通知視圖更新。
11. Vue的data要用函數(shù)的原因
在創(chuàng)建或注冊模板的時候夺荒,傳入一個data屬性作為用來綁定的數(shù)據(jù)瞒渠,
但是在組件中,data必須是一個函數(shù)技扼,而不能直接賦值一個對象伍玖。
因為使用對象的話,每個組件上的data是互相影響的剿吻,對象是對于內(nèi)存地址的引用窍箍,直接定義對象的話組件之間都會訪問到這個對象。
12. ES6和CSS3的新特性
border-shadow:
box-shadow:
border-radius:
animations:
flex布局:
媒體查詢:
let和const關(guān)鍵字:let定義塊作用域變量丽旅,const定義常量
字符串模板: `${}`
箭頭函數(shù):沒有this這個屬性
Promise:
解構(gòu)賦值:
13. 事件委托
14. 單例模式
15. 動態(tài)REM
REM是根據(jù)根元素的font-size
不同瀏覽器的根元素的默認(rèn)字體大小不一樣椰棘,所以要動態(tài)設(shè)定。
16. Vuex的用法
作用:用于管理數(shù)據(jù)魔招,共享狀態(tài)晰搀,在各個組件之間管理外部狀態(tài)
步驟:
1. 引入vuex,并通過use方法使用它办斑。
2. 創(chuàng)建狀態(tài)倉庫外恕。
3. 通過this.$store.state.xxx直接拿到需要的數(shù)據(jù)。
17. 如何手寫Promise
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者