阿里、網易、滴滴共十次前端面試碰到的問題
轉載:https://segmentfault.com/a/1190000009662029
前一段時間一直在不斷地面試,無奈個人技術能力有限、專案經驗缺乏,最終都沒有進入到HR面試環節,全~~掛~~了~~
面試了這麼多,結果不是太好,有點兒受打擊,也促使我近期靜下心來反思自己的問題:哪些技術知識掌握的還不錯,哪些還有待提高,哪些是需要去惡補的。
阿里面試了三個部門,都是在二面掛的,網易和滴滴也是各兩輪技術面試,加一起就是十次面試經歷。在此回憶總結一下,既是給社群朋友的一個參考,反饋社群,更是給自己一個好好的總結。
HTML
-
HTML5新增了哪些內容或API,使用過哪些
-
input和textarea的區別
-
用一個div模擬textarea的實現
CSS
-
左右佈局:左邊定寬、右邊自適應,不少於3種方法
-
CSS3用過哪些新特性
-
BFC、IFC
-
對柵格的理解
-
(水平)居中有哪些實現方式
-
1畫素邊框問題
JavaScript
-
圖片懶載入
-
實現頁面載入進度條
-
事件委託
-
實現extend函式
-
為什麼會有跨域的問題以及解決方式
-
jsonp原理、postMessage原理
-
實現拖拽功能,比如把5個兄弟節點中的最後一個節點拖拽到節點1和節點2之間
-
動畫:setTimeout何時執行,requestAnimationFrame的優點
-
手寫parseInt的實現:要求簡單一些,把字串型的數字轉化為真正的數字即可,但不能使用JS原生的字串轉數字的API,比如Number()
-
編寫分頁器元件的時候,為了減少服務端查詢次數,點選“下一頁”怎樣能確保還有資料可以載入(請求資料不會為空)?
-
ES6新增了哪些特性,使用過哪些,也有當場看程式碼說輸出結果的
-
JS模組化的實踐
-
require.js的實現原理(如果使用過webpack,進一步會問,兩者打包的異同及優缺點)
-
promise的實現原理,進一步會問async、await是否使用過
-
實現gulp的功能
-
使用前端框架(angular/vue/react)帶來哪些好處,相對於使用jQuery
-
vue雙向資料繫結的實現
-
單頁應用,如何實現其路由功能
效能優化
-
專案中使用過哪些優化方法
-
輸入一個URL,Enter之後發生了什麼
-
(承上)頁面的渲染過程
-
優化中會提到快取的問題,問:靜態資源或者介面等如何做快取優化
-
頁面DOM節點太多,會出現什麼問題?如何優化?
專案經歷
這些大公司招聘都是高階工程師起步,所以對簡歷上的專案會刨根問底。很多很多問題都是由專案中拓展開的,像優化相關的東西,還有前面提到的require.js、promise、gulp,專案中用到了某項技術,高階工程師的要求是:不僅會用,更要知道其原理。對自己的提醒:專案中用到的技術,不能說完全掌握其原理吧,但大致的實現還是有必要了解一下的。
-
介紹一下你做的這個專案,進一步細問:整個專案有哪些模組,你主要負責哪些
-
你在專案中的角色
-
你在專案中做的最出彩的一個地方
-
碰到過什麼樣的困難,怎麼解決的
-
(如果你是這個專案的負責人),任務怎麼分配的,有沒有關注過團隊成員的成長問題
-
前端安全問題:CSRF和XSS
其他
-
為什麼選擇做前端(我靠,我都快轉前端兩年了,還在問這個問題啊...)
-
你希望進入一個什麼樣的團隊
-
你有什麼問題想問我(面試官)的嗎?
前前後後有兩個月時間,暫時只回憶起這麼多了,如果還有其他的,後期我會補上。
webpack其實也是必問的,由於我說還沒使用過webpack,只是瞭解,寫過demo,面試官就沒問太深。如果你的簡歷中有提到webpack,請提前準備好,比如webpack打包原理、如何寫webpack外掛等。
面試阿里雲那個崗位的時候,有要求演算法和資料結構,有能力者多多準備吧。
阿里、網易的面試幾乎都是圍繞專案展開的,所以提醒自己搬磚的時候多想想、多看看,多站在一個高度去看整個專案:用到什麼技術,技術實現原理是什麼,專案框架怎麼搭建的,採取安全措施了嗎...
後記
有幾個崗位感覺就是掛在了專案上。自己做過一個前後端分離專案,但是經過幾次面試,發現這個專案還存在某些問題,比如:整個登入註冊系統是不完善的,關於許可權的處理上甚至是有很大缺陷的;這個專案的node層只是起到構建前端專案(gulp)、渲染index.ejs、代理轉發api介面等作用,但是面試官指出說你這個node也太簡單了,導致我都在懷疑這是個假的前後端分離...還是需要大神帶多見見世面啊,求帶...
雖然五次面試都沒成功,但自己也收穫了很多很多:認識了大牛hb,一個超有文藝氣息的資深前端;多謝fw大大幫我內推阿里,十分感謝您對我的認可;也見到了平時只能在視訊上看到的cjf老師,謝謝您的指點;對高階前端工程師所具備的技能有了更清晰的認識;肯定也增加了很多面試經驗...
再好好提升一下,打算過段時間重新上陣,也祝自己多點好運氣,早日進入心儀的企業,畢竟,當初來杭州的時候就是以網易、阿里為目標的。