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