0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

前端工程師面試經(jīng)驗(yàn)總結(jié)

工程師人生 ? 來源:網(wǎng)絡(luò)整理 ? 作者:工程師吳畏 ? 2018-09-14 10:14 ? 次閱讀

面試前端工程師對(duì)我來說是一件非常有意思的事,因?yàn)槊嬖囘^程很大程度上也是自我提升的過程。無論大公司還是小公司,之所以在如何招聘到真正有能力的前端工程師方面會(huì)遇到同樣的問題,就是因?yàn)樨?fù)責(zé)招聘的那些人不知道自己公司需要什么樣的人,結(jié)果問問題時(shí)也問不到點(diǎn)子上。經(jīng)過這幾年在行業(yè)里的摸索,我總結(jié)出了自己的一套很有效的面試前端工程的方法。

有的應(yīng)聘者說我不好對(duì)付,但留給他們這樣的印象也并非我所愿。我覺得之所以他們說我不好對(duì)付,主要是因?yàn)槲覇査麄儐栴}時(shí)問得太細(xì)了。以前我曾專門寫過一些東西,告訴應(yīng)聘者怎么才能通過我的面試(Surviving an interview with me)以及優(yōu)秀的前面工程師應(yīng)該具備什么樣的素質(zhì)(What makes a good front end engineer?),而我的面試可以說完全是按照那兩篇文章的標(biāo)準(zhǔn)進(jìn)行的。我不會(huì)問一些特別偏門的問題,也不認(rèn)為出幾道邏輯題就能考出人的真實(shí)水平。我唯一的想法就是確定你能否勝任我們要招的這個(gè)職位。為此,我需要簡(jiǎn)單地考察如下幾個(gè)方面。

基本知識(shí)

我們生活在互聯(lián)網(wǎng)時(shí)代,你想知道的任何事情幾乎都能在15分鐘內(nèi)找到相關(guān)信息??墒?,能找到信息并不等于你會(huì)使用它。我認(rèn)為所有前端工程師至少都應(yīng)該掌握某些基本的知識(shí),才能有效地完成自己的工作。如果一遇到問題,就停下工作上網(wǎng)四處搜索解決方案,怎么可能保證按期完成工作呢?聽聽,還有誰在說“我不知道,但我可以上網(wǎng)搜到?!闭?qǐng)這些同學(xué)把手舉起來,讓大家認(rèn)識(shí)一下(immediately raises a flag for me.)。下面我列出一些基本的知識(shí)點(diǎn),這些都是我認(rèn)為一名前端工程師(無論工作年頭長(zhǎng)短)在沒有任何外來幫助的情況應(yīng)該知道的。

DOM結(jié)構(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)系,IE 8以下版本的瀏覽器中的盒模型有什么不同。

塊級(jí)元素與行內(nèi)元素——怎么用CSS控制它們、它們?cè)鯓佑绊懼車脑匾约澳阌X得應(yīng)該如何定義它們的樣式。

浮動(dòng)元素——怎么使用它們、它們有什么問題以及怎么解決這些問題。

HTML與XHTML——二者有什么區(qū)別,你覺得應(yīng)該使用哪一個(gè)并說出理由。

JSON——它是什么、為什么應(yīng)該使用它、到底該怎么使用它,說出實(shí)現(xiàn)細(xì)節(jié)來。

重申一下,上述這些知識(shí)點(diǎn)都應(yīng)該是你應(yīng)該“想都不用想”的東西。我一開始問的所有問題都是想摸清你對(duì)所有這些領(lǐng)域知識(shí)的掌握程度。雖然上面列出的這些知識(shí)點(diǎn)并沒有面面俱到,但我覺得你至少應(yīng)該掌握這些,才有可能跟我坐到一間辦公室里來。

少量提問

我非常贊同面試者問的問題越少越好。反復(fù)問應(yīng)聘者各種問題既不公平,也很無聊。我在任何一次面試中,通常只問三個(gè)大問題,但每個(gè)問題又會(huì)涉及我所能想到的多個(gè)方面?;卮鹈總€(gè)大問題一般要經(jīng)過幾個(gè)步驟,這樣我就可以在每個(gè)步驟中穿插著問一些小問題。比如說:

現(xiàn)在有一個(gè)正顯示著Yahoo!股票價(jià)格的頁(yè)面。頁(yè)面上有一個(gè)按鈕,你可以單擊它來刷新價(jià)格,但不會(huì)重新加載頁(yè)面。請(qǐng)你描述一下實(shí)現(xiàn)這個(gè)功能的過程,假設(shè)服務(wù)器會(huì)負(fù)責(zé)準(zhǔn)備好正確的股票價(jià)格數(shù)據(jù)。

這個(gè)問題牽扯到一組我想要考察的基本知識(shí)點(diǎn):DOM結(jié)構(gòu)、DOM操作、事件處理、XHR和JSON。如果我要求你對(duì)換一種處理股票價(jià)格的方式,或者讓你在頁(yè)面中顯示其他信息,就可以把更多的知識(shí)點(diǎn)包括進(jìn)來。對(duì)于經(jīng)驗(yàn)比較豐富應(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è)試出他們是否在毫無意義地復(fù)述書本中的東西。不能不承認(rèn),某些人確實(shí)有過目不忘的天賦,聽他們?cè)谀抢锾咸喜唤^地講,你會(huì)覺得他們什么都明白。可是,只要一跟這些人談到怎么查找方案無效的原因,以及能否拿出一個(gè)新方案來,他們往往就傻眼了。這時(shí)候,如果我聽到“我不明白這個(gè)方案為什么不夠好”之類的反問,心里立刻就明白我的問題已經(jīng)超出了他們的能力范圍,而他們只是想拿自己死記硬背的結(jié)論來蒙混過關(guān)。

其次,可以測(cè)試出他們已經(jīng)掌握的(還是那句話,“想都不用想”)瀏覽器技術(shù)知識(shí)。如果他們對(duì)瀏覽器平臺(tái)的核心知識(shí)有較好的理解,想出解決同一問題的不同方案根本沒有那么難。

對(duì)一名前端工程師來說,這絕對(duì)是最重要的能力。前端工程師在工作中遇到本該如此卻并未如此的難題(說你啦,IE6),應(yīng)該說是一件很平常的事。一個(gè)方案無效就無計(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è)人毫無幫助)。我真正感興趣的,是他們能夠從上一步前進(jìn)到下一步。我希望看到一個(gè)人就在我眼前學(xué)到新知識(shí)。

注意:所有問題都與瀏覽器技術(shù)相關(guān)。我不相信出幾道抽象的邏輯題,就能夠考出某人解決Web技術(shù)問題的能力。在我看來,這無異于讓素描大師畫肖像(或者讓劉翔跟博爾特同場(chǎng)競(jìng)技),沒有意義,也得不到任何有價(jià)值的信息。

有激情

要成為一名優(yōu)秀的前端工程師,最重要的莫過于對(duì)自己做的事要有激情。我們技能都不是從學(xué)校中或者從研討會(huì)上學(xué)來的,因此前端工程師必須具備自學(xué)能力。瀏覽器技術(shù)的變化可謂日新月異,所以也只有不斷提升自己的技能才做得到與時(shí)俱進(jìn)。我雖然不能強(qiáng)迫誰必須多看博客、不斷學(xué)習(xí),但想應(yīng)聘前端工程師的人恐怕還是必須這么做的。

你怎么知道誰對(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í)髦的新詞匯。

最后一點(diǎn)

計(jì)算機(jī)科學(xué)或者Web設(shè)計(jì)方面的知識(shí)當(dāng)然也有用,但那都是基本知識(shí)之外的東西。只要基本知識(shí)在那兒了,一切就都有了基礎(chǔ),想擴(kuò)充知識(shí)面也不難。可是,如果等到正式上班以后,還得從頭學(xué)習(xí)基本技能,那種難度是不可同日而語(yǔ)的。另外,高級(jí)前端工程師與一般工程師相比,肯定需要掌握更多的技能。而面試幾乎沒有經(jīng)驗(yàn)大學(xué)畢業(yè)生,同樣也會(huì)有一套完全不同的程序。我在這篇文章里列出來的都是一些最基本的東西。

對(duì)于那些還沒有多少面試經(jīng)驗(yàn)的人,我總是喜歡告訴他們,面試完了只要問自己一個(gè)問題就行:你想以后跟這個(gè)人在一起共事嗎?如果不管為什么,回答是不,那就是不。

面試前端工程師對(duì)我來說是一件非常有意思的事,因?yàn)槊嬖囘^程很大程度上也是自我提升的過程。無論大公司還是小公司,之所以在如何招聘到真正有能力的前端工程師方面會(huì)遇到同樣的問題,就是因?yàn)樨?fù)責(zé)招聘的那些人不知道自己公司需要什么樣的人,結(jié)果問問題時(shí)也問不到點(diǎn)子上。經(jīng)過這幾年在行業(yè)里的摸索,我總結(jié)出了自己的一套很有效的面試前端工程的方法。

有的應(yīng)聘者說我不好對(duì)付,但留給他們這樣的印象也并非我所愿。我覺得之所以他們說我不好對(duì)付,主要是因?yàn)槲覇査麄儐栴}時(shí)問得太細(xì)了。以前我曾專門寫過一些東西,告訴應(yīng)聘者怎么才能通過我的面試(Surviving an interview with me)以及優(yōu)秀的前面工程師應(yīng)該具備什么樣的素質(zhì)(What makes a good front end engineer?),而我的面試可以說完全是按照那兩篇文章的標(biāo)準(zhǔn)進(jìn)行的。我不會(huì)問一些特別偏門的問題,也不認(rèn)為出幾道邏輯題就能考出人的真實(shí)水平。我唯一的想法就是確定你能否勝任我們要招的這個(gè)職位。為此,我需要簡(jiǎn)單地考察如下幾個(gè)方面。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 工程師
    +關(guān)注

    關(guān)注

    59

    文章

    1571

    瀏覽量

    68574
  • 前端
    +關(guān)注

    關(guān)注

    1

    文章

    194

    瀏覽量

    17795
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    電子工程師經(jīng)驗(yàn)分享

    電子工程師在實(shí)際工作中積累了豐富的經(jīng)驗(yàn),這些經(jīng)驗(yàn)對(duì)于新手工程師和電子專業(yè)的學(xué)生具有重要的參考價(jià)值。 一、電路設(shè)計(jì)經(jīng)驗(yàn) 電路設(shè)計(jì)核心思想 電路
    的頭像 發(fā)表于 01-14 10:14 ?66次閱讀

    面試題】人工智能工程師高頻面試題匯總:機(jī)器學(xué)習(xí)深化篇(題目+答案)

    隨著人工智能技術(shù)的突飛猛進(jìn),AI工程師成為了眾多求職者夢(mèng)寐以求的職業(yè)。想要拿下這份工作,面試的時(shí)候得展示出你不僅技術(shù)過硬,還得能解決問題。所以,提前準(zhǔn)備一些面試常問的問題,比如機(jī)器學(xué)習(xí)的那些算法
    的頭像 發(fā)表于 12-16 13:42 ?2023次閱讀
    【<b class='flag-5'>面試</b>題】人工智能<b class='flag-5'>工程師</b>高頻<b class='flag-5'>面試</b>題匯總:機(jī)器學(xué)習(xí)深化篇(題目+答案)

    面試題】人工智能工程師高頻面試題匯總:Transformer篇(題目+答案)

    隨著人工智能技術(shù)的突飛猛進(jìn),AI工程師成為了眾多求職者夢(mèng)寐以求的職業(yè)。想要拿下這份工作,面試的時(shí)候得展示出你不僅技術(shù)過硬,還得能解決問題。所以,提前準(zhǔn)備一些面試常問的問題,比如機(jī)器學(xué)習(xí)的那些算法
    的頭像 發(fā)表于 12-13 15:06 ?567次閱讀
    【<b class='flag-5'>面試</b>題】人工智能<b class='flag-5'>工程師</b>高頻<b class='flag-5'>面試</b>題匯總:Transformer篇(題目+答案)

    人工智能工程師高頻面試題匯總——機(jī)器學(xué)習(xí)篇

    隨著人工智能技術(shù)的突飛猛進(jìn),AI工程師成為了眾多求職者夢(mèng)寐以求的職業(yè)。想要拿下這份工作,面試的時(shí)候得展示出你不僅技術(shù)過硬,還得能解決問題。所以,提前準(zhǔn)備一些面試常問的問題,比如機(jī)器學(xué)習(xí)的那些算法
    的頭像 發(fā)表于 12-04 17:00 ?935次閱讀
    人工智能<b class='flag-5'>工程師</b>高頻<b class='flag-5'>面試</b>題匯總——機(jī)器學(xué)習(xí)篇

    需要無刷電控硬件工程師

    需要無刷電控硬件工程師,地點(diǎn)東莞松山湖。最好有5-10年經(jīng)驗(yàn),大功率電摩電控。有意私聊。
    發(fā)表于 09-11 22:51

    正是拼的年紀(jì)|65歲電子工程師上班VLOG #65歲退休 #電子工程師 #搞笑 #上班vlog

    電子工程師
    安泰小課堂
    發(fā)布于 :2024年07月25日 11:31:02

    嵌入式軟件工程師如何提升自己?

    的發(fā)展打下堅(jiān)實(shí)的基礎(chǔ)。 2.掌握專業(yè)技能 除了基礎(chǔ)知識(shí)外,嵌入式軟件工程師還需要掌握專業(yè)的技能。這包括熟練掌握嵌入式系統(tǒng)的開發(fā)工具、硬件平臺(tái)和軟件開發(fā)流程。建議通過參加培訓(xùn)課程、實(shí)習(xí)經(jīng)驗(yàn)或自學(xué)等方式
    發(fā)表于 06-12 11:20

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    ,并且了解嵌入式系統(tǒng)的工作原理。此外,他們還需要具備良好的邏輯思維能力,能夠快速解決復(fù)雜的軟件問題。嵌入式軟件工程師在軟件開發(fā)方面有著豐富的經(jīng)驗(yàn),能夠編寫高效穩(wěn)定的嵌入式軟件,并且熟悉實(shí)時(shí)系統(tǒng)開發(fā)和調(diào)試
    發(fā)表于 05-16 11:00

    大廠電子工程師常見面試題#電子工程師 #硬件工程師 #電路知識(shí) #面試

    電子工程師電路
    安泰小課堂
    發(fā)布于 :2024年04月30日 17:33:15