如何面試Web前端開發工程師

2022-01-18 JavaScript

轉自:http://blog.csdn.net/zjut_acm/article/details/44944831

   近來幾個月,一直在努力尋找前端戰友,未果,一路的招聘經歷下來,心生不少感慨, 一直都很小心翼翼的,怕錯失了高人,又更加怕失誤把關不夠招到不合格的同學進來公司,對公司對項目造成某些影響。

   面試前端工程師對我來說是一件非常有意思的事,因為面試過程很大程度上也是自我提升的過程。無論大公司還是小公司,之所以在如何招聘到真正有能力的 前端工程師方面會遇到同樣的問題,就是因為負責招聘的那些人不知道自己公司需要什麼樣的人,結果問問題時也問不到點子上。經過這幾年在行業裡的摸索,我總 結出了自己的一套很有效的面試前端工程的方法。

   有的應聘者說我不好對付,但留給他們這樣的印象也並非我所願。我覺得之所以他們說我不好對付,主要是因為我問他們問題時問得太細了。以前我曾專門寫過一些 東西,告訴應聘者怎麼才能通過我的面試(Surviving an interview with me)以及優秀的前面工程師應該具備什麼樣的素質(What makes a good front end engineer?),而我的面試可以說完全是按照那兩篇文章的標準進行的。我不會問一些特別偏門的問題,也不認為出幾道邏輯題就能考出人的真實水平。我 唯一的想法就是確定你能否勝任我們要招的這個職位。為此,我需要簡單地考察如下幾個方面。

基本知識 
   我們生活在網際網路時代,你想知道的任何事情幾乎都能在15分鐘內找到相關信息。可是,能找到信息並不等於你會使用它。我認為所有前端工程師至少都應 該掌握某些基本的知識,才能有效地完成自己的工作。如果一遇到問題,就停下工作上網四處搜索解決方案,怎麼可能保證按期完成工作呢?聽聽,還有誰在說「我 不知道,但我可以上網搜到。」請這些同學把手舉起來,讓大家認識一下(immediately raises a flag for me.)。下面我列出一些基本的知識點,這些都是我認為一名前端工程師(無論工作年頭長短)在沒有任何外來幫助的情況應該知道的。

DOM結構——兩個節點之間可能存在哪些關係以及如何在節點之間任意移動。

DOM操作——怎樣添加、移除、移動、複製、創建和查找節點。

事件——怎樣使用事件以及IE和DOM事件模型之間存在哪些主要差別。

XMLHttpRequest——這是什麼、怎樣完整地執行一次GET請求、怎樣檢測錯誤。

嚴格模式與混雜模式——如何觸發這兩種模式,區分它們有何意義。

盒模型——外邊距、內邊距和邊框之間的關係,IE 8以下版本的瀏覽器中的盒模型有什麼不同。

塊級元素與行內元素——怎麼用CSS控制它們、它們怎樣影響周圍的元素以及你覺得應該如何定義它們的樣式。

浮動元素——怎麼使用它們、它們有什麼問題以及怎麼解決這些問題。

HTML與XHTML——二者有什麼區別,你覺得應該使用哪一個並說出理由。

JSON——它是什麼、為什麼應該使用它、到底該怎麼使用它,說出實現細節來。 
重申一下,上述這些知識點都應該是你應該「想都不用想」的東西。我一開始問的所有問題都是想摸清你對所有這些領域知識的掌握程度。雖然上面列出的這些知識點並沒有面面俱到,但我覺得你至少應該掌握這些,才有可能跟我坐到一間辦公室裡來。

少量提問 
    我非常贊同面試者問的問題越少越好。反覆問應聘者各種問題既不公平,也很無聊。我在任何一次面試中,通常只問三個大問題,但每個問題又會涉及我所能想到的多個方面。回答每個大問題一般要經過幾個步驟,這樣我就可以在每個步驟中穿插著問一些小問題。比如說:

   現在有一個正顯示著Yahoo!股票價格的頁面。頁面上有一個按鈕,你可以單擊它來刷新價格,但不會重新加載頁面。請你描述一下實現這個功能的過程,假設伺服器會負責準備好正確的股票價格數據。 
這個問題牽扯到一組我想要考察的基本知識點:DOM結構、DOM操作、事件處理、XHR和JSON。如果我要求你對換一種處理股票價格的方式,或者 讓你在頁面中顯示其他信息,就可以把更多的知識點包括進來。對於經驗比較豐富應聘者,我也可以自如地擴展要考察的知識範圍,最簡單像JOSN與XML的區 別、安全問題、容量問題,等等。

    我還希望應聘者給出的任何解決方案中都不要使用庫。我想看到最原生態的代碼,你就當頁面中沒有包含任何庫。你說你對哪個庫了解多少多少,但我不能把 關於庫的知識作為評判能力的因素,因為庫是會隨時間變化的。我需要的是真正理解庫背後的機制,特別是能夠徒手寫出一個自己的庫的人。

解決問題 
    做為一名前端工程師,最值得高興的事莫過於解決同一個問題會有很多種不同的方法,而你要做的就是找出最合適的方法來。我在提問的時候,經常會在應聘 者解釋完一種方法後問他們還有沒有第二種方法。此時我會跟他們說,假設你的這個方法由於種種原因被否決了,那麼你還能不能給出另一種方法。這樣做可以達到 兩個目的。

   首先,可以測試出他們是否在毫無意義地複述書本中的東西。不能不承認,某些人確實有過目不忘的天賦,聽他們在那裡滔滔不絕地講,你會覺得他們什麼都 明白。可是,只要一跟這些人談到怎麼查找方案無效的原因,以及能否拿出一個新方案來,他們往往就傻眼了。這時候,如果我聽到「我不明白這個方案為什麼不夠 好」之類的反問,心裡立刻就明白我的問題已經超出了他們的能力範圍,而他們只是想拿自己死記硬背的結論來矇混過關。

   其次,可以測試出他們已經掌握的(還是那句話,「想都不用想」)瀏覽器技術知識。如果他們對瀏覽器平臺的核心知識有較好的理解,想出解決同一問題的不同方案根本沒有那麼難。

   對一名前端工程師來說,這絕對是最重要的能力。前端工程師在工作中遇到本該如此卻並未如此的難題(說你啦,IE6),應該說是一件很平常的事。一個方案無效就無計可施的人,做不了前端工程師。

   考核應聘者解決問題能力的另一層原因,與我的個人喜好有關。在搞清楚應聘者知道什麼不知道什麼之後,我就會想著問一個他們知識領域之外的問題。這樣 做的目的,就是想看看他們怎樣運用已有的知識解決新問題。在解決問題的每一步,我也準備了一些提示,以防有人會卡殼打艮(在我面前15分鐘一言不發,對我 評價這個人毫無幫助)。我真正感興趣的,是他們能夠從上一步前進到下一步。我希望看到一個人就在我眼前學到新知識。

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

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

   你怎麼知道誰對這種工作有沒有激情?實際上非常簡單。我只問一個簡單的問題:「目前你對什麼Web技術最感興趣?」這個問題永遠不會過期,而且也幾 乎不可能出錯……除非你答不上來。就眼下來說,我希望你對這個問題給出的技術中包括WebSocket、HTML、WebGL、客戶端資料庫,等等。只有 對Web開發充滿激情的人,才會堅持不懈地學習新知識、掌握新技能;這些人才是我真正想要的。當然,我會讓他們詳細解釋自己提到的技術,以保證他們不是隨 口說了幾個時髦的新詞彙。

最後一點 

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

   對於那些還沒有多少面試經驗的人,我總是喜歡告訴他們,面試完了只要問自己一個問題就行:你想以後跟這個人在一起共事嗎?如果不管為什麼,回答是不,那就是不。

相關焦點

  • web前端開發工程師面試題大全
    最近看到web群裡的人,特別關心面試web前端開發工程師時,面試官都會問那些問題,今天我整理了一份,web前端開發工程師崗位面試題的大全,大家可看看
  • 想成為一名web前端開發工程師,培訓和自學如何選擇
    對於編程人員來說,對前端樣式的要求就肯定越來越高,Web前端工作也變得越來越重要。很多人想要學習Web前端技術,成為一名Web前端工程師,web前端技術吸引著很多小夥伴想去學習,但是如何學習web前端技術,是報名web培訓班學習還是自學好呢?今天和大家一起探討一下:
  • web前端開發工程師的三種級別
    隨著信息技術不斷發展,前端技術的發展也經歷了不同的階段。前端概念隨著移動智慧型手機的普及被正式提出,混合APP開始被廣泛開發。近年來,由於前端技術開始實現工程化,一些企業前端開發任務逐漸向後端拓展,邏輯思維能力也逐漸成為前端開發人員必備的能力。
  • 【崗位解讀】(48)——網頁(WEB)前端開發工程師
    崗位解讀Web前端開發技術包括三個要素:HTML、CSS和JavaScript,但隨著RIA的流行和普及,Flash/Flex、Silverlight、XML和伺服器端語言也是前端開發工程師應該掌握的。隨著時代的發展,前端開發技術的三要素也演變成為現今的:html5,css3,jquery。
  • 為什麼2017年Web前端開發工程師薪資越來越高?
    所以在供不應求的前端招聘市場上,優秀的前端工程師才是有話語權的那一方。前端開發是做什麼的?前端是網際網路時代軟體產品研發中不可缺少的一種專業研發角色。從狹義上講,前端工程師使用 HTML、CSS、JavaScript 等專業技能和工具將產品UI設計稿實現成網站產品,涵蓋用戶PC端、移動端網頁,處理視覺和交互問題。
  • web前端開發工程師薪資是多少?你達標了嗎?
    web前端現在是一個比較火熱的職業,那web前端開發工程師薪資是多少?你達標了嗎?首先,與其他傳統行業相比,IT行業總體薪酬水平普遍大幅領先。而且網絡前端開發可以算得上是IT行業中相對較新的職位類別,市場人才儲備自然遠低於職位需求,這也是網絡前端行業薪酬持續高漲的主要原因。來自第三方統計平臺的數據顯示,全國Web前端開發工程師的平均工資是11.7K,其中高達35.7%為10K-15K。這個工資也許會覺得不太高,其實這個數字是全國的平均工資,具體每個城市的工資待遇肯定與當地的經濟發展密切相關。
  • 小白如何學習web前端開發知識
    在掌握基礎模塊的基礎上,Web前端工程師還必須進一步將技能層次化、系統化,從而能夠視線頁面架構、移動頁面開發等等任務。不僅新人小白需要努力,就連已經入職0~3年的前端開發工程師,也需要不斷學習了解前端高階知識和技能,不斷修煉自身武功。
  • 廣州web前端開發前景怎麼樣?前端開發薪資有多少?
    廣州web前端開發前景怎麼樣?前端開發薪資有多少?下面和千鋒廣州小編一起來看看吧!Web前端開發前景怎麼樣?Web前端火了那麼久,現在學習還來的及嗎?網際網路行業的快速發展,帶動了更多的網際網路企業的崛起,更多的企業當然需要更多有些的人才,而前端開發近幾年一直是很熱門的職位之一,而且人才稀缺,更多的企業高薪招聘優秀的前端人才,所以,現在想要學習web前端是一個不錯的選擇。現在網際網路的大環境的發展如日中天,網絡已經深入到每個人生活的的各個方面。
  • web前端和後端的區別 web前端開發薪資
    web前端和後端的區別 Web前端: 顧名思義是來做Web的前端的。我們這裡所說的前端泛指Web前端,也就是在Web應用中用戶可以看得見碰得著的東西。包括Web頁面的結構、Web的外觀視覺表現以及Web層面的交互實現。
  • 2020Web前端開發常見面試題匯總-開課吧
    以下是小編為大家整理的web前端面試題及答案,供各位參考。Web前端面試題:異步請求適合在哪個生命周期調?解析:官實例的異步請求是在mounted命周期中調的,實際上也可以在created命周期中調。Web前端面試題:各個生命周期的作用是什麼?
  • 要成為優秀的web前端開發工程師,這七點必須知道!
    無論你是後端開發,設計行業,還是零基礎只要您對網站開發有興趣,都可以加入到前端開發的行業中來,這是一個在網際網路企業中必不可少的高薪行業。許多人對web前端有著濃厚的興趣,但是卻不知如何學起,今天給大家支支招,7步助你成為web前端開發工程師。
  • IT行業Web前端開發技術書籍推薦
    但IT行業不是用計算機三個字就能簡單概括的,僅僅從職位角度看,IT行業就有算法工程師、嵌入式工程師、移動應用開發工程師、前端、伺服器開發工程師、遊戲開發工程師、PC桌面應用開發、系統運維工程師、網絡安全工程師、AI工程師、數據工程師等。以至於很多人在進行技術學習時無從下手,為了讓大家更好的認識和了解IT行業,九州連線就Web前端開發技術整理出一份閱讀清單。
  • 工信部搞了個web前端開發工程師證書,程式設計師也要持證上崗了?
    而Web前端開發工程師,則主要進行網站開發,優化,完善的工作。簡單地說,它的主要職能就是把網站的界面更好地呈現給用戶。無論是開發難度上,還是開發方式上,現在的網頁製作都更接近傳統的網站後臺開發,所以現在不再叫網頁製作,而是叫Web前端開發。
  • 成為Web前端全棧工程師,工資竟然這麼高!
    近幾年來網際網路的不斷發展,web前端開發不斷被企業看重,很多企業是需要用到這門技術開發的,但同時,現在的企業更希望能夠招聘到既能夠完成前端開發,又對後端具備一定程度了解的全棧工程師。由於全棧工程師目前市場上相對較少,企業招不到人,所以就出現薪資一路上漲情況,使得相關崗位平均薪資一直處在高位!
  • 答對這40道經典web前端面試題,想不拿到offer都難!
    想成功就業web前端工程師,想要能高薪就業,那麼除了好的web前端技能以外,還得有好的面試技巧,如果提前就了解更多企業的面試要求及面試題目,那麼可以讓我們的面試成功的機率大大的提高。今天小編就整理了一些經典的web前端面試題,希望可以祝大家一臂之力。一、HTML常見題目01、Doctype作用?嚴格模式與混雜模式如何區分?它們有何意義?02、HTML5為什麼只需要寫?
  • 好程式設計師web培訓簡述web前端開發工具有哪些
    好程式設計師web培訓簡述web前端開發工具有哪些,隨著網際網路技術的發展,用戶對於web網頁的依賴性越來越重,這對於web前端開發工程師的要求也在不斷提高。作為開發者來說,開發工作需要依賴很多開發工具的協助,才能更高效的完美的呈現出炫酷的頁面。
  • Web前端工程師就業薪資有多少?新人能月入過萬嗎?
    專業網際網路教育,26大課程體系點這裡 免費領取 體驗名額據統計,國外的前端開發人員和後端開發人員比例約為1:1,但是國內比例卻在1:3以下,web前端開發職位的人才缺口巨大。根據網上統計數據,上海Web前端開發工程師這一職位的月平均收入為1.5萬元,工作經驗達到3年的web前端工程師甚至達到3萬元。而且Web前端工程師一般工作1年左右,年薪一般就都能有15W,工作5年以上的通常能成為網際網路公司技術總監或產品經理,年薪達到25W左右。我們先用三個數據了解一下。
  • 走出校園成為一名web前端工程師一定要經歷這些苦難嗎?
    走出校園,web前端工程師為什麼要經歷這些入職初期的苦難歷程?因為——對於web前端工程師這種極為講究應用性的、非常前沿的學科,很多已經印刷成冊的經驗,雖然在基礎技術上會有相應的指導性,但對做具體項目,都會變得不夠用,難怪剛去參加工作的菜鳥都會變得非常辛苦。以至於,工作3個月的web前端工程師經常表示
  • Web前端真的是青春飯嗎?前端開發程式設計師的出路在哪裡?
    本文,千鋒廣州前端老師詳細解讀下Web前端的一些知識,讓你知道Web前端並不是青春飯!1、Web前端工程師的要求一名優秀的Web前端工程師,需要Java語言基礎紮實,具有良好的規範開發習慣;熟悉常用的設計模式,熟練使用Vue、Angular技術棧開發;能夠熟練使用angular、vue、echarts、jquery等框架進行傳統開發;要熟悉MVVM、MVC開發模式;熟悉前端工程化、自動化技術,可以根據需求配置
  • 一個Web前端工程師或程式設計師的發展方向,未來困境及窮途末路
    如果你剛好是一個Web前端工程師,或者你將要從事web前端工作。你應該和我有同樣的感慨,web前端技術到了自己的天花板,前端工作我能做多少年?3年或5年?自己的職業規劃應該怎麼樣?收入為什麼沒有增長?前端工作做久了感覺有點乏味?等等的問題曾經從心頭一閃而過。