2021年前端面試試題
在日常學(xué)習(xí)、工作生活中,我們最少不了的就是試題了,借助試題可以對一個(gè)人進(jìn)行全方位的考核。一份好的試題都是什么樣子的呢?下面是小編收集整理的2021年前端面試試題,僅供參考,希望能夠幫助到大家。
1、簡述一下前端MV框架的意義
早期前端都是比較簡單,基本以頁面為工作單元,內(nèi)容以瀏覽型為主,也偶爾有簡單的表單操作,基本不太需要框架。
隨著AJAX的出現(xiàn),Web2、0的興起,人們可以在頁面上可以做比較復(fù)雜的事情了,然后前端框架才真正出現(xiàn)了。
如果是頁面型產(chǎn)品,多數(shù)確實(shí)不太需要它,因?yàn)轫撁嬷械腏avaScript代碼,處理交互的絕對遠(yuǎn)遠(yuǎn)超過處理模型的,但是如果是應(yīng)用軟件類產(chǎn)品,這就太需要了。
長期做某個(gè)行業(yè)軟件的公司,一般都會(huì)沉淀下來一些業(yè)務(wù)組件,主要體現(xiàn)在數(shù)據(jù)模型、業(yè)務(wù)規(guī)則和業(yè)務(wù)流程,這些組件基本都存在于后端,在前端很少有相應(yīng)的組織。
從協(xié)作關(guān)系上講,很多前端開發(fā)團(tuán)隊(duì)每個(gè)成員的職責(zé)不是很清晰,有了前端的MV框架,這個(gè)狀況會(huì)大有改觀。
之所以感受不到MV框架的重要性,是因?yàn)镸odel部分代碼較少,View的相對多一些。如果主要在操作View和Controller,那當(dāng)然jQuery這類庫比較好用了。
參考《前端MV框架的意義》
2、請簡述盒模型
IE6盒子模型與W3C盒子模型。
文檔中的每個(gè)元素被描繪為矩形盒子。盒子有四個(gè)邊界:外邊距邊界margin,邊框邊界bder,內(nèi)邊距邊界padding與內(nèi)容邊界content。
CSS3中有個(gè)box—sizing屬性可以控制盒子的計(jì)算方式,
content—box:padding和bder不被包含在定義的width和height之內(nèi)。對象的實(shí)際寬度等于設(shè)置的width值和bder、padding之和。(W3C盒子模型)
bder—box:padding和bder被包含在定義的width和height之內(nèi)。對象的實(shí)際寬度就等于設(shè)置的width值。
3、請你談?wù)凜ookie的弊端
a、每個(gè)特定的域名下最多生成的cookie個(gè)數(shù)有限制。
b、IE和Opera會(huì)清理近期最少使用的cookie,F(xiàn)irefox會(huì)隨機(jī)清理cookie。
c、cookie的最大大約為4096字節(jié),為了兼容性,一般不能超過4095字節(jié)。
d、安全性問題。如果cookie被人攔截了,那人就可以取得所有的session信息。
4、瀏覽器本地存儲(chǔ)
在HTML5中提供了sessionStage和localStage。
sessionStage用于本地存儲(chǔ)一個(gè)會(huì)話(session)中的數(shù)據(jù),這些數(shù)據(jù)只有在同一個(gè)會(huì)話中的頁面才能訪問并且當(dāng)會(huì)話結(jié)束后數(shù)據(jù)也隨之銷毀,是會(huì)話級別的存儲(chǔ)。
localStage用于持久化的本地存儲(chǔ),除非主動(dòng)刪除數(shù)據(jù),否則數(shù)據(jù)是永遠(yuǎn)不會(huì)過期的。
5、webstage和cookie的區(qū)別
a、Cookie的大小是受限的
b、每次你請求一個(gè)新的頁面的`時(shí)候Cookie都會(huì)被發(fā)送過去,這樣無形中浪費(fèi)了帶寬。
c、cookie還需要指定作用域,不可以跨域調(diào)用。
d、WebStage擁有setItem,getItem等方法,cookie需要前端開發(fā)者自己封裝setCookie,getCookie。
e、Cookie的作用是與服務(wù)器進(jìn)行交互,作為HTTP規(guī)范的一部分而存在,而WebStage僅僅是為了在本地“存儲(chǔ)”數(shù)據(jù)而生
f、IE7、IE6中的UserData通過簡單的代碼封裝可以統(tǒng)一到所有的瀏覽器都支持webstage。
6、對BFC規(guī)范的理解
BFC全稱是BlockFmattingContext,即塊格式化上下文。它是CSS2、1規(guī)范定義的,關(guān)于CSS渲染定位的一個(gè)概念。
BFC是頁面CSS視覺渲染的一部分,用于決定塊盒子的布局及浮動(dòng)相互影響范圍的一個(gè)區(qū)域。
BFC的一個(gè)最重要的效果是,讓處于BFC內(nèi)部的元素與外部的元素相互隔離,使內(nèi)外元素的定位不會(huì)相互影響。
利用BFC可以閉合浮動(dòng),防止與浮動(dòng)元素重疊。