前端開發(fā)面試題及答案整理
想要應(yīng)聘前端開發(fā)的求職者,要做好完成面試題的準(zhǔn)備。下面是由學(xué)習(xí)啦小編分享的前端開發(fā)面試題及答案,希望對(duì)你有用。
前端開發(fā)面試題及答案
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í)加載
前者無兼容性,后者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ù)器理解。
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)簽,增加無意義的標(biāo)簽)
2.使用overflow:auto(空標(biāo)簽元素清除浮動(dòng)而不得不增加無意代碼的弊端,,使用zoom:1用于兼容IE)
3.是用afert偽元素清除浮動(dòng)(用于非IE瀏覽器)
18.css hack
_marging \IE 6
+margin \IE 7
Marging:0 auto 所有Ie
Margin
前端開發(fā)面試題及答案整理
想要應(yīng)聘前端開發(fā)的求職者,要做好完成面試題的準(zhǔn)備。下面是由學(xué)習(xí)啦小編分享的前端開發(fā)面試題及答案,希望對(duì)你有用。
前端開發(fā)面試題及答案
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í)加載
前者無兼容性,后者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ù)器理解。
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)簽,增加無意義的標(biāo)簽)
2.使用overflow:auto(空標(biāo)簽元素清除浮動(dòng)而不得不增加無意代碼的弊端,,使用zoom:1用于兼容IE)
3.是用afert偽元素清除浮動(dòng)(用于非IE瀏覽器)
18.css hack
_marging \\IE 6
+margin \\IE 7
Marging:0 auto \9 所有Ie
Margin \0 \\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è)面無刷新請(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的同源策略
一段腳本只能讀取來自于同一來源的窗口和文檔的屬性,這里的同一來源指的是主機(jī)名、協(xié)議和端口號(hào)的組合
面試web前端研發(fā)應(yīng)該注意什么
1、了解公司
俗話說“知己知彼,方能百戰(zhàn)百勝”我們?cè)诿嬖囍靶枰獙?duì)公司有所了解,現(xiàn)在的公司尤其是互聯(lián)網(wǎng)公司都在網(wǎng)上有自己的網(wǎng)站的,如果搜索不到,可能這個(gè)公司比較小
2、學(xué)會(huì)取舍
當(dāng)我們收到應(yīng)聘公司的HR打來的電話時(shí),可以簡(jiǎn)單的詢問一下公司的待遇,如果符合自己的理想要求就去面試,否則直接回絕
3、找好路線
我們應(yīng)該在HR打電話通知去面試后,及時(shí)的查找到應(yīng)聘公司的路線,包括公交車路線和自駕車路線
4、攜帶簡(jiǎn)歷
我們最好攜帶一份簡(jiǎn)單的個(gè)人簡(jiǎn)歷去面試,雖然去面試時(shí)一般會(huì)讓你再次寫一份個(gè)人簡(jiǎn)歷,但是我們還是要拿一份已經(jīng)寫好的簡(jiǎn)歷,簡(jiǎn)歷盡量做的簡(jiǎn)單明了。
5、準(zhǔn)備筆試
在北京等城市的大型公司,我們?nèi)ッ嬖嚂r(shí),會(huì)先讓我們做一套筆試題,試題可能和我們的工作內(nèi)容部分相關(guān),這就需要我們提前在網(wǎng)上找到一些公司的面試題,提前看一下。
6、準(zhǔn)備上機(jī)操作
小編去面試時(shí),遇到上機(jī)操作的情況多一些,一般是要求我們?cè)谝粋€(gè)小時(shí)內(nèi),將一張圖片進(jìn)行切圖并生成html文件。個(gè)人建議,我們可以提前一兩天專門訓(xùn)練一下自己這方面的技能
7、沉著應(yīng)對(duì)提問
我們?cè)诨卮餳r或者技術(shù)負(fù)責(zé)人的問題時(shí),應(yīng)該沉著應(yīng)對(duì),不慌不忙,把自己最好的一面展示給對(duì)方。
看過“前端開發(fā)面試題及答案”的人還看了:
前端開發(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è)面無刷新請(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的同源策略
一段腳本只能讀取來自于同一來源的窗口和文檔的屬性,這里的同一來源指的是主機(jī)名、協(xié)議和端口號(hào)的組合
面試web前端研發(fā)應(yīng)該注意什么
1、了解公司
俗話說“知己知彼,方能百戰(zhàn)百勝”我們?cè)诿嬖囍靶枰獙?duì)公司有所了解,現(xiàn)在的公司尤其是互聯(lián)網(wǎng)公司都在網(wǎng)上有自己的網(wǎng)站的,如果搜索不到,可能這個(gè)公司比較小
2、學(xué)會(huì)取舍
當(dāng)我們收到應(yīng)聘公司的HR打來的電話時(shí),可以簡(jiǎn)單的詢問一下公司的待遇,如果符合自己的理想要求就去面試,否則直接回絕
3、找好路線
我們應(yīng)該在HR打電話通知去面試后,及時(shí)的查找到應(yīng)聘公司的路線,包括公交車路線和自駕車路線
4、攜帶簡(jiǎn)歷
我們最好攜帶一份簡(jiǎn)單的個(gè)人簡(jiǎn)歷去面試,雖然去面試時(shí)一般會(huì)讓你再次寫一份個(gè)人簡(jiǎn)歷,但是我們還是要拿一份已經(jīng)寫好的簡(jiǎn)歷,簡(jiǎn)歷盡量做的簡(jiǎn)單明了。
5、準(zhǔn)備筆試
在北京等城市的大型公司,我們?nèi)ッ嬖嚂r(shí),會(huì)先讓我們做一套筆試題,試題可能和我們的工作內(nèi)容部分相關(guān),這就需要我們提前在網(wǎng)上找到一些公司的面試題,提前看一下。
6、準(zhǔn)備上機(jī)操作
小編去面試時(shí),遇到上機(jī)操作的情況多一些,一般是要求我們?cè)谝粋€(gè)小時(shí)內(nèi),將一張圖片進(jìn)行切圖并生成html文件。個(gè)人建議,我們可以提前一兩天專門訓(xùn)練一下自己這方面的技能
7、沉著應(yīng)對(duì)提問
我們?cè)诨卮餳r或者技術(shù)負(fù)責(zé)人的問題時(shí),應(yīng)該沉著應(yīng)對(duì),不慌不忙,把自己最好的一面展示給對(duì)方。
看過“前端開發(fā)面試題及答案”的人還看了: