下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
中級前端面試題2022
中級前端面試題目總結(jié)如下:
一、一個完整的URL解析過程:
用戶輸入URL地址,對URL地址進(jìn)行DNS域名解獲得IP地址,建立
TCP連接(三次握手),瀏覽器向web服務(wù)器發(fā)送一個HTTP請求報文,服
務(wù)器返回HTTP響應(yīng)報文給客戶端,關(guān)閉TCP連接(四次揮手),瀏覽器解析
文檔資源并渲染頁面。
解析過程:瀏覽器解析的資源(html,svg,Xhtml等),解析完成后都會生
成Y完整的DOMTree,css資源則會解析成CSSRuleTree,生成之后進(jìn)行
瀏覽器渲染,保證腳本執(zhí)行前已完成DOM渲染會放在body標(biāo)簽結(jié)束之后。
二、EventLoop是什么?
EventLoop即事件循環(huán),是指瀏覽器或Node的一種解決JavaScript單線
程運行時不會阻塞的一種機制,也就是我們經(jīng)常使用異步的原理,是f程序結(jié)構(gòu),
用于等待和發(fā)送消息和事件。
執(zhí)行過程:事件循環(huán)的順序,決定了JavaScript代碼的執(zhí)行順序。它從
script(整體代碼)開始第一次循環(huán)(即宏任務(wù)X之后全局上下文進(jìn)入函數(shù)調(diào)用棧。
直到調(diào)用棧清空(只剩全局),然后執(zhí)行所有的micro-task(微任務(wù)\當(dāng)所有可
執(zhí)行的micro-task(微任務(wù))執(zhí)行完畢之后。循環(huán)再次從macro-task(宏任務(wù))
開始,找到其中一個任務(wù)隊列執(zhí)行完畢,然后再執(zhí)行所有的micro-task(微任
務(wù)),這樣一直循環(huán)下去。
三、什么是HTTP和HTTPS
HTTP:超文本傳輸協(xié)議,是一個基于請求與響應(yīng),無狀態(tài)的,應(yīng)用層的協(xié)
議,?;赥CP/IP協(xié)議傳輸數(shù)據(jù),互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議,所有
的WWW文件都必須遵守這個標(biāo)準(zhǔn)。設(shè)計HTTP的初衷是為了提供一種發(fā)布和
接收HTML頁面的方法。
HTTPS:是一種通過計算機網(wǎng)絡(luò)進(jìn)行安全通信的傳輸協(xié)議,經(jīng)由HTTP進(jìn)
行通信,利用SSL/TLS建立全信道,加密數(shù)據(jù)包。HTTPS使用的主要目的是提
供對網(wǎng)站服務(wù)器的身份認(rèn)證,同時保護(hù)交換數(shù)據(jù)的隱私與完整性。
PS:TLS是傳輸層加密協(xié)議,前身是SSL協(xié)議,由網(wǎng)景公司1995年發(fā)布,
有時候兩者不區(qū)分。
四、https加密方式
共享密鑰加密(對稱密鑰加密):客戶端和服務(wù)器公用一個密匙用來對消息
加解密,這種方式稱為對稱加密。客戶端和服務(wù)器約定好一個加密的密匙??蛻?/p>
端在發(fā)消息前用該密匙對消息加密,發(fā)送給服務(wù)器后,服務(wù)器再用該密匙進(jìn)行解
密拿到消息。
公開密鑰加密(非對稱密鑰加密):客戶端和服務(wù)端均擁有一個公有密匙和
一個私有密匙。公有密匙可以對外暴露,而私有密匙只有自己可見。使用公有密
匙加密的消息,只有對應(yīng)的私有密匙才能解開。反過來,使用私有密匙加密的消
息,只有公有密匙才能解開。這樣客戶端在發(fā)送消息前,先用服務(wù)器的公匙對消
息進(jìn)行加密,服務(wù)器收到后再用自己的私匙進(jìn)行解密。
五、Vue2.X的雙向綁定響應(yīng)式原理
什么是響應(yīng)式,也即是說,數(shù)據(jù)發(fā)生改變的時候,視圖會重新渲染,匹配更
新為最新的值。
Object.defineProperty為對象中的每一個屬性,設(shè)置get和set方法,
每個聲明的屬性,都會有一個專屬的依賴收集器subs,當(dāng)頁面使用到某個屬
性時,觸發(fā)ObjectdefineProperty-get函數(shù),頁面的watcher就會被放到
屬性的依賴收集器subs中,在數(shù)據(jù)變化時,通知更新;當(dāng)數(shù)據(jù)改變的時候,
會觸發(fā)ObjectdefineProperty-set函數(shù),數(shù)據(jù)會遍歷自己的依賴收集器
subs,逐個通知watcher,視圖開始更新。
Vue3.x雙向綁定響應(yīng)卷據(jù)原理,Proxy可以直接監(jiān)聽對象和數(shù)組的變化,
并且有多達(dá)13種攔截方法。并且作為新標(biāo)準(zhǔn)將受到瀏覽器廠商重點持續(xù)的性能
優(yōu)化。Proxy只會代理對象的第一層,Vue3是怎樣處理這個問題的呢?判斷當(dāng)
前Reflectget的返回值是否為Object,如果是U照通過reactive方法做代理,
這樣就實現(xiàn)了深度觀測。監(jiān)測數(shù)組的時候可能觸發(fā)多次get/set,那么如何防止
觸發(fā)多次呢?我們可以判斷key是否為當(dāng)前被代理對象target自身屬性,也可
以判斷舊值與新值是否相等,只有滿足以上兩個條件之一時,才有可能執(zhí)行
trigger.
六、vue的優(yōu)點是什么?
低耦合。視圖(View)可以獨立于Model變化和修改,一個ViewModel
可以綁定到不同的"View"上,當(dāng)View變化的時候Model可以不變,當(dāng)
Model變化的時候View也可以不變。
可重用性。你可以把一些視圖邏輯放在一個ViewModel里面,讓很多
view重用這段視圖邏輯。
獨立開發(fā)。開發(fā)人員可以專注于業(yè)務(wù)邏輯和數(shù)據(jù)的開發(fā)(ViewModel),設(shè)
計人員可以專注于頁面設(shè)計,使用ExpressionBlend可以很容易設(shè)計界面并生
成xml代碼。
可測試。界面素來是比較難于測試的,而現(xiàn)在測試可以針對ViewModel來
寫。
七、vue中v-if和v-show有什么區(qū)別?
v-if和v-show都會讓元素顯示和隱藏,但是v-if是通過移除和添加dom
元素,v-show是通過display:none來實現(xiàn)隱藏,v-show是css切換,v-if是
完整的銷毀和重新創(chuàng)建,使用頻繁切換時用v-show,運行時較少改變時用v-if,
V-if='false'v-if是條件渲染,當(dāng)false的時候不會渲染,使用v-if的時候,
如果值為false,那么頁面將不會有這個html標(biāo)簽生成,v-show則是不管值是
為true還是false,html元素都會存在,只是css中的display顯示或隱藏,
v-show僅僅控制元素的顯示方式,將display屬性在block和none來回切
換;而v-if會控制這個DOM節(jié)點的存在與否。當(dāng)我們需要經(jīng)常切換某個元素
的顯示/隱藏時,使用v-show會更加節(jié)省性能上的開銷;當(dāng)只需要一次顯示或
隱藏時,使用v-if更加合理。
八、vue中的父子組件傳值和兄弟組件傳值都是如何實現(xiàn)的?
父向子傳值,主要通過子組件的props,獲取父組件綁定的數(shù)據(jù)
子向父傳值,主要通過子組件利用$emit觸發(fā)父組件上的事件,兄弟組件傳
值利用eventbus的方式,主要利用創(chuàng)建一個空的vm實例,作為中間者。
組件是vue.js最強大的功能之一,而組件實例的作用域是相互獨立的,這
就意味著不同組件之間的數(shù)據(jù)無法相互引用。針對不同的使用場景,如何選擇行
之有效的通信方式?
1:prop
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 服務(wù)提供商銷售協(xié)議
- 國防生培養(yǎng)協(xié)議書
- 2024版?zhèn)€人二手車輛轉(zhuǎn)讓合同范本
- 房屋拆遷合同糾紛處理辦法
- 聘用合同范本簡單2024年
- 代理證券買賣協(xié)議書范本
- 正規(guī)的食堂承包合同范本
- 老人結(jié)伴旅游免責(zé)協(xié)議書
- 施工分包合同書
- 勞務(wù)合同書范本匯編
- 兒童教育2024年兒童教育發(fā)展方向
- 交通影響評價報告及交通組織內(nèi)容及方法
- 個人設(shè)備轉(zhuǎn)讓協(xié)議
- 《現(xiàn)代農(nóng)業(yè)技術(shù)》課件
- 2024年國家電投集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 產(chǎn)程管理中的團(tuán)隊協(xié)作與合作
- 音樂廳設(shè)計方案
- 三年級綜合實踐課《生活中的標(biāo)志》課件
- 產(chǎn)科急診預(yù)檢分診標(biāo)準(zhǔn)及解讀
- 廢氣設(shè)施施工方案
- 薄荷的栽培技術(shù)
評論
0/150
提交評論