- 相關(guān)推薦
前端開發(fā)面試題及答案
在社會(huì)的各個(gè)領(lǐng)域,我們總免不了要接觸或使用試題,借助試題可以檢驗(yàn)考試者是否已經(jīng)具備獲得某種資格的基本能力。什么樣的試題才是好試題呢?下面是小編為大家整理的前端開發(fā)面試題及答案,希望能夠幫助到大家。
前端開發(fā)面試題及答案 1
1、對(duì)Web標(biāo)準(zhǔn)以及W3C的理解與認(rèn)識(shí)?
答:標(biāo)簽閉合、標(biāo)簽小寫、不亂嵌套、提高搜索機(jī)器人搜索幾率、使用外鏈CSS和JS腳本、結(jié)構(gòu)行為表現(xiàn)的分離、文件下載與頁(yè)面速度更快、內(nèi)容能被更多的用戶所訪問、內(nèi)容能被更廣泛的設(shè)備所訪問、更少的代碼和組件、容易維護(hù)、改版方便,不需要變動(dòng)頁(yè)面內(nèi)容、提供打印版本而水需要復(fù)制內(nèi)容、提高網(wǎng)站易用性。
2、XHTML和HTML有什么區(qū)別?
答:HTML是一種基本的WEB網(wǎng)頁(yè)設(shè)計(jì)語(yǔ)言,XHTML是一個(gè)基于XML的置標(biāo)語(yǔ)言 最主要的不同:
XHTML元素必須被正確地嵌套;
XHTML元素必須被關(guān)閉;
標(biāo)簽名必須用小寫字母;
XHTML文檔必須擁有根元素。
3、Doctype?嚴(yán)格模式與混雜模式-如何觸發(fā)這兩種模式,區(qū)分它們有何意義? 答:Doctype用于聲明文檔使用哪種規(guī)范(HTML/XHTML)
該標(biāo)簽可聲明三種DTD類型,分別為嚴(yán)格版本、過度版本以及基于框架的HTML文檔。
加入XML聲明可觸發(fā),解析方式更改為IE5.5擁有IE5.5的bug。
4、行內(nèi)元素有哪些?塊級(jí)元素有哪些?CSS的盒模型?
答:行內(nèi)元素:a b br i span input select
塊級(jí)元素:div p h1 h2 h3 h4 form ul
CSS盒模型:內(nèi)容,border margin padding
5、CSS引入的方式有哪些?link和@import的區(qū)別是?
答:方式:內(nèi)聯(lián) 內(nèi)嵌 外鏈 導(dǎo)入
區(qū)別:同時(shí)加載
前者無(wú)兼容性,后者CSS2.1以下瀏覽器不支持
Link支持使用javascript 改變樣式,后者不可。
6.CSS選擇符有哪些?哪些屬性可以繼承?優(yōu)先級(jí)算法如何計(jì)算?內(nèi)聯(lián)和important哪個(gè)優(yōu)先級(jí)高?
答:標(biāo)簽選擇符、類選擇符、id選擇符
繼承不如指定 id>class>標(biāo)簽選擇
后者優(yōu)先級(jí)高
7、前端頁(yè)面有哪三層構(gòu)成,分別是什么?作用是什么?
答:結(jié)構(gòu)層HTML 表示層CSS 行為層JS
8、你做的頁(yè)面在哪些瀏覽器測(cè)試過?這些瀏覽器的內(nèi)核分別是什么? 答:Ie(Ie內(nèi)核)
火狐(Gecko)
谷歌(webkit)
opear(Presto)
9、img標(biāo)簽上title與 alt屬性的區(qū)別是什么?
答:Alt當(dāng)圖片不顯示時(shí),用文字代表
Title為該屬性提供信息。
10、描述CSS Reset的作用和用途
答:Reset重置瀏覽器的CSS默認(rèn)屬性 瀏覽器的品種不同,樣式不同,然后重
置,讓他們統(tǒng)一。
11、http狀態(tài)碼有那些?分別代表是什么意思?
100-199 用于指定客戶端應(yīng)響應(yīng)的某些動(dòng)作。
200-299 用于表示請(qǐng)求成功。
300-399 用于已經(jīng)移動(dòng)的文件并且常被包含在定位頭信息中指定新的地址信息。 400-499 用于指出客戶端的錯(cuò)誤。
400 語(yǔ)義有誤,當(dāng)前請(qǐng)求無(wú)法被服務(wù)器理解。
401 當(dāng)前請(qǐng)求需要用戶驗(yàn)證
403 服務(wù)器已經(jīng)理解請(qǐng)求,但是拒絕執(zhí)行它。
500-599 用于支持服務(wù)器錯(cuò)誤。
503 – 服務(wù)不可用
13.解釋css sprites,如何使用。
Css 精靈 把一堆小的圖片整合到一張大的圖片上,減輕服務(wù)器對(duì)圖片的請(qǐng)求數(shù)量
14.瀏覽器標(biāo)準(zhǔn)模式和怪異模式之間的區(qū)別是什么?
盒子模型 渲染模式的不同
使用 window.top.document.compatMode 可顯示為什么模式
15.你如何對(duì)網(wǎng)站的文件和資源進(jìn)行優(yōu)化?期待的解決方案包括:
文件合并
文件最小化/文件壓縮
使用CDN托管
緩存的'使用
16.什么是語(yǔ)義化的HTML?
直觀的認(rèn)識(shí)標(biāo)簽 對(duì)于搜索引擎的抓取有好處
17.清除浮動(dòng)的幾種方式,各自的優(yōu)缺點(diǎn)
1.使用空標(biāo)簽清除浮動(dòng) clear:both(理論上能清楚任何標(biāo)簽,增加無(wú)意義的標(biāo)簽)
2.使用overflow:auto(空標(biāo)簽元素清除浮動(dòng)而不得不增加無(wú)意代碼的弊端,,使用zoom:1用于兼容IE)
3.是用afert偽元素清除浮動(dòng)(用于非IE瀏覽器)
18.css hack
_marging \IE 6
+margin \IE 7
Marging:0 auto 9 所有Ie
Margin \IE 8
前端開發(fā)面試題之Javascript部分
1.javascript的typeof返回哪些數(shù)據(jù)類型
Object number function boolean underfind
2.例舉3種強(qiáng)制類型轉(zhuǎn)換和2種隱式類型轉(zhuǎn)換?
強(qiáng)制(parseInt,parseFloat,number)
隱式(== – ===)
3.split() join() 的區(qū)別
前者是切割成數(shù)組的形式,后者是將數(shù)組轉(zhuǎn)換成字符串
4.數(shù)組方法pop() push() unshift() shift()
Push()尾部添加 pop()尾部刪除
Unshift()頭部添加 shift()頭部刪除
5.事件綁定和普通事件有什么區(qū)別
6.IE和DOM事件流的區(qū)別
1.執(zhí)行順序不一樣、
2.參數(shù)不一樣
3.事件加不加on
4.this指向問題
7.IE和標(biāo)準(zhǔn)下有哪些兼容性的寫法
Var ev = ev || window.event
document.documentElement.clientWidth || document.body.clientWidth
Var target = ev.srcElement||ev.target
8.ajax請(qǐng)求的時(shí)候get 和post方式的區(qū)別
一個(gè)在url后面 一個(gè)放在虛擬載體里面
有大小限制
安全問題
應(yīng)用不同 一個(gè)是論壇等只需要請(qǐng)求的,一個(gè)是類似修改密碼的
9.call和apply的區(qū)別
Object.call(this,obj1,obj2,obj3)
Object.apply(this,arguments)
10.ajax請(qǐng)求時(shí),如何解釋json數(shù)據(jù)
使用eval parse 鑒于安全性考慮 使用parse更靠譜
11.b繼承a的方法
12.JavaScript this指針、閉包、作用域
13.事件委托是什么
讓利用事件冒泡的原理,讓自己的所觸發(fā)的事件,讓他的父元素代替執(zhí)行!
14.閉包是什么,有什么特性,對(duì)頁(yè)面有什么影響
閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。
15.如何阻止事件冒泡和默認(rèn)事件
canceBubble return false
16.添加 刪除 替換 插入到某個(gè)接點(diǎn)的方法
obj.appendChidl()
obj.innersetBefore
obj.replaceChild
obj.removeChild
17.解釋jsonp的原理,以及為什么不是真正的ajax
動(dòng)態(tài)創(chuàng)建script標(biāo)簽,回調(diào)函數(shù)
Ajax是頁(yè)面無(wú)刷新請(qǐng)求數(shù)據(jù)操作
18.javascript的本地對(duì)象,內(nèi)置對(duì)象和宿主對(duì)象
本地對(duì)象為array obj regexp等可以new實(shí)例化
內(nèi)置對(duì)象為gload Math 等不可以實(shí)例化的
宿主為瀏覽器自帶的document,window 等
19.document load 和document ready的區(qū)別
Document.onload 是在結(jié)構(gòu)和樣式加載完才執(zhí)行js
Document.ready原生種沒有這個(gè)方法,jquery中有 $().ready(function)
20.”==”和“===”的不同
前者會(huì)自動(dòng)轉(zhuǎn)換類型
后者不會(huì)
21.javascript的同源策略
一段腳本只能讀取來(lái)自于同一來(lái)源的窗口和文檔的屬性,這里的同一來(lái)源指的是主機(jī)名、協(xié)議和端口號(hào)的組合
前端開發(fā)面試題及答案 2
1、Doctype作用?嚴(yán)格模式與混雜模式如何區(qū)分?它們有何意義?
。1)、聲明位于文檔中的最前面,處于標(biāo)簽之前。告知瀏覽器的解析器,用什么文檔類型規(guī)范來(lái)解析這個(gè)文檔。
(2)、嚴(yán)格模式的排版和JS運(yùn)作模式是以該瀏覽器支持的最高標(biāo)準(zhǔn)運(yùn)行。
(3)、在混雜模式中,頁(yè)面以寬松的向后兼容的方式顯示。模擬老式瀏覽器的行為以防止站點(diǎn)無(wú)法工作。
。4)、DOCTYPE不存在或格式不正確會(huì)導(dǎo)致文檔以混雜模式呈現(xiàn)。
2、行內(nèi)元素有哪些?塊級(jí)元素有哪些?
(1)CSS規(guī)范規(guī)定,每個(gè)元素都有display屬性,確定該元素的類型,每個(gè)元素都有默認(rèn)的display值,比如div默認(rèn)display屬性值為“block”,成為“塊級(jí)”元素;span默認(rèn)display屬性值為“inline”,是“行內(nèi)”元素。
(2)行內(nèi)元素有:a b span img input select strong(強(qiáng)調(diào)的語(yǔ)氣)塊級(jí)元素有:div ulol li dl dtdd h1 h2 h3 h4…p
3、link和@import的區(qū)別是?
。1)link屬于XHTML標(biāo)簽,而@import是CSS提供的;
(2)頁(yè)面被加載的時(shí),link會(huì)同時(shí)被加載,而@import引用的CSS會(huì)等到頁(yè)面被加載完再加載;
(3)import只在IE5以上才能識(shí)別,而link是XHTML標(biāo)簽,無(wú)兼容問題;
。4)link方式的樣式的權(quán)重高于@import的權(quán)重。
4、瀏覽器的內(nèi)核分別是什么?
IE瀏覽器的內(nèi)核Trident、Mozilla的Gecko、Chrome的Blink(WebKit的分支)、Opera內(nèi)核原為Presto,現(xiàn)為Blink;
5、HTML5有哪些新特性?如何處理HTML5新標(biāo)簽的瀏覽器兼容問題?如何區(qū)分HTML和HTML5?
HTML5現(xiàn)在已經(jīng)不是SGML的子集,主要是關(guān)于圖像,位置,存儲(chǔ),多任務(wù)等功能的增加。
繪畫canvas用于媒介回放的video和audio元素本地離線存儲(chǔ)localStorage長(zhǎng)期存儲(chǔ)數(shù)據(jù),瀏覽器關(guān)閉后數(shù)據(jù)不丟失;sessionStorage的數(shù)據(jù)在瀏覽器關(guān)閉后自動(dòng)刪語(yǔ)意化更好的內(nèi)容元素,比如article、footer、header、nav、section表單控件,calendar、date、time、email、url、search新的技術(shù)webworker,websockt,Geolocation
6、對(duì)語(yǔ)義化如何理解?
(1)import只在IE5以上才能識(shí)別,而link是XHTML標(biāo)簽,無(wú)兼容問題;
。2)link方式的樣式的權(quán)重高于@import的權(quán)重。
4、瀏覽器的內(nèi)核分別是什么?
IE瀏覽器的內(nèi)核Trident、Mozilla的Gecko、Chrome的Blink(WebKit的分支)、Opera內(nèi)核原為Presto,現(xiàn)為Blink;
5、HTML5有哪些新特性?如何處理HTML5新標(biāo)簽的瀏覽器兼容問題?如何區(qū)分HTML和HTML5?
HTML5現(xiàn)在已經(jīng)不是SGML的子集,主要是關(guān)于圖像,位置,存儲(chǔ),多任務(wù)等功能的增加。
繪畫canvas用于媒介回放的video和audio元素本地離線存儲(chǔ)localStorage長(zhǎng)期存儲(chǔ)數(shù)據(jù),瀏覽器關(guān)閉后數(shù)據(jù)不丟失;sessionStorage的數(shù)據(jù)在瀏覽器關(guān)閉后自動(dòng)刪語(yǔ)意化更好的內(nèi)容元素,比如article、footer、header、nav、section表單控件,calendar、date、time、email、url、search新的技術(shù)webworker,websockt,Geolocation
6、對(duì)語(yǔ)義化如何理解?
。3)import只在IE5以上才能識(shí)別,而link是XHTML標(biāo)簽,無(wú)兼容問題;
。4)link方式的樣式的權(quán)重高于@import的權(quán)重。
4、瀏覽器的內(nèi)核分別是什么?
IE瀏覽器的內(nèi)核Trident、Mozilla的Gecko、Chrome的Blink(WebKit的分支)、Opera內(nèi)核原為Presto,現(xiàn)為Blink;
5、HTML5有哪些新特性?如何處理HTML5新標(biāo)簽的'瀏覽器兼容問題?如何區(qū)分HTML和HTML5?
HTML5現(xiàn)在已經(jīng)不是SGML的子集,主要是關(guān)于圖像,位置,存儲(chǔ),多任務(wù)等功能的增加。
繪畫canvas用于媒介回放的video和audio元素本地離線存儲(chǔ)localStorage長(zhǎng)期存儲(chǔ)數(shù)據(jù),瀏覽器關(guān)閉后數(shù)據(jù)不丟失;sessionStorage的數(shù)據(jù)在瀏覽器關(guān)閉后自動(dòng)刪語(yǔ)意化更好的內(nèi)容元素,比如article、footer、header、nav、section表單控件,calendar、date、time、email、url、search新的技術(shù)webworker,websockt,Geolocation
6、對(duì)語(yǔ)義化如何理解?
用正確的標(biāo)簽做正確的事情!
HTML語(yǔ)義化就是讓頁(yè)面的內(nèi)容結(jié)構(gòu)化,便于對(duì)瀏覽器、搜索引擎解析;在沒有樣式CCS情況下也以一種文檔格式顯示,并且是容易閱讀的。搜索引擎的爬蟲依賴于標(biāo)記來(lái)確定上下文和各個(gè)關(guān)鍵字的權(quán)重,利于SEO。使閱讀源代碼的人對(duì)網(wǎng)站更容易將網(wǎng)站分塊,便于閱讀維護(hù)理解。
7、HTML5的離線儲(chǔ)存有幾種方式?
localStorage長(zhǎng)期存儲(chǔ)數(shù)據(jù),瀏覽器關(guān)閉后數(shù)據(jù)不丟失;sessionStorage數(shù)據(jù)在瀏覽器關(guān)閉后自動(dòng)刪除。
8、iframe有那些缺點(diǎn)?
iframe會(huì)阻塞主頁(yè)面的Onload事件;
iframe和主頁(yè)面共享連接池,而瀏覽器對(duì)相同域的連接有限制,所以會(huì)影響頁(yè)面的并行加載。使用iframe之前需要考慮這兩個(gè)缺點(diǎn)。如果需要使用iframe,最好是通過javascript動(dòng)態(tài)給iframe添加src屬性值,這樣可以可以繞開以上兩個(gè)問題。
9、請(qǐng)描述一下cookies,sessionStorage和localStorage的區(qū)別?
cookie在瀏覽器和服務(wù)器間來(lái)回傳遞。sessionStorage和localStorage不會(huì)sessionStorage和localStorage的存儲(chǔ)空間更大;sessionStorage和localStorage有更多豐富易用的接口;sessionStorage和localStorage各自獨(dú)立的存儲(chǔ)空間;
【前端開發(fā)面試題及答案】相關(guān)文章:
web前端面試題及答案05-12
前端開發(fā)工作總結(jié)10-02
前端開發(fā)崗位職責(zé)06-09
web前端開發(fā)實(shí)習(xí)報(bào)告優(yōu)秀03-07
前端開發(fā)崗崗位職責(zé)04-25
游戲前端開發(fā)崗位職責(zé)05-12
前端開發(fā)工程師的工作職責(zé)03-30
前端開發(fā)工作總結(jié)10篇06-30