筆者讀大三,前端小白一枚,正在準備春招,人生第一次面試,投了頭條前端,總共經歷了四輪技術面試和一輪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分鐘左右,一面完了後面試官讓
我等五分鐘,接下來二面就開始了
複製代碼
二面
- 介紹一下項目中的難點
- 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到來的電話,約下一輪的面試時間。
複製代碼
四面
- 算法題:兩個有序鏈表和併成一個有序鏈表
- https與http有什麼區別(一面恰好也被問到)
- cookie有哪些屬性
- cookie,session,localstorage,sessionstorage有什麼區別
- 怎麼禁止js訪問cookie
- position有哪些屬性
- 你知道哪些狀態碼
- options請求方法有什麼用
- less,sass它們的做用是什麼
- 平時怎麼學習
- 你何時能夠來實現
- 能實習多久
四面算是比較簡單的一次面試,面完後次日晚上hr打來了電話,約與hr面的時間
複製代碼
hr面
- 你何時接觸前端的
- 平時怎麼學習
- 對將來的規劃是什麼
- 你對哪一個項目印象深入,說一下項目的難點
- 你對咱們公司有什麼瞭解
- 能實習多久 等等
hr面主要聊一聊人生理想,將來規劃啥的,大概半小時的時間
複製代碼
四輪技術面+一輪hr面結束,學習到了很多,面試也是一個學習檢測本身的過程,面試前大概複習了 一週的時間,把之前的代碼看了一下,字節跳動比較注重算法,面試前刷了下leetcode和劍指offer, 也刷了些在牛客網上的面經。。大概就說這些了,寫代碼去了~前端
祝你們都能收穫大廠offer~vue