前端实习生笔试_2016春网易前端暑期实习生笔试面经(二面已挂)
筆試
選擇題忽略
問答題:
用原生JS實(shí)現(xiàn)一個(gè)接口,能夠用Ajax上傳文件并顯示上傳進(jìn)度,上傳完成后接收一個(gè)來自服務(wù)器的json數(shù)據(jù)
實(shí)現(xiàn)一個(gè)三列布局
如何防范CSRF(跨站請(qǐng)求偽造)
請(qǐng)列舉減少HTTP請(qǐng)求數(shù)和資源文件大小的方法
列舉實(shí)現(xiàn)跨域請(qǐng)求的方法
一面
一上來先是自我介紹,在這個(gè)過程中,面試官會(huì)看你的簡(jiǎn)歷
Q:CSS和JS熟悉哪個(gè)?
A:JS
Q:瀏覽器端的JS包含哪幾個(gè)部分?
A:ECMAScript+DOM
Q:DOM包含哪些對(duì)象?
A:Node對(duì)象,然后繼承下來的有Document,Element,Text,還有想不起來了
Q:JS有哪些基本類型?
A:Number,String,undefined,null,還有引用類型的 //這里我少答了Boolean,然后我以為問的是數(shù)據(jù)類型
Q:基本類型和引用類型有什么區(qū)別?
A:賦值的時(shí)候基本類型按值,引用類型按引用,就是基本類型會(huì)復(fù)制一份,引用類型就是一個(gè)新的指針。
函數(shù)傳參的時(shí)候都是按值傳遞
Q:
var obj = {a : 1}; (function (obj){ obj = {a : 2}; })(obj); //問obj怎么變?
A:外面的obj不變,因?yàn)槔锩娴扔谧尵植康膐bj指向了一個(gè)新的對(duì)象
//下面兩題是因?yàn)槲液?jiǎn)歷有寫我會(huì)C++
Q:C++的引用類型是怎么樣的?
A:C++里面的引用相當(dāng)于一個(gè)變量的別名,對(duì)引用做操作也會(huì)影響該變量
Q:JS和C++有什么區(qū)別?
A:面向?qū)ο蟛灰粯?#xff0c;C++是類式繼承,JS是原型鏈?zhǔn)健++在函數(shù)式方面沒有JS來的強(qiáng)。
JS沒有C++的一些高級(jí)特性,比如模板、泛型。
Q:實(shí)現(xiàn)一個(gè)左邊定寬右邊自適應(yīng)的兩列布局,要求使用浮動(dòng)和flex兩種方法
A:
.left { float: left; width: 320px; //這個(gè)是面試官給的,面試官畫了圖 } //下面這段我少寫了,然后面試官就問你上面這樣能夠讓右邊自適應(yīng)嗎?囧 .right { margin-left: 320px; } //flex憋了很久沒寫出來。。。
Q:position有哪些屬性?各自有什么特點(diǎn)?
A:
static:正常文檔流
relative:相對(duì)于正常文檔流中的位置定位
absolute:相對(duì)于第一個(gè)不是static的父元素定位
fixed:相對(duì)于瀏覽器定位
Q:畫一下標(biāo)準(zhǔn)盒模型
A://感覺這里已經(jīng)質(zhì)疑我CSS是不是一點(diǎn)不會(huì)了,囧
Q:閉包是什么?有什么用?
A://這里我講得很不清楚,大致說了就是函數(shù)里面套函數(shù),可以保存變量
Q:ES5中,除了函數(shù),什么能夠產(chǎn)生作用域?
A:對(duì)象?
//然后被回問對(duì)象有作用域嗎?然后我說對(duì)象里面this會(huì)變。。。完全把作用域和執(zhí)行環(huán)境弄混了
Q:函數(shù)有哪幾種調(diào)用方式?
A:
直接調(diào)用
作為對(duì)象的方法調(diào)用
apply,call
Q:
var obj = { a : 1, func : function (){ (function (){ a = 2; }(); } }; obj.func();
問a怎么變,匿名函數(shù)里的this是什么?怎么改變里面的this?匿名函數(shù)不能傳參怎么改變obj.a的值?
A: obj.a不變,匿名函數(shù)里的this指向全局對(duì)象(window),相當(dāng)于給window加了一個(gè)名為a的屬性。
(function (){ this.a = 2; }).call(this); //或者apply //或者 func: function (){ var self = this; (function (){ self.a = 2; })(); }
Q:描述一下事件模型?IE的事件模型是怎樣的?事件***是什么?事件***中怎么定位實(shí)際事件產(chǎn)生的目標(biāo)?
A:捕獲->處于目標(biāo)->冒泡,IE應(yīng)該是只有冒泡沒有捕獲。
事件***就是在父元素上綁定事件來處理,通過event對(duì)象的target來定位。
Q:JS動(dòng)畫有哪些實(shí)現(xiàn)方法?
A:不太清楚
Q:那你知道還有什么實(shí)現(xiàn)動(dòng)畫的方法?
A:CSS3的animation,還有用canvas做的算嗎?
Q:你最近有用過什么框架或庫(kù)?
A:用React Native做安卓,還在學(xué) //然后面試官說那你現(xiàn)在還是主要在原生JS的層面咯
Q:你主要有哪些學(xué)習(xí)渠道?
A:MDN,Udacity,慕課網(wǎng)
Q:node.js有用過嗎?
A:有,主要用一些工具,比如gulp
Q:你有用過什么代碼管理工具?
A://然后面試官看到簡(jiǎn)歷上有GitHub就不問了
Q:你還有什么問題嗎?
A://這里我問了這個(gè)部門主要是面向技術(shù)人員還是普通用戶開發(fā),回答是都有,還回問了我一句你想做哪方面
最后面試官說你先去休息一下,待會(huì)兒還有個(gè)二面 //意思是一面居然過了。。。
二面
二面沒讓自我介紹,直接看到簡(jiǎn)歷上有寫項(xiàng)目經(jīng)歷就開問了
Q:說說你做過的項(xiàng)目以及從項(xiàng)目中學(xué)到了什么
A://balabala… 感覺很緊張,說得不是很清楚
Q:函數(shù)聲明和函數(shù)表達(dá)式有什么區(qū)別?
A:函數(shù)聲明會(huì)將那個(gè)函數(shù)提升到最前面,成為全局函數(shù)。函數(shù)聲明要指定函數(shù)名,而函數(shù)表達(dá)式不用,可以用作匿名函數(shù)。
Q:作用域鏈?zhǔn)鞘裁?#xff1f;
A://說的不是很清楚
Q:面向?qū)ο笥心膸讉€(gè)特點(diǎn)?
A:繼承、多態(tài)。。。想不起來了
Q:JS怎么實(shí)現(xiàn)繼承?
A:將父對(duì)象的一個(gè)實(shí)例賦值給子對(duì)象的原型
Q:怎么判斷屬性來自對(duì)象自身還是原型鏈?
A:hasOwnProperty
Q:雙向鏈表怎么找中點(diǎn)?
A:頭尾指針都往中間走,兩個(gè)指針相等或交替的時(shí)候?yàn)橹悬c(diǎn)
Q:單向鏈表呢?
A:先走到尾記下有幾個(gè)元素,然后再走到一半的地方
//面完查了下可以用快慢指針,一個(gè)指針每次走一步,另外個(gè)走兩步,快指針到尾部時(shí)慢指針在中點(diǎn)
Q:上次筆試之后有沒有學(xué)到什么?
A:了解了下跨域安全和性能相關(guān)的問題
Q:那你描述一下跨域安全問題吧
A://balabala…最后發(fā)現(xiàn)根本講不清楚,我還說考完之后去翻了《HTTP權(quán)威指南》,囧
Q:怎么實(shí)現(xiàn)跨域請(qǐng)求?
A:JSONP,http自定義origin頭部
Q:只寫origin就夠了嗎?
A:不太清楚
Q:解釋下TCP三次握手
A:客戶端發(fā)一個(gè)SYN,服務(wù)器回一個(gè)ACK,客戶端再回一個(gè)ACK
Q:HTTP頭中哪些是和緩存相關(guān)的?
A:ETag,***-control。。。想不起來了
Q:cookie和session有什么區(qū)別?
A:cookie在客戶端,session在服務(wù)端
Q:瀏覽器在發(fā)送cookie時(shí)會(huì)發(fā)送哪幾個(gè)部分?
A:不太清楚
Q:那你知道cookie有哪幾個(gè)組成部分嗎?
A:不太清楚
Q:你有用開發(fā)者工具看過cookie嗎?
A:有
Q:那cookie有哪幾個(gè)組成部分?
A://已死,我的內(nèi)心是崩潰的
Q:我沒有問題了,你還有什么問題嗎?
A://崩潰的我居然問了剛剛那個(gè)cookie的問題可以告訴我答案嗎。。。估計(jì)被定位成伸手黨了
面完之后去前臺(tái)問被告知二面掛了,然后愉快(誤)地滾回了學(xué)校
總結(jié)
一面比較注重基礎(chǔ)知識(shí),這方面聽到有的面試官建議多看幾遍《JavaScript高級(jí)程序設(shè)計(jì)》的,現(xiàn)場(chǎng)也有看到有人隨身帶著這本書
(我算是粗略地讀過三遍左右,也確實(shí)大多數(shù)上面問到的問題都能在書中找到答案)
二面注重能力考查,無論是學(xué)習(xí)能力(問項(xiàng)目,問筆試收獲),和后端的合作(問很多網(wǎng)絡(luò)原理),還是編程能力(會(huì)問算法,聽到有人說問二叉樹翻轉(zhuǎn)的)都有涉及。
面試官也明顯更高端了,應(yīng)該是Team Leader級(jí)別的
表達(dá)能力很重要,有些概念知道卻沒法清楚地表達(dá)出來,影響會(huì)很大
不要把話題引向自己不那么有自信的地方(比如上面的跨域問題)
總結(jié)
以上是生活随笔為你收集整理的前端实习生笔试_2016春网易前端暑期实习生笔试面经(二面已挂)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 果冻是什么?
- 下一篇: system verilog随机函数_s