2021前端面試試題
在日復(fù)一日的學(xué)習(xí)、工作生活中,我們會經(jīng)常接觸并使用試題,通過試題可以檢測參試者所掌握的知識和技能。什么樣的試題才是好試題呢?下面是小編精心整理的2021前端面試試題,希望能夠幫助到大家。
一、前端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è)軟件的公司,一般都會沉淀下來一些業(yè)務(wù)組件,主要體現(xiàn)在數(shù)據(jù)模型、業(yè)務(wù)規(guī)則和業(yè)務(wù)流程,這些組件基本都存在于后端,在前端很少有相應(yīng)的組織。
從協(xié)作關(guān)系上講,很多前端開發(fā)團(tuán)隊(duì)每個(gè)成員的職責(zé)不是很清晰,有了前端的MV框架,這個(gè)狀況會大有改觀。
之所以感受不到MV框架的重要性,是因?yàn)镸odel部分代碼較少,View的相對多一些。如果主要在操作View和Controller,那當(dāng)然jQuery這類庫比較好用了。
二、請簡述盒模型
文檔中的每個(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之和。
bder-box:padding和bder被包含在定義的width和height之內(nèi)。對象的實(shí)際寬度就等于設(shè)置的width值。
三、請你談?wù)凜ookie的弊端
a、每個(gè)特定的域名下最多生成的cookie個(gè)數(shù)有限制。
b、IE和Opera會清理近期最少使用的cookie,F(xiàn)irefox會隨機(jī)清理cookie。
c、cookie的最大大約為4096字節(jié),為了兼容性,一般不能超過4095字節(jié)。
d、安全性問題。如果cookie被人攔截了,那人就可以取得所有的session信息。
四、瀏覽器本地存儲
在HTML5中提供了sessionStage和localStage。
sessionStage用于本地存儲一個(gè)會話(session)中的數(shù)據(jù),這些數(shù)據(jù)只有在同一個(gè)會話中的頁面才能訪問并且當(dāng)會話結(jié)束后數(shù)據(jù)也隨之銷毀,是會話級別的存儲。
localStage用于持久化的本地存儲,除非主動刪除數(shù)據(jù),否則數(shù)據(jù)是永遠(yuǎn)不會過期的`。
五、webstage和cookie的區(qū)別
a、Cookie的大小是受限的
b、每次你請求一個(gè)新的頁面的時(shí)候Cookie都會被發(fā)送過去,這樣無形中浪費(fèi)了帶寬。
c、cookie還需要指定作用域,不可以跨域調(diào)用。
d、WebStage擁有setItem,getItem等方法,cookie需要前端開發(fā)者自己封裝setCookie,getCookie。
e、Cookie的作用是與服務(wù)器進(jìn)行交互,作為HTTP規(guī)范的一部分而存在,而WebStage僅僅是為了在本地“存儲”數(shù)據(jù)而生。
f、IE7、IE6中的UserData通過簡單的代碼封裝可以統(tǒng)一到所有的瀏覽器都支持webstage。