筆者讀大三,前端小白一枚,正在準備春招,人生第一次面試,投了頭條前端,總共經歷了四輪技術面試和一輪hr面,很少說,直接上題javascript
自我介紹,而後問了爲何學習前端
算法:實現36進制轉換
簡述https原理,以及與http的區別
操做系統中進程和線程怎麼通訊
node中cluster是怎樣開啓多進程的,而且一個端口能夠被多個進程監聽嗎
實現原生ajax
vue-router源碼
vue原理(手寫代碼,實現數據劫持)
算法:樹的遍歷有幾種方式,實現下層次遍歷
算法:判斷對稱二叉樹
第一次面試,當時比較緊張,面試官很和善,面試中問到操做系統的進程,當時不記得操做系統, 就提到了node多進程,而後面試官就問了cluster是怎樣開啓多進程的,而且一個端口能夠被多個 進程監聽嗎?答完後面試官就問了後面寫完vue數據劫持的時候,面試官又問了Object.defineProperty除了 set get外還有什麼屬性,我回答了configurable enumerable。vue-router主要提到了hashchange 事件等,順便跟面試官聊了一下h5的historyAPI。時間總共是50分鐘左右,一面完了後面試官讓 我等五分鐘,接下來二面就開始了 複製代碼css
介紹一下項目中的難點
let var const 有什麼區別
你知道哪些http頭部
怎麼與服務端保持鏈接
http請求跨域問題,你都知道哪些解決跨域的方法
webpack怎麼優化
你瞭解哪些請求方法,分別有哪些做用和不一樣
你以爲typescript和javascript有什麼區別
typescript你都用過哪些類型
typescript中type和interface的區別
react怎麼優化
算法題:合併亂序區間
筆者在回答http頭部的時候,順帶跟面試官聊到了瀏覽器緩存,回答跨域的時候,面試官又 讓我用jsonp實現一下跨域,回答webpack的時候提到了happypack和treeshaking,面試官就 順帶問了一下他們的做用,算法題我當時沒有寫出來(主要是由於菜),二面大概40多分鐘結 束,面試完後面試官說稍後hr會聯繫我,讓我注意保持通訊,還沒過一小時,hr打電話約我 第三次面試時間,不得不說,字節的效率真的高 複製代碼前端
你瞭解node多進程嗎
node進程中怎麼通訊
node能夠開啓多線程嗎
算法題:老師分餅乾,每一個孩子只能獲得一塊餅乾,但每一個孩子想要的餅乾大小不盡相同。 目標是儘可能讓更多的孩子滿意。 如孩子的要求是 1, 3, 5, 4, 2,餅乾是1, 1, 最多能讓1個孩子知足。如孩子的要求是 10, 9, 8, 7, 6,餅乾是7, 6, 5,最多能 讓2個孩子知足。
算法題:給定一個正整數數列a, 對於其每一個區間, 咱們均可以計算一個X值; X值的定義以下: 對於任意區間, 其X值等於區間內最小的那個數乘上區間內全部數和; 如今須要你找出數列a的全部區間中, X值最大的那個區間; 如數列a爲: 3 1 6 4 5 2; 則X值最大的區間爲6, 4, 5, X = 4 * (6+4+5) = 60;
三面大概是1小時,面試官比較冷漠,就問你知道不知道,算法思路,而後實現這個算法, 面試完感受涼涼,可是次日就收到hr到來的電話,約下一輪的面試時間。 複製代碼vue
算法題:兩個有序鏈表和併成一個有序鏈表
https與http有什麼區別(一面恰好也被問到)
cookie有哪些屬性
cookie,session,localstorage,sessionstorage有什麼區別
怎麼禁止js訪問cookie
position有哪些屬性
你知道哪些狀態碼
options請求方法有什麼用
less,sass它們的做用是什麼
平時怎麼學習
你何時能夠來實現
能實習多久
四面算是比較簡單的一次面試,面完後次日晚上hr打來了電話,約與hr面的時間 複製代碼java
你何時接觸前端的
平時怎麼學習
對將來的規劃是什麼
你對哪一個項目印象深入,說一下項目的難點
你對咱們公司有什麼瞭解
能實習多久 等等
hr面主要聊一聊人生理想,將來規劃啥的,大概半小時的時間 複製代碼node
四輪技術面+一輪hr面結束,學習到了很多,面試也是一個學習檢測本身的過程,面試前大概複習了 一週的時間,把之前的代碼看了一下,字節跳動比較注重算法,面試前刷了下leetcode和劍指offer, 也刷了些在牛客網上的面經。。大概就說這些了,寫代碼去了~react
祝你們都能收穫大廠offer~webpack
我在面試前準備了好久,刷了不少大廠面試題,無償分享給你們,算是一個感恩回饋吧。web
有須要的朋友能夠 點擊這裏免費獲取題目+解析PDF.
分了HTML、css、JavaScript、React、Vue、瀏覽器、服務端與網絡、算法等等.....面試
篇幅有限,僅展現部份內容