js工程師面試題及答案_第1頁(yè)
js工程師面試題及答案_第2頁(yè)
js工程師面試題及答案_第3頁(yè)
js工程師面試題及答案_第4頁(yè)
js工程師面試題及答案_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

js工程師面試題及答案互聯(lián)網(wǎng)行業(yè)的技術(shù)崗位java工程師,是很多的工作夢(mèng)想,然而卻在面試這一關(guān)無(wú)法到達(dá)要求,下面帶來了js工程師面試題及答案,供大家參考。對(duì)WEB標(biāo)準(zhǔn)以及W3C的理解與認(rèn)識(shí)標(biāo)簽閉合、標(biāo)簽小寫、不亂嵌套、提高搜索機(jī)器人搜索幾率、使用外鏈css和js腳本、構(gòu)造行為表現(xiàn)的別離、文件下載與頁(yè)面速度更快、內(nèi)容能被更多的用戶所訪問、內(nèi)容能被更廣泛的設(shè)備所訪問、更少的代碼和組件,容易維護(hù)、改版方便,不需要變動(dòng)頁(yè)面內(nèi)容、提供打印版本而不需要復(fù)制內(nèi)容、提高網(wǎng)站易用性;xhtml和html有什么區(qū)別HTML是一種根本的WEB網(wǎng)頁(yè)設(shè)計(jì)語(yǔ)言,XHTML是一個(gè)基于XML的置標(biāo)語(yǔ)言最主要的不同:XHTML元素必須被正確地嵌套。XHTML元素必須被關(guān)閉。標(biāo)簽名必須用小寫字母。XHTML文檔必須擁有根元素。Doctype?嚴(yán)格模式與混雜模式-如何觸發(fā)這兩種模式,區(qū)分它們有何意義?用于聲明文檔使用那種標(biāo)準(zhǔn)(html/Xhtml)一般為嚴(yán)格過度基于框架的html文檔參加XMl聲明可觸發(fā),解析方式更改為IE5.5擁有IE5.5的bug行內(nèi)元素有哪些?塊級(jí)元素有哪些?CSS的盒模型?塊級(jí)元素:divph1h2h3h4formul行內(nèi)元素:abbrispaninputselectCss盒模型:內(nèi)容,border,margin,paddingCSS引入的方式有哪些?link和@import的區(qū)別是??jī)?nèi)聯(lián)內(nèi)嵌外鏈導(dǎo)入?yún)^(qū)別:同時(shí)加載前者無(wú)兼容性,后者CSS2.1以下瀏覽器不支持Link支持使用javascript改變樣式,后者不可。CSS選擇符有哪些?哪些屬性可以繼承?優(yōu)先級(jí)算法如何計(jì)算??jī)?nèi)聯(lián)和important哪個(gè)優(yōu)先級(jí)高?標(biāo)簽選擇符類選擇符id選擇符繼承不如指定Id>class>標(biāo)簽選擇后者優(yōu)先級(jí)高前端頁(yè)面有哪三層構(gòu)成,分別是什么?作用是什么?構(gòu)造層Html表示層CSS行為層jscss的根本語(yǔ)句構(gòu)成是?選擇器{屬性1:值1;屬性2:值2;……}你做的頁(yè)面在哪些流覽器測(cè)試過?這些瀏覽器的內(nèi)核分別是什么?Ie(Ie內(nèi)核)火狐(Gecko)谷歌(webkit)opear(Presto)寫出幾種IE6BUG的解決方法雙邊距BUGfloat引起的使用display2.3像素問題使用float引起的使用dislpay:inline-3px超鏈接hover點(diǎn)擊后失效使用正確的書寫順序linkvisitedhoveractive4.Iez-index問題給父級(jí)添加position:relativePng透明使用js代碼改Min-height最小高度!Important解決’select在ie6下遮蓋使用iframe嵌套為什么沒有方法定義1px左右的寬度容器(IE6默認(rèn)的行高造成的,使用over:hidden,zoom:0.08line-height:1px)標(biāo)簽上title與alt屬性的區(qū)別是什么?Alt當(dāng)圖片不顯示是用文字代表。Title為該屬性提供信息描述cssreset的作用和用途。Reset重置瀏覽器的css默認(rèn)屬性瀏覽器的品種不同,樣式不同,然后重置,讓他們統(tǒng)一解釋csssprites,如何使用。Css精靈把一堆小的圖片整合到一張大的圖片上,減輕效勞器對(duì)圖片的請(qǐng)求數(shù)量瀏覽器標(biāo)準(zhǔn)模式和怪異模式之間的區(qū)別是什么?盒子模型渲染模式的不同使用window.top.document.patMode可顯示為什么模式你如何對(duì)網(wǎng)站的文件和資源進(jìn)展優(yōu)化?期待的解決方案包括:文件合并文件最小化/文件壓縮使用CDN托管緩存的使用什么是語(yǔ)義化的HTML?直觀的認(rèn)識(shí)標(biāo)簽對(duì)于搜索引擎的抓取有好處17.去除浮動(dòng)的幾種方式,各自的優(yōu)缺點(diǎn)使用空標(biāo)簽去除浮動(dòng)clear:both(理論上能清楚任何標(biāo)簽,,,增加無(wú)意義的標(biāo)簽)使用overflow:auto(空標(biāo)簽元素去除浮動(dòng)而不得不增加無(wú)意代碼的弊端,,使用zoom:1用于兼容IE)是用afert偽元素去除浮動(dòng)(用于非IE瀏覽器)Javascriptjavascript的typeof返回哪些數(shù)據(jù)類型Objectnumberfunctionbooleanunderfind例舉3種強(qiáng)制類型轉(zhuǎn)換和2種隱式類型轉(zhuǎn)換?強(qiáng)制(parseInt,parseFloat,number)隱式(==-===)split()join()的區(qū)別前者是切割成數(shù)組的形式,后者是將數(shù)組轉(zhuǎn)換成字符串?dāng)?shù)組方法pop()push()unshift()shift()Push()尾部添加pop()尾部刪除Unshift()頭部添加shift()頭部刪除事件綁定和普通事件有什么區(qū)別6.IE和DOM事件流的區(qū)別執(zhí)行順序不一樣、參數(shù)不一樣事件加不加onthis指向問題7.IE和標(biāo)準(zhǔn)下有哪些兼容性的寫法Varev=ev||window.eventdocument.documentElement.clientWidth|document.body.clientWidthVartarget=ev.srcElement||ev.targetajax請(qǐng)求的時(shí)候get和post方式的區(qū)別一個(gè)在url后面一個(gè)放在虛擬載體里面有大小限制平安問題應(yīng)用不同一個(gè)是論壇等只需要請(qǐng)求的,一個(gè)是類似修改密碼的call和apply的區(qū)別Object.call(this,obj1,obj2,obj3)Object.apply(this,arguments)ajax請(qǐng)求時(shí),如何解釋json數(shù)據(jù)使用evalparse鑒于平安性考慮使用parse更靠譜b繼承a的方法寫一個(gè)獲取非行間樣式的函數(shù)functiongetStyle(obj,attr,value){if(!value){if(obj.currentStyle){returnobj.currentStyle(attr)}else{obj.getComputedStyle(attr,false)}}else{obj.style[attr]=value}}事件委托是什么讓利用事件冒泡的原理,讓自己的所觸發(fā)的事件,讓他的父元素代替執(zhí)行!.webasily./?p=78例子可見此鏈接

閉包是什么,有什么特性,對(duì)頁(yè)面有什么影響閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。blog.csdn./gaoshanwudi/article/details/7355794此鏈接可查看(問這個(gè)問題的不是一個(gè)公司)如何阻止事件冒泡和默認(rèn)事件canceBubblereturnfalse添加刪除替換插入到某個(gè)接點(diǎn)的方法obj.appendChidl()obj.innersetBeforeobj.replaceChildobj.removeChild解釋jsonp的原理,以及為什么不是真正的ajax動(dòng)態(tài)創(chuàng)立script標(biāo)簽,回調(diào)函數(shù)Ajax是頁(yè)面無(wú)刷新請(qǐng)求數(shù)據(jù)操作javascript的本地對(duì)象,內(nèi)置對(duì)象和宿主對(duì)象本地對(duì)象為arrayobjregexp等可以new實(shí)例化內(nèi)置對(duì)象為gloadMath等不可以實(shí)例化的宿主為瀏覽器自帶的document,window等documentload和documentready的區(qū)別Document.onload是在構(gòu)造和樣式加載完才執(zhí)行jsDocument.ready原生種沒有這個(gè)方法,jquery中有$().ready(function)20.的不同前者會(huì)自動(dòng)轉(zhuǎn)換類型后者不會(huì)20.的不同前者會(huì)自動(dòng)轉(zhuǎn)換類型后者不會(huì)21.javascript的同源策略一段腳本只能讀取于同一的窗口和文檔的屬性,這里的同一指的是主機(jī)名、協(xié)議和端口號(hào)的組合22.編寫一個(gè)數(shù)組去重的方法functionoSort(arr){varresult={};varnewArr=[];for(vari=0;i{if(!result[arr]){newArr.push(arr)result[arr]=1}}returnnewArr}重申一下,上述這些知識(shí)點(diǎn)都應(yīng)該是你應(yīng)該“想都不用想”的東西。我一開始問的所有問題都是想摸清你對(duì)所有這些領(lǐng)域知識(shí)的掌握程度。雖然上面列出的這些知識(shí)點(diǎn)并沒有面面俱到,但我覺得你至少應(yīng)該掌握這些,才有可能跟我坐到一間辦公室里來。我非常贊同面試者問的問題越少越好。反復(fù)問應(yīng)聘者各種問題既不公平,也很無(wú)聊。我在任何一次面試中,通常只問三個(gè)大問題,但每個(gè)問題又會(huì)涉及我所能想到的多個(gè)方面。答復(fù)每個(gè)大問題一般要經(jīng)過幾個(gè)步驟,這樣我就可以在每個(gè)步驟中穿插著問一些小問題。比方說:現(xiàn)在有一個(gè)正顯示著Yahoo!股票價(jià)格的頁(yè)面。頁(yè)面上有一個(gè)按鈕,你可以單擊它來刷新價(jià)格,但不會(huì)重新加載頁(yè)面。請(qǐng)你描述一下實(shí)現(xiàn)這個(gè)功能的過程,假設(shè)效勞器會(huì)負(fù)責(zé)準(zhǔn)備好正確的股票價(jià)格數(shù)據(jù)。這個(gè)問題牽扯到一組我想要考察的根本知識(shí)點(diǎn):DOM構(gòu)造、DOM操作、事件處理、XHR和JSON。如果我要求你對(duì)換一種處理股票價(jià)格的方式,或者讓你在頁(yè)面中顯示其他信息,就可以把更多的知識(shí)點(diǎn)包括進(jìn)來。對(duì)于經(jīng)歷比較豐富應(yīng)聘者,我也可以自如地?cái)U(kuò)展要考察的知識(shí)范圍,最簡(jiǎn)單像JOSN與XML的區(qū)別、平安問題、容量問題,等等。我還希望應(yīng)聘者給出的任何解決方案中都不要使用庫(kù)。我想看到最原生態(tài)的代碼,你就當(dāng)頁(yè)面中沒有包含任何庫(kù)。你說你對(duì)哪個(gè)庫(kù)了解多少多少,但我不能把關(guān)于庫(kù)的知識(shí)作為評(píng)判能力的因素,因?yàn)閹?kù)是會(huì)隨時(shí)間變化的。我需要的是真正理解庫(kù)背后的機(jī)制,特別是能夠徒手寫出一個(gè)自己的庫(kù)的人。做為一名前端工程師,最值得快樂的事莫過于解決同一個(gè)問題會(huì)有很多種不同的方法,而你要做的就是找出最適宜的方法來。我在提問的時(shí)候,經(jīng)常會(huì)在應(yīng)聘者解釋完一種方法后問他們還有沒有第二種方法。此時(shí)我會(huì)跟他們說,假設(shè)你的這個(gè)方法由于種種原因被否決了,那么你還能不能給出另一種方法。這樣做可以到達(dá)兩個(gè)目的。首先,可以測(cè)試出他們是否在毫無(wú)意義地復(fù)述書本中的東西。不能不成認(rèn),某些人確實(shí)有過目不忘的天賦,聽他們?cè)谀抢锾咸喜唤^地講,你會(huì)覺得他們什么都明白??墒牵灰桓@些人談到怎么查找方案無(wú)效的原因,以及能否拿出一個(gè)新方案來,他們往往就傻眼了。這時(shí)候,如果我聽到“我不明白這個(gè)方案為什么不夠好”之類的反問,心里立刻就明白我的問題已經(jīng)超出了他們的能力范圍,而他們只是想拿自己死記硬背的結(jié)論來蒙混過關(guān)。其次,可以測(cè)試出他們已經(jīng)掌握的(還是那句話,“想都不用想”)瀏覽器技術(shù)知識(shí)。如果他們對(duì)瀏覽器平臺(tái)的核心知識(shí)有較好的理解,想出解決同一問題的不同方案根本沒有那么難。對(duì)一名前端工程師來說,這絕對(duì)是最重要的能力。前端工程師在工作中遇到本該如此卻并未如此的難題(說你啦,IE6),應(yīng)該說是一件很平常的事。一個(gè)方案無(wú)效就無(wú)計(jì)可施的人,做不了前端工程師??己藨?yīng)聘者解決問題能力的另一層原因,與我的個(gè)人喜好有關(guān)。在搞清楚應(yīng)聘者知道什么不知道什么之后,我就會(huì)想著問一個(gè)他們知識(shí)領(lǐng)域之外的問題。這樣做的目的,就是想看看他們?cè)鯓舆\(yùn)用已有的知識(shí)解決新問題。在解決問題的每一步,我也準(zhǔn)備了一些提示,以防有人會(huì)卡殼打艮(在我面前15分鐘一言不發(fā),對(duì)我評(píng)價(jià)這個(gè)人毫無(wú)幫助)。我真正感興趣的,是他們能夠從上一步前進(jìn)到下一步。我希望看到一個(gè)人就在我眼前學(xué)到新知識(shí)。注意:所有問題都與瀏覽器技術(shù)相關(guān)。我不相信出幾道抽象的邏輯題,就能夠考出某人解決Web技術(shù)問題的能力。在我看來,這無(wú)異于讓素描大師畫肖像(或者讓劉翔跟博爾特同場(chǎng)競(jìng)技),沒有意義,也得不到任何有價(jià)值的信息。要成為一名優(yōu)秀的前端工程師,最重要的莫過于對(duì)自己做的事要有激情。我們技能都不是從學(xué)校中或者從研討會(huì)上學(xué)來的,因此前端工程師必須具備自學(xué)能力。瀏覽器技術(shù)的變化可謂日新月異,所以也只有不斷提升自己的技能才做得到與時(shí)俱進(jìn)。我雖然不能強(qiáng)迫誰(shuí)必須多看博客、不斷學(xué)習(xí),但想應(yīng)聘前端工程師的人恐怕還是必須這么做的。你怎么知道誰(shuí)對(duì)這種工作有沒有激情?實(shí)際上非常簡(jiǎn)單。我只問一個(gè)簡(jiǎn)單的問題:“目前你對(duì)什么Web技術(shù)最感興趣?”這個(gè)問題永遠(yuǎn)不會(huì)過期,而且也幾乎不可能出錯(cuò)……除非你答不上來。就眼下來說,我希望你對(duì)這個(gè)問題給出的技術(shù)中包括WebSocket、HTML、WebGL、客戶端數(shù)據(jù)庫(kù),等等。只有對(duì)Web開發(fā)充滿激情的人,才會(huì)堅(jiān)持不懈地學(xué)習(xí)新知識(shí)、掌握新技能;這些人才是我真正想要的。當(dāng)然,我會(huì)讓他們?cè)敿?xì)解釋自己提到的技術(shù),以保證他們不是隨口說了幾個(gè)時(shí)髦的新詞匯。計(jì)算機(jī)科學(xué)或者Web設(shè)計(jì)方面的知識(shí)當(dāng)然也有用,但那都是根本知識(shí)之外的東西。只要根本知識(shí)在那兒了,一切就都有了根底,想擴(kuò)充知識(shí)面也不難。可是,如果等到正式上班以后,還得從頭學(xué)習(xí)根本技能,那種難度是不可同日而語(yǔ)的。另外,高級(jí)前端工程師與一般工程師相比,肯定需要掌握更多的技能。而面試幾乎沒有經(jīng)歷大學(xué)畢業(yè)生,同樣也會(huì)有一套完全不同的程序。我在這篇文章里列出來的都是一些最根本的東西。對(duì)于那些還沒有多少面試經(jīng)歷的人,我總是喜歡告訴他們,面試完了只要問自己一個(gè)問題就行:你想以后跟這個(gè)人在一起共事嗎?如果不管為什么,答復(fù)是不,那就是不。面試前端工程師對(duì)我來說是一件非常有意思的事,因?yàn)槊嬖囘^程很大程度上也是自我提升的過程。無(wú)論大公司還是小公司,之所以在如何招聘到真正有能力的前端工程師方面會(huì)遇到同樣的問題,就是因?yàn)樨?fù)責(zé)招聘的那些人不知道自己公司需要什么樣的人,結(jié)果問問題時(shí)也問不到點(diǎn)子上。經(jīng)過這幾年在行業(yè)里的摸索,我總結(jié)出了自己的一套很有效的面試前端工程的方法。有的應(yīng)聘者說我不好對(duì)付,但留給他們這樣的印象也并非我所愿。我覺得之所以他們說我不好對(duì)付,主要是因?yàn)槲覇査麄儐栴}時(shí)問得太細(xì)了。以前我曾專門寫過一些東西,告訴應(yīng)聘者怎么才能通過我的面試(Survivinganinterviewwithme)以及優(yōu)秀的前面工程師應(yīng)該具備什么樣的素質(zhì)(Whatmakesagoodfrontendengineer?),而我的面試可以說完全是按照那兩篇文章的標(biāo)準(zhǔn)進(jìn)展的。我不會(huì)問一些特別偏門的問題,也不認(rèn)為出幾道邏輯題就能考出人的真實(shí)水平。我唯一的想法就是確定你能否勝任我們要招的這個(gè)職位。為此,我需要簡(jiǎn)單地考察如下幾個(gè)方面。DOM構(gòu)造一一兩個(gè)節(jié)點(diǎn)之間可能存在哪些關(guān)系以及如何在節(jié)點(diǎn)之間任意移動(dòng)。DOM操作一一怎樣添加、移除、移動(dòng)、復(fù)制、創(chuàng)立和查找節(jié)點(diǎn)。事件——怎樣使用事件以及IE和DOM事件模型之間存在哪些主要差異。XMLHttpRequest——這是什么、怎樣完整地執(zhí)行一次GET請(qǐng)求、怎樣檢測(cè)錯(cuò)誤。嚴(yán)格模式與混雜模式——如何觸發(fā)這兩種模式,區(qū)分它們有何意義。盒模型——外邊距、內(nèi)邊距和邊框之間的關(guān)系,IE8以下版本的瀏覽器中的盒模型有什么不同。塊級(jí)元素與行內(nèi)元素一一怎么用CSS控制它們、它們?cè)鯓佑绊懼車脑匾约澳阌X得應(yīng)該如何定義它們的樣式。浮動(dòng)元素一一怎么使用它們、它們有什么問題以及怎么解決這些

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論