半年前端寒冬小廠面試經

都說程序員應該多出去面試,否則不知道本身有多菜,本着我是菜雞我怕誰的鐵頭精神,這兩天也積極投遞簡歷,尋求面試機會,可是由於經驗不足的問題,不少大公司連簡歷都過不了,只有一些創業公司給了面試機會,不過創業公司問的也挺具表明性的,不敢苟藏,分享出來。css

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

由於是創業公司,就不報公司名字了(反正沒人聽過),是一家作區塊鏈的。vue

一面:
  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,好了,沒了。
相關文章
相關標籤/搜索