国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

關于個人第一天前端面試的面試問答QA,希望能對其他找前端工作的朋友有所幫助。

Youngdze / 2206人閱讀

摘要:兩日前,發了一篇吐槽,莫名的火了一把。關于的第一個,其實就是聲明一個常量,不允許變更。另外對象迭代這里出自,阮一峰大神寫的入門指南,對象篇。

兩日前,發了一篇吐槽,莫名的火了一把。經過大家的建議與鼓勵,于是修改了簡歷,開始了重新投遞,2天后接到第一份面試邀請。

此文為個人面試經歷,QA問答過程與總結,不透露面試公司及面試人員,內容真實,如果有面試過我的大佬看到博客,歡迎指出問題。

循序可能有點亂,沒記太清。

1.面試時間 2017.2.30下午兩點——公司薪資6K

Q:請先做一下自我介紹

A:barbarbar,然而順便談了下自己的學習經歷,講了下自己在寫的項目啥的。

Q:談談你對閉包的理解。

A:關于閉包,我個人的理解用一句話概括就是:一個函數在父級函數執行完畢后,如果任然留有對父級函數內部變量(作用域)的引用,那么就會建立閉包,我個人對閉包就是這樣的看法,如果有什么錯誤,請務必幫我訂正....

原文出自js面對對象編程指南P88:如果一個函數會在其父級函數返回之后,留住對父級作用域的連接的話,相關閉包就會被創立起來

Q:談談你對ES6新的聲明變量的方式的一些看法

A:關于這個問題,新的方式,比較有趣的就是所謂的暫時性死區什么的,簡單的來講吧。關于的第一個const,其實就是聲明一個常量,不允許變更。另一個let,就是零時變量,或者說是局部變量(這兩個都屬于局部變量),能夠由中括號直接產生一個零時的局部作用域了,而不必使用以前的立即執行匿名函數了,let非常適合在for循環之類的場景中使用,不再需要使用迭代函數就能獲得當前的變量了,對比var來看,新的這兩個變量聲明都不會在執行時被提升,并且編譯速度比var更快。

Q:你說const聲明的是常量,不能被改變嘍?

A:const聲明的的確是常量,只不過是字面量常量不能被改變,如果是對象類型的話,是引用,對象的屬性被改變是無法被檢測到的,就像vue中,父子組件中通信,以及數據,如果是對象屬性被改變,是無法被檢測到的。

Q:你說Vue中如果對象屬性被修改無法被檢測到,那么你有什么解決方案?

A:這個,其實我覺得最好的解決方案就是嚴格遵守vue的理念,父子組件通信時不去修改什么對象屬性,對象數據的屬性,非要改動添加的話:使用(Object.assign() 或 _.extend())面試時,沒想起來單詞怎么拼.....

關于對象屬性的的修改的方法,有興趣的可以了解下,Object.defineProperty(vue好像就是基于它實現的雙向數據綁定,還沒讀源碼,不清楚楚),Object.assign是把屬性添加到對象的方法。

Q:關于數組去重復你用什么方法?

A:因為目前我自己都是使用ES6 + Webapck2的方式寫的代碼,所以用的是Array.from(new Set(arr)或者[...new Set(arr)]的方式去重,原理是,用了set類型,允許重復的值得特性,然后使用from方法或者解構的方法來得到數組,關于其他的方法的話,有太多了,比如什么循環去重,什么迭代(reduce)啥的,我就懶得講了,因為真的太多了。

Q:你提到了Set類型,那你講下對Es6里 Map 類型的看法。

A:關于這個Map啊...(猶豫了一下)說實話,我沒怎么去使用這個新的類型,畢竟怎么說好呢,目前我是將Map當成一個嵌套數組看待,畢竟Map和對象相比,只是比對象多提供了一個迭代用的接口,并且據說速度會比對象訪問屬性更快一點,現在來說,實在是沒有什么使用場景,常用的一些工具函數,比如下劃線.jslodash.js(不知道單詞是否拼錯),暫時都還沒有提供對map的方法,但對象卻有千千萬的各類方法,并且,map能夠實現的對象類型也能夠實現,比如迭代對象可以用for (let [k, v] of Object.entries(obj)) ,哦,最后一點差異就是允許key使用數字。不知道你有啥其他的看法嘛,或者知道map的一些使用場景,可以和我分享一下。

樓主只用過下劃線.js...對于loadsh.js沒提供是猜測的。另外對象迭代這里出自,阮一峰大神寫的ES6入門指南,對象篇。完整的是:

let obj = { one: 1, two: 2 };
for (let [k, v] of Object.entries(obj)) {
  console.log(
    `${JSON.stringify(k)}: ${JSON.stringify(v)}`
  );
}
// "one": 1
// "two": 2

Q:關于new一個對象,你講一下,具體是怎么實現的?

A: 什么?new一個對象,額,這個不就是一個構造函數,然后new一個新的對象嘛,還能有什么流程嘛。不太清楚,你具體問的內容哈,你是問,構造函數內容的執行邏輯原理還是啥?

Q:那你談一下對于原型的理解

A:原型啊,從哪里開始講呢,我之前好像寫過篇關于原型的博文,要不看看博文?畢竟在我看來,這方面內容太廣了,一定要講的話,可以說,(比面試時稍微把邏輯更通一點,面試時太緊張邏輯有點亂)原型自身就是一個對象,有自己的屬性與方法,默認情況下是有一個指針指向原型的構造函數,構造函數也有個指針指向自己的prototype...然后由構造函數new出來的對象,在原型鏈上默認指向構造函數指著的原型。。。好吧,我編不下去了,說真的,這玩意我得有個圖或者紙才好演示啊。。要不你給我張紙,我畫個圖?

廖雪峰大神寫的教程非常棒,推介一下:http://www.liaoxuefeng.com/wi...

Q:既然你原型不懂,那就談談原型鏈吧?

A: (心里活動:原型我得有紙才能演示,原型鏈,不得更需要紙嗎),啊,原型鏈啊,我之前真的自己寫過篇關于原型鏈的整理,能給你看下博客嗎?...你讓我憑空講...好吧,大概原型鏈就是...說實話,我現在用的都是Es6的class方法,雖然class也是基于原型鏈的語法糖,但是簡單方便啊,所以我這段時間都都沒怎么關心原型鏈的,畢竟原型鏈繼承在js面對對象編程指南里寫了十幾種方法啊...我這人,有時候喜歡簡單高效的東西,就像數組去重,我都用set,只有遇到一些相關問題,我才回去找新的解決方案。(后面把十幾種方法拍張照給大家觀摩觀摩,雖然有些不是基于原型的)

Q:你說你都是遇到問題再去解決,那你談談移動端一像素問題你是怎么解決的?

A:移動端一像素啊,簡單來講,就是設置個偽類,然后響應下屏幕的dpr,用css3的縮放進行解決。用一些預處理器寫個mixin函數就能解決。

Q:有其他的解決方案嗎?

A:這個老實說,還真沒研究過,在前面我提過,很多東西我都是遇到問題然后去解決的,如果目前有最優解決方案,我為啥要去用其他的,比如目前移動布局我用的就是flex布局,我感覺兼容性也不差。。。當然,主要原因也在于我沒啥工作經驗。

順手再推一波阮一峰大神的flex教程:http://www.ruanyifeng.com/blo...

Q:你有使用過css預處理器嗎?

A:目前在使用stylus,less也有接觸過,stylus我主要喜歡無需括號,以及變量或者函數不用加什么奇怪的前綴

Q:對于手機應用你有過了解嗎?

A:如果指的是混合開發的webapp手機應用,我最近研究過weex,就是阿里去年開源的那個類似react native的,目前正準備寫點什么個人項目,但是因為時間緣故所以暫時還是只計劃。

Q:對于性能優化,你有什么方案?

A:性能優化啊,說實話,我目前因為主要都是自己的作品,沒遇到過什么特別徐亞喲優化的地方,如果一定要講的話。。。好吧,我簡單講一下吧,比如不要使用全局變量,因為相比局部變量,全局變量被索引時的速度最慢;不要過多使用閉包,閉包會占用內存;要對閉包中需要遞歸的地方進行尾遞歸優化不然容易導致內存泄漏(主要好像是ie下,沒有實際測試過),對script標簽進行合并,畢竟頁面遇到script標簽就會停止渲染(主要是因為瀏覽器不能確定script標簽會不會改動dom),在使用ajax時,對一些內容盡量使用get(get默認會保留緩存),額...還有的話,說實話,我來面試前忘了去找份面試指南背,很多東西由于我沒有實際的遇到過我并沒有太過深入。如果是我遇到過得問題,我詳細我應該能夠了解。說起來之前拜讀過一本叫做js函數式編程指南的..因為內容有點深,就只看了部分。

關于全局變量被索引的速度最慢,出自高性能js...沒有實際測試過,閉包內遞歸要使用尾遞歸優化,附送上連接,同樣是阮一峰大神的:http://www.ruanyifeng.com/blo... ,關于 js函數式編程指南連接:https://llh911001.gitbooks.io... (非常贊的一本免費電子書,不知為何,關注的人很少)

Q:你提到了ajax,那就談下ajax吧。

A:ajax啊,這玩意其實很簡單,主要就是異步的從后端獲取數據嘛,搞來搞去也就那么些接口啥的,在初學js時,我為了能響應ajax還簡單的學了php,就是后端提供接口,前端用get或者post或者其他方式去請求數據,不會讓頁面停止運行啥的,目前我在寫的項目中接入了聊天機器人,由于跨域問題,就用node做了個中轉層,用來轉發對機器人api的請求,流程就是前端請求本地的服務器,服務器請求機器api...

Q:你對于跨域的解決方法了解多少?

A:前端跨域嗎,最常用的應該是jsonp吧,后端動態生成script(能夠執行的js函數),然后把數據發送過來。或者是用node做個中轉層啥的,方法好像挺多,H5也有種新的方案,不過沒深入研究。

Q:我們這邊后端用的不是node,是java,你怎么使用jsonp。

A: 啊,java不能返回動態的script嗎?我之前學過的php好像行,現在在學的python也行啊。

Q:python是什么?

A:python就是...它是一門編程語言,當初學node寫爬蟲時,發現node用模塊模擬的多線程本質還是單線程,并且錯誤處理還麻煩,我還得用進程維護模塊去啟動...然后上網查,發現都說python好,于是就開始學了些python,把教程簡單過了遍,后來因為些事情所以就沒怎么碰了。。。。

安利下廖雪峰大神的python教程:http://www.liaoxuefeng.com/wi...

Q:那你現在目前在做什么

A:目前,有個個人博客在寫完成度太低,所以沒有開源,后端使用koa2(優雅的async函數才是我的追求,express的嵌套,見鬼去)正考慮前端要不要上個react,畢竟我目前一直在深入Vue2,對同樣是Mvvm的react好像沒做過啥具體項目。

Q:其他對公司有什么想問的嘛?

A:barbarbarabr(問了些關于公司結構的問題),說起來,我對于自己知識面的廣度自信的,但是對于深入有所欠缺。

不知道為何,面試當天就被告知未通過,我在想,果然是因為沒有背過前端面試題嘛。。。還是原型那里沒回答出了問題,對于面試官,一直帶著笑容,然而,一些反問的內容均未給出回復。。。全程笑瞇瞇。。年齡目測比我年長幾歲的樣子。。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/82284.html

相關文章

  • 我是如何在自學編程9個月后工作

    摘要:昨天在我在國外網站上看到一篇文章,作者分享了他自學編程個月后找到工作的經歷。而本文中,我主要針對想要通過學習編程找工作的角度來談。我在年月犯了一個錯誤我認為首要任務是找到一份前端開發的工作。 昨天在我在國外網站 reddit 上看到一篇文章,作者分享了他 自學編程 9 個月后找到工作 的經歷。文章不到一天就得到3千多贊,2百條回復。我看了下內容,非常中肯,其中有不少建議也是我在編程教室...

    gaosboy 評論0 收藏0
  • 【轉】給年輕前端程序員提升能力幾條建議

    摘要:如果你問一個年輕的前端開發人員,你在今后的年內如何提升自己的能力他可能會說我現在對前端比較熟悉,但我想深入了解,另外現在發展的很快我也想看一下。再舉一個例子,我會留意身邊的程序員所用的鍵盤。只有少部分的程序員會買高端的靜電容鍵盤,比如。 如果你問一個年輕的前端開發人員,你在今后的 3 年內如何提升自己的能力?他可能會說我現在對 Web 前端比較熟悉,但我想深入了解 AngularJS,...

    Ryan_Li 評論0 收藏0
  • 測試人生 | 突破“大專學歷+半路轉行”標簽,從拉垮菜鳥到測試團隊骨干,走到這一步很知足!

    摘要:而且大專學歷也徒增額外的打擊,本科學歷的硬性招聘要求一下子篩掉了很多工作機會。突破學歷限制,內推被技術總監破格聘用我抱著試試看的態度,把簡歷發了過去。面試官看起來也很滿意,也當場告訴我面試通過了。 ...

    zhangrxiang 評論0 收藏0
  • 2016年總結 - 收藏集 - 掘金

    摘要:然而這次的文章,就像賀師俊所說的這篇文章是從程序員這個老年度總結前端掘金年對我來說,是重要的一年。博客導讀總結個人感悟掘金此文著筆之時,已經在眼前了。今天,我就來整理一篇,我個人認為的年對開發有年終總結掘金又到 2016 Top 10 Android Library - 掘金 過去的 2016 年,開源社區異常活躍,很多個人與公司爭相開源自己的項目,讓人眼花繚亂,然而有些項目只是曇花一...

    DataPipeline 評論0 收藏0

發表評論

0條評論

Youngdze

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<