摘要:題目來(lái)源前端實(shí)習(xí)生面試總結(jié)最近開(kāi)始了幾次面試,雖然還不知道結(jié)果如何,但是還是要記錄下來(lái)進(jìn)行一個(gè)總結(jié),同樣也希望對(duì)正在準(zhǔn)備面實(shí)習(xí)生的童鞋們有所幫助最后一個(gè)參數(shù)是做什么用的答規(guī)定事件是冒泡還是捕獲。
最近一直在多看基礎(chǔ)的書(shū)多碼代碼準(zhǔn)備找實(shí)習(xí),在網(wǎng)上也搜羅了不少面經(jīng),現(xiàn)在把搜羅到的實(shí)習(xí)生面試題自己整理一下。
題目來(lái)源:前端實(shí)習(xí)生面試總結(jié)
最近開(kāi)始了幾次面試,雖然還不知道結(jié)果如何,但是還是要記錄下來(lái)進(jìn)行一個(gè)總結(jié),同樣也希望對(duì)正在準(zhǔn)備面實(shí)習(xí)生的童鞋們有所幫助~
addEventListener最后一個(gè)參數(shù)是做什么用的?
答:規(guī)定事件是冒泡還是捕獲。false表示在冒泡階段調(diào)用事件處理程序,true表示在捕獲階段調(diào)用事件處理程序。(removeEventListener()一樣的)
什么是冒泡,什么是捕獲 ?
答:冒泡是當(dāng)一個(gè)元素觸發(fā)了一個(gè)事件之后就會(huì)像上層傳遞直至document(由最具體的元素接受,然后逐級(jí)向上傳播到較為不具體的節(jié)點(diǎn)(文檔))。捕獲是不太具體的節(jié)點(diǎn)(文件document)更早接收到事件,而具體的節(jié)點(diǎn)最后接收到事件。
所有的事件都可以冒泡么?
答:不是,blur、focus、load、unload、abort不可冒泡(每個(gè) event 都有一個(gè)event.bubbles屬性,可以知道它可否冒泡。詳情可看瀏覽器中有哪些事件會(huì)冒泡?)
怎么取消事件冒泡
答:我這兒的答案錯(cuò)了,謝謝大神指正,大家不要搞混啦
eve.preventDefault(取消事件默認(rèn)行為,若cancelable是true,則可以使用這個(gè)方法,cancelable屬性表明是否可以取消事件的默認(rèn)行為).eve.stopPropagation()用于取消事件的進(jìn)一步捕獲或冒泡,bubbles為true時(shí),可以使用這個(gè)方法。
怎么判斷是不是數(shù)組
答:a instanceof Array Array.isArray(a) 他問(wèn)我還有么~
所以我說(shuō)試一下Array的內(nèi)置函數(shù),可以使用是Array不可以則不是,其實(shí)還有 Object.prototype.toString.call(a)=== "[object Array]"
怎么把一個(gè)類(lèi)數(shù)組對(duì)象轉(zhuǎn)化為數(shù)組
答:Array.prototype.slice.call(arrayLike);
講一下繼承
答:繼承是代碼重用的一種形式,可以顯著得減少軟件開(kāi)發(fā)成本。在JavaScript中,繼承有三種方法:類(lèi)式繼承(主要)、原型式繼承(主要)和摻元類(lèi)。
類(lèi)式繼承:首先要?jiǎng)?chuàng)建一個(gè)構(gòu)造函數(shù),在構(gòu)造函數(shù)中調(diào)用超類(lèi)的構(gòu)造函數(shù),并把參數(shù)傳遞給它。下一步再設(shè)置原型鏈,手工將子類(lèi)的 prototype 設(shè)置為超類(lèi)的一個(gè)實(shí)例(Author.prototype = new Person()),然后把子類(lèi)的 prototype 的 constructor 屬性重新設(shè)為子類(lèi)(Author.prototype.constructor = Author)。
原型式繼承:不需要用類(lèi)來(lái)定義對(duì)象的結(jié)構(gòu),只需要直接創(chuàng)建一個(gè)原型對(duì)象,這個(gè)對(duì)象隨后可以被新的對(duì)象重用。主要是對(duì)超類(lèi)進(jìn)行一個(gè)淺負(fù)責(zé)或者說(shuō)是克隆,這個(gè)克隆函數(shù)如下
functon clone(o){ function F(){} F.prototype = o; return new F(); }
克隆超類(lèi)后,就可以重定義該克隆中的方法和屬性,可以修改超類(lèi)中提供的默認(rèn)值,也可以添加新的屬性和方法 。但是這個(gè)方法對(duì)于從原型對(duì)象繼承而來(lái)的成員,其讀和寫(xiě)具有內(nèi)在的不對(duì)等性。具體請(qǐng)參照J(rèn)avaScript 繼承
Array都有哪些方法呀?
答:concat,join,pop,push,reverse,shift,slice,sort,splice,unshift.(《JavaScript語(yǔ)言精粹》一書(shū)中總結(jié)了數(shù)組、函數(shù)、數(shù)字、正則表達(dá)式、字符串常用的方法)
sort方法工作原理是什么樣的?
答:默認(rèn)的比較函數(shù)把要排序的元素都視為字符串,在比較數(shù)字都時(shí)候,會(huì)把數(shù)字都轉(zhuǎn)化為字符串再進(jìn)行比較。
那如果想要sort排序數(shù)字怎么辦?
答: n.sort(function (a,b) {return a-b;}) 升序
String有哪些方法呀?
答:concat charAt slice substr substring 等等(其實(shí)現(xiàn)在覺(jué)得應(yīng)該加一句說(shuō)string是基本數(shù)據(jù)類(lèi)型,沒(méi)有方法,string的方法是String構(gòu)造函數(shù)創(chuàng)建的引用類(lèi)型的方法~)
那replace方法怎么用的呀?
答: string.repalce(searchValue,replaceValue),對(duì)string進(jìn)行查找和替換操作并返回一個(gè)新的字符串,參數(shù)searchValue可以是字符串或正則表達(dá)式對(duì)象,如果它是一個(gè)字符串,那么searchValue只會(huì)在第一次出現(xiàn)的地方被替換。如果searchValue是一個(gè)正則表達(dá)式并且?guī)в術(shù)標(biāo)識(shí),則會(huì)替換所有匹配。
鼠標(biāo)滑過(guò)一個(gè)元素出現(xiàn)一個(gè)彈出層
答:就dom 0級(jí)來(lái)舉例子的話是 onmouseover dispaly:block
鼠標(biāo)滑的快不讓他出現(xiàn)怎么辦
答:設(shè)置一個(gè)setTimeout 當(dāng)鼠標(biāo)在上面停留的時(shí)間小于設(shè)定的時(shí)間的話他還沒(méi)有出來(lái)事件就被取消掉了
那setTimeout應(yīng)該設(shè)置多久的時(shí)間呢? 這個(gè)我不知道有什么約定俗成的時(shí)間設(shè)置,如果是我的話,應(yīng)該回去試一下,看那個(gè)時(shí)間合適
現(xiàn)在我想要這個(gè)元素在頁(yè)面下方是彈出層在上方顯示,元素在上方時(shí)彈出層在下方顯示? 判斷元素距離頁(yè)面底端的位置,位置大于彈出層的高度的話就在下方彈出,否則在上方彈出
如果我現(xiàn)在想把他做成一個(gè)工具給別人用要怎么做? 呃~首先使用模塊化,注意不要和其他的方法什么的有沖突,然后子啊里面設(shè)置方法出入所需的參數(shù),比如那個(gè)元素,什么事件,彈出層的大小等等
那想做一個(gè)好的工具參數(shù)肯定很多,你怎么能方便別人使用呢?畢竟參數(shù)這么多別人會(huì)記不住的 呃~我可能會(huì)設(shè)置成一個(gè)對(duì)象,傳入對(duì)象的屬性,這樣就方便記住了。
事件代理
答:詳情見(jiàn)JavaScript 事件代理和委托
什么是冒泡什么是捕獲
答:詳情見(jiàn)JavaScript 事件代理和委托
C++
jQuery取到的元素和原生Js取到的元素有什么區(qū)別
jQuery獲取到的元素返回的是一個(gè)jQuery對(duì)象,它是一個(gè)類(lèi)數(shù)組對(duì)象,屬性0,1,2...中存著查找到的DOM對(duì)象,這個(gè)jQuery對(duì)象有l(wèi)ength屬性,表示查到的DOM的數(shù)量。js取到的元素是DOM元素。
Doctype的作用
答:是聲明文檔的解析類(lèi)型(document.compatMode),指示web瀏覽器關(guān)于頁(yè)面使用哪個(gè)HTML版本進(jìn)行編寫(xiě)的指令,避免瀏覽器的怪異模式。詳情見(jiàn):關(guān)于DOCTYPE
響應(yīng)式 我只答了@media
setTimeout 和setInterval的區(qū)別
詳情見(jiàn):setTimeout() 和 setInterval()
setTimeout時(shí)間設(shè)為0是否立即執(zhí)行,為什么?
不一定,因?yàn)镴avaScript是一個(gè)單線程的解釋器,因此一定時(shí)間內(nèi)只能執(zhí)行一段代碼。為了控制要執(zhí)行的代碼,就有一個(gè)JavaScript任務(wù)隊(duì)列。setTimeout時(shí)間設(shè)為0,是告訴JavaScript在0毫秒后把當(dāng)前任務(wù)添加到任務(wù)隊(duì)列中。如果隊(duì)列是空的,則添加的代碼會(huì)立即執(zhí)行;如果隊(duì)列不是空的,則它要等前面的代碼執(zhí)行完后再執(zhí)行。
構(gòu)造函數(shù)的運(yùn)行機(jī)制
this的綁定
call()和apply()的區(qū)別
Js繼承有哪些?原型繼承是什么樣的
解釋一下模塊化,舉例模塊化的方法
GET和POST的區(qū)別
函數(shù)聲明和函數(shù)字面量的區(qū)別
jQuery的聯(lián)級(jí)有什么好處
漸進(jìn)增強(qiáng) 優(yōu)雅降級(jí)
CSS:float高度塌陷解決方案:
clearfix:after{clear:both;content:".";height:0;display:block;visibility:hidden;}(給自己挖了個(gè)坑after是偽元素不是偽類(lèi),我說(shuō)錯(cuò)了~)
line-height像素單位和百分比的單位的計(jì)算方法: length 設(shè)置固定的行間距。單位em,px,pt等等。百分比%
,基于當(dāng)前字體尺寸的百分比行間距。(我覺(jué)得我答得是對(duì)的,但是他有重復(fù)了一遍:我說(shuō)的是line-height)
一個(gè)ul里有若干個(gè)li,想要每個(gè)li都有一個(gè)border-bottom,最后一個(gè)li不想要boder-bottom要怎么做:(ul:last-child{border-bottom:none;}或者給最后一個(gè)li加一個(gè)class選擇器設(shè)置border:none;(他說(shuō)還有,查了一下什么加載jQuery可之類(lèi)的~)
css 選擇器過(guò)長(zhǎng)怎么判斷他的優(yōu)先級(jí):行內(nèi)樣式1000 -- id100 -- 類(lèi)、偽類(lèi)、屬性選擇器10 --
類(lèi)型選擇器、偽元素選擇器1 通過(guò)相加計(jì)算大的優(yōu)先級(jí)高,值相等的話后聲明的優(yōu)先級(jí)高。
一個(gè)div怎么垂直居中呀? 餓了么說(shuō)過(guò)了~
css3你常用的屬性有什么呀? 動(dòng)畫(huà)的transform transmation border-radious box-sizing box-shadow
很長(zhǎng)一段話要進(jìn)行截取,超過(guò)之后是三個(gè)點(diǎn)怎么做? 不考慮兼容的話CSS3有 text-overflow:ellipsis 然后或者overfloww:hidden 再在邊框前側(cè)加入一個(gè)三個(gè)點(diǎn)的span 或者用偽元素:after{content:"..."}之類(lèi)的吧
position 定位
dom操作元素
兩列布局
inline-block空隙怎么解決
如何平鋪一張背景圖? css方法:設(shè)置一張圖片 {position: absolute; top: 0; left: 0; bottom: 0; right: 0; z-index: -1;} js方法: 判斷瀏覽器高度,設(shè)置圖片的高度
如果讓圖片按比例放大縮小呢? 用Js來(lái)判斷寬高,然后按比例放大(面試官說(shuō)屏幕壁板都是橫屏,所以width設(shè)置為100%就可以了)
css hack
條件注釋
dispaly的值
css3動(dòng)畫(huà)的性能優(yōu)化你知道什么? 我只答了最好不要使用all
BFC,haslayout是什么,怎么觸發(fā)
HTML什么是語(yǔ)義化
html5 語(yǔ)義化的標(biāo)簽
HTTPhttp狀態(tài)碼都知道那些
算法(一個(gè)都沒(méi)答上來(lái)):優(yōu)先隊(duì)列
堆
快速排序
數(shù)組去重
怎么構(gòu)造一棵樹(shù)
十進(jìn)制數(shù)判斷有多少位二進(jìn)制碼
項(xiàng)目css3翻書(shū)是怎么做的呀? 巴拉巴拉講了一堆
你這個(gè)翻頁(yè)有個(gè)bug呀,什么原因怎么改呀? z-index的問(wèn)題,怎么改布吉島~
canvas繪圖怎么做的呀? 巴拉巴拉講了一堆
你這個(gè)繪制有bug呀,什么原因怎么改呀? 滾動(dòng)條的問(wèn)題,怎么改又布吉島。。。(加上滾動(dòng)條的距離,面試官告訴我的~)
版本控制了解版本控制器么? 了解一些github
基本操作會(huì)么? 我都用的windows的圖形界面進(jìn)行操作的(面試官心中可能有一萬(wàn)只草泥馬在奔騰....)
github的工作原理是什么呀?
我把我的代碼上傳到github的倉(cāng)庫(kù)上,然后別人可以下載進(jìn)行代碼添加然后上傳更新倉(cāng)庫(kù),我可以再下載更新過(guò)的繼續(xù)進(jìn)行添加修改
那如果你們兩個(gè)修改同一份代碼發(fā)生沖突怎么辦? 我知道的方法只有回滾,就是和隊(duì)友交流看誰(shuí)的代碼更重要,然后進(jìn)行一個(gè)回滾操作。
只能這樣么,必須有一個(gè)人犧牲么?
我了解到github的功能其實(shí)非常強(qiáng)大,所以肯定有更好的方法嗎,只是我現(xiàn)在對(duì)github的使用僅限于自己代碼的存儲(chǔ)以及一些小的修改,所以并不了解更好的方法。。。。
你常用的代碼編寫(xiě)工具是什么? sublime text
你要修改很多相同的地方怎么辦? 選中一個(gè) 按Ctrl+D 選取多個(gè) 然后一起改
photoshop怎么樣? 可以進(jìn)行簡(jiǎn)單的psd頁(yè)面圖的ps 不會(huì)人物風(fēng)景的美化
想要導(dǎo)出一個(gè)文件提及比較小的png怎么做 存儲(chǔ)為web所用格式。。。(應(yīng)該不對(duì)~)
性能優(yōu)化了解多少
項(xiàng)目(這里聊了很久)給我介紹一下你都做過(guò)哪些項(xiàng)目吧? 巴拉巴拉一堆沒(méi)有什么特定答案~
你是怎么進(jìn)行團(tuán)隊(duì)項(xiàng)目的合作呢? 巴拉巴拉一堆沒(méi)有什么特定答案~
你現(xiàn)在在學(xué)些什么呀? Linux下Qt開(kāi)發(fā)~~巴拉巴拉~
做前端有用不到C++,你學(xué)他有什么用呀? 我不只是一個(gè)寫(xiě)前端的,我還是一個(gè)程序員,C和C++是這些語(yǔ)言的基礎(chǔ),所以巴拉巴拉~
你最滿意的C++程序講一下? Qt呀,類(lèi)呀~什么的~
你覺(jué)得淘寶首頁(yè)有哪些技術(shù)優(yōu)勢(shì)?
頁(yè)面很大,要承載的東西也很多,但是可以讓用戶清晰明了的找到想要找的東西證明布局做的非常好,然后里面包括圖片輪播呀個(gè)中點(diǎn)擊事件呀什么的事件也很多,所以避免事件沖突也很膩害~
那你覺(jué)的你用多久可以寫(xiě)出淘寶首頁(yè)? 呃~一個(gè)星期吧(這個(gè)可真的不知道什么樣的答案合適)
你為什么想來(lái)淘寶技術(shù)部? 因?yàn)榧夹g(shù)牛,而且有很多大牛在這個(gè)團(tuán)隊(duì)里,如果我有機(jī)會(huì)的成為其中一員的話就業(yè)可以學(xué)到更多的東西啦~
你覺(jué)得你有什么優(yōu)勢(shì)可以來(lái)淘寶技術(shù)部? 嘿嘿,就不告訴你我是怎么答得~~
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/90941.html
摘要:題目來(lái)源前端實(shí)習(xí)生面試總結(jié)最近開(kāi)始了幾次面試,雖然還不知道結(jié)果如何,但是還是要記錄下來(lái)進(jìn)行一個(gè)總結(jié),同樣也希望對(duì)正在準(zhǔn)備面實(shí)習(xí)生的童鞋們有所幫助最后一個(gè)參數(shù)是做什么用的答規(guī)定事件是冒泡還是捕獲。 最近一直在多看基礎(chǔ)的書(shū)多碼代碼準(zhǔn)備找實(shí)習(xí),在網(wǎng)上也搜羅了不少面經(jīng),現(xiàn)在把搜羅到的實(shí)習(xí)生面試題自己整理一下。 題目來(lái)源:前端實(shí)習(xí)生面試總結(jié)最近開(kāi)始了幾次面試,雖然還不知道結(jié)果如何,但是還是要記錄...
摘要:題目來(lái)源前端實(shí)習(xí)生面試總結(jié)最近開(kāi)始了幾次面試,雖然還不知道結(jié)果如何,但是還是要記錄下來(lái)進(jìn)行一個(gè)總結(jié),同樣也希望對(duì)正在準(zhǔn)備面實(shí)習(xí)生的童鞋們有所幫助最后一個(gè)參數(shù)是做什么用的答規(guī)定事件是冒泡還是捕獲。 最近一直在多看基礎(chǔ)的書(shū)多碼代碼準(zhǔn)備找實(shí)習(xí),在網(wǎng)上也搜羅了不少面經(jīng),現(xiàn)在把搜羅到的實(shí)習(xí)生面試題自己整理一下。 題目來(lái)源:前端實(shí)習(xí)生面試總結(jié)最近開(kāi)始了幾次面試,雖然還不知道結(jié)果如何,但是還是要記錄...
摘要:收集的一些前端面試題從面試題發(fā)現(xiàn)不足,進(jìn)而查漏補(bǔ)缺,比通過(guò)面試更難得及各大互聯(lián)網(wǎng)公司前端筆試面試題篇及各大互聯(lián)網(wǎng)公司前端筆試面試題篇面試題個(gè)和個(gè)經(jīng)典面試題前端開(kāi)發(fā)面試題如何面試前端工程師很重要個(gè)變態(tài)題解析如何通過(guò)餓了么面試輕 收集的一些前端面試題 從面試題發(fā)現(xiàn)不足,進(jìn)而查漏補(bǔ)缺,比通過(guò)面試更難得 1 BAT及各大互聯(lián)網(wǎng)公司2014前端筆試面試題--Html,Css篇 2 BAT...
摘要:收集的一些前端面試題從面試題發(fā)現(xiàn)不足,進(jìn)而查漏補(bǔ)缺,比通過(guò)面試更難得及各大互聯(lián)網(wǎng)公司前端筆試面試題篇及各大互聯(lián)網(wǎng)公司前端筆試面試題篇面試題個(gè)和個(gè)經(jīng)典面試題前端開(kāi)發(fā)面試題如何面試前端工程師很重要個(gè)變態(tài)題解析如何通過(guò)餓了么面試輕 收集的一些前端面試題 從面試題發(fā)現(xiàn)不足,進(jìn)而查漏補(bǔ)缺,比通過(guò)面試更難得 1 BAT及各大互聯(lián)網(wǎng)公司2014前端筆試面試題--Html,Css篇 2 BAT...
閱讀 4913·2023-04-25 18:47
閱讀 2673·2021-11-19 11:33
閱讀 3445·2021-11-11 16:54
閱讀 3101·2021-10-26 09:50
閱讀 2540·2021-10-14 09:43
閱讀 665·2021-09-03 10:47
閱讀 671·2019-08-30 15:54
閱讀 1498·2019-08-30 15:44