在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

前端工程師面試技巧

工程師人生 ? 來源:網絡整理 ? 作者:工程師吳畏 ? 2018-10-15 10:57 ? 次閱讀

我在Twitter和Stripe的一部分工作內容是面試前端工程師。其實關于面試你可能很有自己的一套,這里我想跟你們分享一下我常用的方法。

不過我想先給你們一個忠告,招聘是一件非常艱巨的任務,在45分鐘內指出一名侯選人是否合適是你需要完成的任務。不過面試的最大問題是每個人都會想著去雇傭他們自己,任何通過我面試的人想法大都跟我差不多(注:因為你總會問你自己關心和知道的問題),這其實不是一件好事。因此我之前的決定都有很大碰運氣的成分。不過,這也是一個良好的開端。

最理想的情況下是侯選人有一個全面的Github“簡歷”,這樣我們可以同時通過他們的開源項目了解他們。我經常會瀏覽他們的代碼然后針對一些特定的代碼設計問一些問題。如果侯選人有非常好的開源項目記錄,接下來的面試會直接去檢驗他們的團隊協作精神。否則,我不得不去問他們一些代碼方面的問題了。

我的面試非常有實踐性,全部是寫代碼。沒有抽象和理論上的東西(注:作者是個行業派),其他的面試官很可能會問這些問題,但是我認為他們前端編程的能力是值得商榷的。我問的問題大多看上去非常簡單,但是每組問題都能讓我考查侯選人某一方面JavaScript的知識。

第一部分:Object Prototypes (對象原型)

剛開始很簡單。我會讓侯選人去定義一個方法,傳入一個string類型的參數,然后將string的每個字符間加個空格返回,例如:

spacify(‘hello world’) // =》 ‘h e l l o w o r l d’

盡管這個問題似乎非常簡單,其實這是一個很好的開始,尤其是對于那些未經過電話面試的侯選人——他們很多人聲稱精通JavaScript,但通常連一個簡單的方法都不會寫。

下面是正確答案,有時侯選人可能會用一個循環,這也是一種可接受的答案。

function spacify(str) {

return str.split(‘’).join(‘ ’);

}

接下來,我會問侯選人,如何把這個方法放入String對象上面,例如:

‘hello world’.spacify();

問這個問題可以讓我考察侯選人是否對function prototypes(方法原型)有一個基本的理解。這個問題會經常引起一些有意思的討論:直接在對象的原型(prototypes)上添加方法是否安全,尤其是在Object對象上。最后的答案可能會像這樣:

String.prototype.spacify = function(){

return this.split(‘’).join(‘ ’);

};

到這兒,我通常會讓侯選人解釋一下函數聲明和函數表達式的區別。

第二部分:參數 arguments

下一步我會問一些簡單的問題去考察侯選人是否理解參數(arguments)對象。我會讓他們定義一個未定義的log方法作為開始。

log(‘hello world’)

我會讓侯選人去定義log,然后它可以代理console.log的方法。正確的答案是下面幾行代碼,其實更好的侯選人會直接使用apply.

function log(msg){

console.log(msg);

}

他們一旦寫好了,我就會說我要改變我調用log的方式,傳入多個參數。我會強調我傳入參數的個數是不定的,可不止兩個。這里我舉了一個傳兩個參數的例子。

log(‘hello’, ‘world’);

希望你的侯選人可以直接使用apply。有時人他們可能會把apply和call搞混了,不過你可以提醒他們讓他們微調一下。傳入console的上下文也非常重要。

function log(){

console.log.apply(console, arguments);

};

接下來我會讓侯選人給每一個log消息添加一個“(app)”的前輟,比如:

‘(app) hello world’

現在可能有點麻煩了。好的侯選人知道arugments是一個偽數組,然后會將他轉化成為標準數組。通常方法是使用Array.prototype.slice,像這樣:

function log(){

var args = Array.prototype.slice.call(arguments);

args.unshift(‘(app)’);

console.log.apply(console, args);

};

第三部分:上下文

下一組問題是考察侯選人對上下文和this的理解。我先定義了下面一個例子。注意count屬性不是只讀取當前下下文的。

var User = {

count: 1,

getCount: function() {

return this.count;

}

};

我又寫了下面幾行,然后問侯選人log輸出的會是什么。

console.log(User.getCount());

var func = User.getCount;

console.log(func());

這種情況下,正確的答案是1和undefined。你會很吃驚,因為有很多人被這種最基礎的上下文問題絆倒。func是在winodw的上下文中被執行的,所以會訪問不到count屬性。我向侯選人解釋了這點,然后問他們怎么樣保證User總是能訪問到func的上下文,即返回正即的值:1

正確的答案是使用Function.prototype.bind,例如:

var func = User.getCount.bind(User);

console.log(func());

接下來我通常會說這個方法對老版本的瀏覽器不起作用,然后讓侯選人去解決這個問題。很多弱一些的侯選人在這個問題上犯難了,但是對于你來說雇傭一個理解apply和call的侯選人非常重要。

Function.prototype.bind = Function.prototype.bind || function(context){

var self = this;

return function(){

return self.apply(context, arguments);

};

}

第四部分:彈出窗口(Overlay library)

面試的最后一部分,我會讓侯選人做一些實踐,通過做一個‘彈出窗口’的庫。我發現這個非常有用,它可以全面地展示一名前端工程師的技能:HTML,CSS和JavaScript。如果侯選人通過了前面的面試,我會馬上讓他們回答這個問題。

實施方案是由侯選人自己決定的,但是我也希望他們能通過以下幾點來實現:

在遮罩中最好使用position中的fixed代替absolute屬性,這樣即使在滾動的時侯,也能始終讓遮罩始蓋住整個窗口。當侯選人忽略時我會提示他們這一點,并讓他們解釋fixed和absolute定位的區別。

.overlay {

position: fixed;

left: 0;

right: 0;

bottom: 0;

top: 0;

background: rgba(0,0,0,.8);

}

他們如何讓里面的內容居中也是需要考察的一點。一些侯選人會選擇CSS和絕對定位,如果內容有固定的寬、高這是可行的。否則就要使用JavaScript.

.overlay article {

position: absolute;

left: 50%;

top: 50%;

margin: -200px 0 0 -200px;

width: 400px;

height: 400px;

}

我也會讓侯選人確保當遮罩被點擊時要自動關閉,這會很好地考查事件冒泡機制的機會。通常侯選人會在overlay上面直接綁定一個點擊關閉的方法。

$(‘.overlay’).click(closeOverlay);

這是個方法,不過直到你認識到點擊窗口里面的東西也會關閉overlay的時侯——這明顯是個BUG。解決方法是檢查事件的觸發對象和綁定對象是否一致,從而確定事件不是從子元素里面冒上來的,就像這樣:

$(‘.overlay’).click(function(e){

if (e.target == e.currentTarget)

closeOverlay();

});

其他方面

當然這些問題只能覆蓋前端一點點的知識的,還有很多其他的方面你有可能會問到,像性能,HTML5 API, AMD和CommonJS模塊模型,構造函數(constructors),類型和盒子模型(box model)。根據侯選人的情況,我經常會隨機提些問題。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 工程師
    +關注

    關注

    59

    文章

    1589

    瀏覽量

    69279
  • 前端
    +關注

    關注

    1

    文章

    214

    瀏覽量

    18174
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    硬件工程師面試/筆試經典 100 題

    分享一些常見的硬件工程師面試/筆試題。公眾號后臺回復關鍵字:100題,可獲取完整的PDF。--END--免責聲明:本文轉自網絡,版權歸原作者所有,如涉及作品版權問題,請及時與我們聯系,謝謝!加入粉絲
    的頭像 發表于 04-30 19:34 ?396次閱讀
    硬件<b class='flag-5'>工程師</b><b class='flag-5'>面試</b>/筆試經典 100 題

    (仰天長嘯)為什么受傷的總是硬件工程師...#MDD#MDD辰達半導體 #電子工程師

    電子工程師
    MDD辰達半導體
    發布于 :2025年04月27日 18:21:47

    問,成為硬件工程師需要幾只手?#硬件工程師 #YXC晶振 #揚興科技 #搞笑

    硬件工程師
    揚興科技
    發布于 :2025年04月25日 17:15:37

    長沙怎么這么難招硬件工程師

    長沙好難招硬件工程師呀,大部分面試的只有課程設計經驗,沒有額外學習硬件或者動手做東西,招聘也太難了。有實力的請聯系 pengyushi@haominoe.com*附件:HAOMIN 招聘啟事-初級硬件工程師.pdf
    發表于 04-10 15:44

    硬件工程師:回答我!#回答我 #硬件工程師 #YXC晶振 #揚興科技

    硬件工程師
    揚興科技
    發布于 :2025年03月25日 18:46:59

    一招拿捏電子工程師#被AI拿捏了 #電子工程師 #電子電工

    電子工程師
    安泰小課堂
    發布于 :2025年03月25日 17:30:51

    面試題】人工智能工程師高頻面試題匯總:概率論與統計篇(題目+答案)

    ?隨著人工智能技術的突飛猛進,AI工程師成為了眾多求職者夢寐以求的職業。想要拿下這份工作,面試的時候得展示出你不僅技術過硬,還得能解決問題。所以,提前準備一些面試常問的問題,比如概率論與統計知識
    的頭像 發表于 01-22 13:00 ?857次閱讀
    【<b class='flag-5'>面試</b>題】人工智能<b class='flag-5'>工程師</b>高頻<b class='flag-5'>面試</b>題匯總:概率論與統計篇(題目+答案)

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

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

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

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

    人工智能工程師高頻面試題匯總——機器學習篇

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

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

    電子工程師
    安泰小課堂
    發布于 :2024年07月25日 11:31:02
    主站蜘蛛池模板: 一级不卡毛片免费 | 一本久草 | 欧美性猛片xxxxⅹ免费 | 国产精品美女在线观看 | 人人做人人爽国产视 | 永久在线观看www免费视频 | 免费网站在线视频美女被 | 你懂的欧美 | 亚州第一视频 | 色噜噜狠狠成人网 | 噜噜色噜噜 | 在线视频网址 | 91黄视频在线观看 | 男女免费网站 | 美女露出扒开尿口让男人桶 | 爱爱小视频免费看 | 亚洲人与牲动交xxxxbbbb | 女人精aaaa片一级毛片女女 | 伊人伊成久久人综合网777 | 国产叼嘿视频网站在线观看 | 国产精品黄网站免费进入 | 免费边摸边吃奶边叫床视频gif | 五月天婷婷电影 | 国产精品国产三级在线高清观看 | 日本69xxxxxxxx69 | 人人玩人人弄人人曰 | 午夜黄色毛片 | 国产小视频在线观看免费 | 色偷偷88欧美精品久久久 | 一级片免费在线观看视频 | 成人免费午间影院在线观看 | 1024成人 | 欧美特黄视频在线观看 | 日本一区二区三区在线网 | 久久香蕉精品视频 | 欧美激情综合色综合啪啪五月 | 成人午夜免费视频 | 黄网观看 | 国产1区二区 | 另类激情亚洲 | 中文字幕第五页 |