千鋒教育web前端高頻面試題視頻教程,kerwin大話前端面試秘籍(附答案)

1.路由懶加載: 一種優(yōu)化網(wǎng)頁(yè)性能的技術(shù),可以顯著提升網(wǎng)頁(yè)加載速度
2.插槽:默認(rèn)、具名插槽相當(dāng)于預(yù)留一個(gè)位置,將組件內(nèi)容放入,寫(xiě)一個(gè)插槽就會(huì)將組件內(nèi)容替換一次,可以自定義名字,根據(jù)插槽名插入內(nèi)容
3.vue和react中diff算法
是一種通過(guò)樹(shù)節(jié)點(diǎn)進(jìn)行比較的高效算法,避免了對(duì)數(shù)進(jìn)行逐層搜索遍歷
1) 做同級(jí)比較,不會(huì)跨級(jí)比較
2) diff比較過(guò)程中,循環(huán)從兩邊向中間收攏vue:類名不同,也會(huì)認(rèn)為不同,會(huì)被替換react:div相同,類名不同,認(rèn)為是相同節(jié)點(diǎn)
4.vue組件為什么data是函數(shù)
每次復(fù)用組件,返回一個(gè)新data,相當(dāng)于創(chuàng)建一個(gè)私有的數(shù)據(jù)空間,讓每個(gè)組件維護(hù)各自數(shù)據(jù)如果是對(duì)象,就會(huì)使得所有組件實(shí)例共用一個(gè)data,會(huì)造成一個(gè)改變?nèi)紩?huì)改變的結(jié)果
5.vue組件通信
1)props和$emit: 父向子通過(guò)props,子向父通過(guò)Semit
2)$attrs和$listeners;跨層級(jí),多個(gè)父組件,子組件
3)provide和inject: 可跨級(jí),父組件通過(guò)provide提供變量,子組件inject來(lái)注入變量
4)中央事件總線eventbus: 不太復(fù)雜的(原理發(fā)布者訂閱模式)
5)$parent和$children
6)vuex:狀態(tài)管理工具,任何組件中隨時(shí)使用,不需要考慮層級(jí)關(guān)系
7) v-model:父組件通過(guò)v-model傳值給子組件會(huì)自動(dòng)傳遞一個(gè)value的prop屬性,在子組件中通過(guò)this.$emit(input,val)自動(dòng)修改v-model綁定的值
8) boradcast和dispatch(訂閱發(fā)布的變形)
6.代碼管理與工程化webpack
git常用命令以及工作中都怎么工作
git常用命令:
初始化倉(cāng)庫(kù): git init查看當(dāng)前各個(gè)區(qū)域的代碼狀態(tài): git status
查看commit記錄: git log
查看完整記錄: git reflog
添加工作區(qū)代碼到暫存區(qū): git add暫存區(qū)代碼的提交: git commit代碼的版本回退: git reset將暫存處代碼收起來(lái): git stash將收起來(lái)的箸存區(qū)的代碼釋放出來(lái): git stashpop
打標(biāo)簽: Git tag
基于當(dāng)前分支創(chuàng)建一個(gè)分支: Git branch
切換分支: git checkout
合并分支: git merge
添加遠(yuǎn)端倉(cāng)庫(kù)地址: git remote add origin
克隆倉(cāng)庫(kù): git clone
下拉對(duì)應(yīng)分支代碼: git pu11
上傳對(duì)應(yīng)分支代碼: git push