2018,工作快兩年了,趁著春招的尾巴,面了幾個大廠,現記錄下這次的面試路程。
美團
去美團面試時,在路上問路正好問到美團的同學,美女人很友好,直接帶我上去了,哈哈。
一面
首先讓講解了下自己所做的一些項目,然後面試官揪著我的講解提了些問題:css盒模型和動畫,網站主題實現方案,小程序webview裡的js-sdk能做什麼不能做什麼,iOS下input 無法自動聚焦的問題。這種基於項目的提問,只要項目是自己做的,並且有深刻印象的話回答起來應該說都是送分題
二面
遇到的項目難點、怎麼解決的?想和什麼樣的人在一起?為什麼換工作?你認為優秀的人具有什麼樣的特質?你認為自己具有什麼樣的優勢和劣勢?很明顯這是技術經理的風格,這一面聊的比較久,可以看出還是比較滿意
Hr面
剛剛面試自己覺得如何?給自己打多少分?答80,那20分主要差在哪裡? 有下載我們的app麼?有了解我們的渠道有哪些麼?很HR哈
美團還是非常爽快的,第二天在我面試騰訊的時候,就給了答覆,一個挺不錯的offer
騰訊
一面
css模型,聖盃佈局以及變異,js原型鏈,手寫代碼實現事件委託和閉包,代碼中寫到了map函數,於是又要求手寫實現一個map函數,vue實現原理,react和vue的區別,http響應頭/狀態碼,http緩存,跨域的解決方案、性能優化,站點安全等還有好多,總體來說考察比較全面,理論+實踐
二面
首先讓講解下自己的項目,對其中的一個項目問了很多,然後又一起討論了下淘寶的modulesconcat nginx插件,後面還問了vue diff算法,https所用的加密算法,ssl握手過程
三面
總監面,項目講解,遇到的困難和亮點,團隊大小和pv,換工作的原因
四面:
項目講解,對項目中我提到的問題深入追問,網站安全等
騰訊的口頭offer給的挺快的,幾天後就給了,但是大廠流程大家都懂得,offer審批一個禮拜,背調兩個禮拜,前前後後也一個多月了
此時我因為已經拿到了美團的offer,騰訊的面試當時自我感覺也挺有戲的,本來就不打算繼續面試了,後來考慮各種因素還是去聊了下。
頭條
一面
- 給你一段代碼,問輸出?主要考察js的event loop機制
- 手寫實現以下事件委託函數
function delegate(parent, selector, handle) {}
- 手寫實現inherit函數
- 手寫實現throttle函數
- 算法題,手寫實現
- css實現自適應的正方形
- 你有什麼想問的麼?
二面
- 算法題,手寫實現
- 實現一個repeat函數,主要是閉包的應用
- 請解釋XSS與CSRF分別是什麼,兩者有什麼聯繫?如何防禦?
- 我們提升前端加載性能通常採用以下手段,請分別說明為什麼採用這些手段?除以下幾點外,你所使用的其他手段還有哪些?
靜態資源合併/靜態資源通過CDN加載,並採用多域名 /採用HTTP緩存機制
- 寫過哪些webpack 插件?
- 有了解軟件設計的一些知識/設計模式麼?
- 技術選型你是怎麼考慮的?
- 有什麼我沒問到但你想和我聊的?
三面
- 介紹下項目
- 項目提到組件,問如果需要設計一個dialog,你會怎麼設計它,有哪些API?
- 如果我需要設計一個拖拽的dialog,怎麼實現?手寫代碼
- 手寫代碼實現一下Array.prototype.trim 這個函數,並寫個測試用例跑給我看下
- 你認為工作做好的標準有哪些?
- 有什麼你想和我聊的?
HR面
常規問題,優點缺點,換工作的原因等,手中的offer,期望薪資,最後給我介紹了下頭條文化和福利
頭條確實很多手寫代碼,一直不停的讓你手寫代碼,寫的都是基礎函數+算法。不過頭條的offer綜合來看最滿意
蔚來
一面
css基礎,盒模型和聖盃佈局,BFC,js原型鏈,項目講解中提到了event emitter,於是讓我手寫代碼實現了下,站點性能優化,最後問了個算法題,手寫實現
二面
css實現單行截取,多行截取,tag顯示,開發工具,對前端的看法,目前關注的新技術領域
三面
總監就問了一道編程題,手寫代碼實現(其實就是樹的遍歷,遞歸和非遞歸實現),隨後問了下對於蔚來的看法,談了很多人生大道理,以過來人告訴我做技術儘量簡單些,把事情做好,有符合自己預期的報酬,其他的自然會隨之而來,深以為然
Hr面
換工作的原因,手裡offer的情況,期望薪資,如果我給你發offer,你還會去看BAT的機會麼?
蔚來表現非常惜才,offer帶點期權。
總結
面試問題
你會發現上面的面試題目裡基本都是js和css基礎+手寫代碼+其他一些軟實力考察,很少問到vue/react框架的問題,所以說明大平臺前端相對來說還是很看重基礎。關於框架我是這麼想的:框架其實變化很快,學習框架多了,你會發現很多相融相通的地方,而且學習框架決不能停留在API上是需要去研究源碼的,領悟裡面的精妙之處,從而反哺基礎知識,提高整體編程水平和設計水平。框架源碼研究我建議從underscore開始,把這個讀懂並熟練手寫實現裡面的方法。
這次面試也是對自己這一年來努力和實踐的一次效果檢驗,出去看了下,發現自己這一年長進還是挺快的,平時注重基礎,對問題的深入研究,多搗鼓和實踐自己想的一些東西,以點扯線最後成面的學習方法是真的不錯,效果斐然。
以上面試問題僅憑回憶書寫,可能會有疏漏多包涵,感謝大家的閱讀。
閱讀更多 小菜鳥程序員 的文章