- 相關(guān)推薦
前端工程師面試問題
Web前端開發(fā)工程師,主要職責(zé)是利用(X)HTML/CSS/JavaScript/DOM/Flash等各種Web技術(shù)進(jìn)行產(chǎn)品的界面開發(fā)。制作標(biāo)準(zhǔn)優(yōu)化的代碼,并增加交互動態(tài)功能,開發(fā)JavaScript以及Flash模塊,同時(shí)結(jié)合后臺開發(fā)技術(shù)模擬整體效果,進(jìn)行豐富互聯(lián)網(wǎng)的Web 開發(fā),致力于通過技術(shù)改善用戶體驗(yàn)。
前端工程師面試問題參考
一般問題
★你用微博嗎?
→如果用,你都關(guān)注那些人?
★你用Github嗎?
→如果用,你關(guān)注的項(xiàng)目有什么?
★你關(guān)注的博客有那些?
★你使用那些版本管理系統(tǒng),比如Git,SVN等?
★你常用的開發(fā)環(huán)境是怎樣的?比如操作系統(tǒng),文本編輯器,瀏覽器,及其他工具等。
★你能描述一下你制作一個(gè)網(wǎng)頁的工作流程嗎?
★你能描述一下漸進(jìn)增強(qiáng)和優(yōu)雅降級之間的不同嗎?
→如果提到了特性檢測,可以加分。
★請解釋一下什么是語義化的HTML?
★你更喜歡在哪個(gè)瀏覽器下進(jìn)行開發(fā)?你使用那些開發(fā)人員工具?
★你如何對網(wǎng)站的文件和資源進(jìn)行優(yōu)化?期待的解決方案包括:
· 文件合并
· 文件最小化/文件壓縮
· 使用CDN托管
· 緩存的使用
· 其他
★為什么利用多個(gè)域名來存儲網(wǎng)站資源會更有效?
→瀏覽器一次可以從一個(gè)域名下做多少資源?
★請說出三種減低頁面加載時(shí)間的方法。(加載時(shí)間指感知的時(shí)間或者實(shí)際加載時(shí)間)
★如果你接到了一個(gè)使用Tab來縮進(jìn)代碼的項(xiàng)目,但是你喜歡空格,你會怎么做?
· 建議這個(gè)項(xiàng)目使用像EditorConfig (http://editorconfig.org) 之類的規(guī)范
· 為了保持一致性,轉(zhuǎn)換成項(xiàng)目原有的風(fēng)格
· 直接使用VIM的retab命令
★請寫一個(gè)簡單的幻燈效果頁面
→如果不使用JS來完成,可以加分。
★你都使用那些工作來測試代碼的性能?
· 例如JSPerf (http://jsperf.com/)
· 例如Dromaeo (http://dromaeo.com/)
· 其它。
★如果今年你打算熟練掌握一項(xiàng)新技術(shù),那會是什么?
★請談一下你對網(wǎng)頁標(biāo)準(zhǔn)和標(biāo)準(zhǔn)制定機(jī)構(gòu)重要性的理解。
★什么是FOUC?你如何來避免FOUC?
HTML相關(guān)問題
★文檔類型的作用是什么?你知道多少種文檔類型?
★瀏覽器標(biāo)準(zhǔn)模式和怪異模式之間的區(qū)別是什么?
★使用XHTML的局限有那些?
→如果頁面使用’application/xhtml+xml’會有什么問題嗎?
★如果網(wǎng)頁內(nèi)容需要支持多語言,你會怎么做?
★在設(shè)計(jì)和開發(fā)多語言網(wǎng)站時(shí),有哪些問題你必須要考慮?
★在HTML5的頁面中可以使用XHTML的語法嗎?
★在HTML5中如何使用XML?
★’data-’屬性的作用是什么?
★如果把HTML5看作做一個(gè)開放平臺,那它的構(gòu)建模塊有那些?
★請描述一下cookies、sessionStorage和localStorage的區(qū)別?
JS相關(guān)問題
★你使用過那些Javascript庫?
★你是否研究過你所使用的JS庫或者框架的源代碼?
★什么是哈希表?
★’undefined’變量和’undeclared’變量分別指什么?
★閉包是什么,如何使用它,為什么要使用它?
→你喜歡的使用閉包的模式是什么?
★請舉出一個(gè)匿名函數(shù)的典型用例?
★請解釋什么是Javascript的模塊模式,并舉出實(shí)用實(shí)例。
·如果有提到無污染的命名空間,可以考慮加分。
·如果你的模塊沒有自己的命名空間會怎么樣?
★你如何組織自己的代碼?是使用模塊模式,還是使用經(jīng)典繼承的方法?
★請指出Javascript宿主對象和內(nèi)置對象的區(qū)別?
★’.call’和’.apply’的區(qū)別是什么?
★請解釋’Funciton.prototype.bind’的作用?
★你如何優(yōu)化自己的代碼?
★你能解釋一下JavaScript中的繼承是如何工作的嗎?
★在什么時(shí)候你會使用’document.write()’?
→大多數(shù)生成的廣告代碼依舊使用’document.write()’,雖然這種用法會讓人很不爽。
★請指出瀏覽器特性檢測,特性推斷和瀏覽器UA字符串嗅探的區(qū)別?
★請盡可能詳盡的解釋AJAX的工作原理。
★請解釋JSONP的工作原理,以及它為什么不是真正的AJAX。
★你使用過JavaScript的模板系統(tǒng)嗎?
→如有使用過,請談?wù)勀愣际褂眠^那些類似庫文件。比如Mustache.js、Handlebars等等。
★請解釋變量聲明提升。
★請描述一下事件冒泡機(jī)制。
★”attribute”和”property”的區(qū)別是什么?
★為什么擴(kuò)展JavaScript內(nèi)置對象是個(gè)壞做法?
★為什么擴(kuò)展JavaScript內(nèi)置對象是個(gè)好做法?
★請指出document load和document ready的區(qū)別。(這是個(gè)問題的問題)
★’==’和’===’有什么不同?
★你如何獲取瀏覽器URL中查詢字符串中的參數(shù)。
★請解釋一下JavaScript的同源策略。
★請解釋一下事件代理。
★請描述一下JavaScript的繼承模式。
★描述一種JavaScript memoization(避免重復(fù)運(yùn)算)的策略。
★什么是三元條件語句?
★函數(shù)的參數(shù)元是什么?
★什么是”use strict”?使用它的好處和壞處分別是什么?
【前端工程師面試問題】相關(guān)文章:
前端工程師面試簡歷模板05-30
豆瓣網(wǎng)Web前端工程師的面試經(jīng)歷10-10
工程師崗位面試問題12-12
pcb工程師面試問題11-27
如何面試Web前端開發(fā)10-10
網(wǎng)絡(luò)工程師面試問題07-06
前端工程師的崗位職責(zé)03-30
前端工程師崗位職責(zé)03-26
前端工程師的電子簡歷模板06-11
前端工程師電子簡歷模板01-05