半年前端寒冬小廠面試經

白落梅發表於2019-01-19

都說程式設計師應該多出去面試,不然不知道自己有多菜,本著我是菜雞我怕誰的鐵頭精神,這兩天也積極投遞簡歷,尋求面試機會,但是因為經驗不足的問題,很多大公司連簡歷都過不了,只有一些創業公司給了面試機會,不過創業公司問的也挺具代表性的,不敢苟藏,分享出來。

首先自我介紹一下,我叫XXX,武漢某211小本,18年6月畢業,剛畢業的時候寫了三個月的java(Ctrl C + Ctrl V);三個月前,前端基礎很薄弱,連引用型別和值型別都傻傻分不清楚,是一個24k如假包換的菜雞。經過三個月的學習,自我感覺長進了不少(或許是錯覺),結果面試下來還是覺得,嗯,果然還是菜雞。

因為是創業公司,就不報公司名字了(反正沒人聽過),是一家做區塊鏈的。

一面:
  1. 一道演算法題,大意如下:1由一個1組成(1 = 1),2由一個2或兩個1組成(2 = 1 + 1; 2 = 2),3由一個3,3個一,一個1和一個2組成(3 = 3; 3 = 1+1+1; 3=1+2),問n有幾種組成方式。(dp,找出dp表示式即可)
  2. 說一下陣列去重的方式(這個芽羽大神的部落格上講的很清楚,想了解的可以去看一下,set和O(n^2)複雜度的這兩個方法肯定不是面試官想聽的,排序去重,indexOf,es6等是比較好的答案,為了裝逼,我還說了一個字首樹去重)
  3. 你說到字首樹去重,那你講一下怎麼做(裝逼成功,想了解字首樹的自己百度去吧,很多資料)
  4. 說一下vue雙向繫結的原理(這裡從原始碼層面講了十多分鐘,效果應該還不錯)
  5. 平時用過哪些es6的特性(let,const,模板字串,promise,箭頭函式等等)
  6. promise是解決什麼的
  7. 如果要你實現一個promise,你該怎麼實現(這個因為看過promise的實現方法,也答得不錯)
  8. 有了解async,await嗎(generator的語法糖,使非同步程式碼表現得像同步)
  9. 那你說說generator呢
  10. 講一下XSS(對不起,只知道是安全方面的,瞭解的不多)
  11. 有了解過weex,rn這些嗎(沒,目前只做過pc端)
  12. node呢(沒)
  13. 說說跨域吧(瀏覽器有個同源策略,巴拉巴拉,解決方案是,後端設定cors,前後端配合jsonp,個人覺得最好的方案是修改nginx配置)
  14. 講一下閉包(這個要講的東西很多,能夠把作用域,作用域鏈,執行上下文棧講清楚即可)
  15. 如何實現一個居中佈局(老生常談了)
  16. 各種奇奇怪怪的css,具體題目忘了,反正css答得不好
一面大概面了一個多小時,我以為掛了,結果讓我等一下,所以又苟到了二面:
  1. 講一下vue資料驅動原理
  2. 講一下vNode,為什麼要用vNode,講一下diff演算法
  3. 講一下let和var的區別
  4. 你剛剛說到暫時性死區,講一下暫時性死區呢
  5. 箭頭函式和普通函式的區別(this?)
  6. 怎麼實現promise的all方法
  7. 講一下瀏覽器的快取
  8. js的繼承機制
  9. 說一下閉包
  10. 瞭解過哪些設計模式
  11. 怎麼實現一個單例
  12. 平時獲取知識的渠道(掘金,github,公眾號,微信群?)
  13. 有做過weex,rn這些嗎(沒有)
  14. 怎麼沒去試試大廠(因為菜啊)
  15. 前端打包工具有了解嗎(webpack只跟著官網配過,沒在專案中實操過)
二面大概面了四十多分鐘,我以為要讓我走了,結果讓我等一下,來了hr,好了,沒了。

相關文章