微信社招面經(已拿offer)

背景

最近面試了微信,已拿offer,來分享一下面經。

問題比較多,而且很多面試題都是跟個人項目相關的,項目相關的問題借鑑意義不大,所以這裏總結一些與項目無絕對關係的問題,歡迎圍觀~

PS:這次跳槽的複習路線/方法等,後面會整理出來,歡迎持續關注哦~

筆試

  1. 數組交集,編寫一個函數,輸入兩個數組,輸出它們的交集。輸出數組中不含重複的元素,元素排列順序可隨意。
  2. 二叉樹的搜索,輸入一個普通二叉樹的根節點,實現一個調度器,調用調度器的next()方法,將返回二叉樹中下一個最小的數;調用迭代器的hasNext()方法,將返回是否存在下一個數。二叉樹節點是整數,無序。
  3. 三角形個數,輸入一個非負整數的數組,如果將數組元素選作三角形的邊長,編寫一個函數,輸出這個數組可構成的三角形數量。
  4. 數組切分問題,輸入一個正序排列的整型數組,如果它可以被切分爲1個或多個子序列,輸出True,反之False。子序列需爲連續的整型數組,並且長度至少爲3。
例1:
輸入: [1,2,3,3,4,5]
輸出:True
解釋:可以切分爲2個各自連續的子序列:
1, 2, 3
3, 4, 5
例2:
輸入: [1,2,3,3,4,4,5,5]
輸出:True
解釋:可以切分爲2個各自連續的子序列:
1, 2, 3, 4, 5
3, 4, 5
例3:
輸入: [1,2,3,4,4,5]
輸出:False
解釋:無法切分出長度至少爲3的子序列。
  1. 一隻青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法.
  2. 求下面代碼的輸出
function test(a,b) {
  console.log(b)
  return {
    test:function(c){
      return test(c,a);
    }
  };
}

var retA = test(0);  
retA.test(2);  
retA.test(4);  
retA.test(8);
var retB = test(0).test(2).test(4).test(8);
var retC = test('good').test('bad');  
retC.test('good');  
retC.test('bad');

7.top k
8.閉包問題及優化

for (var i = 0; i < 4; i++) {
  setTimeout(function() {
    console.log(i);
  }, 300);
}

PS:一面筆試要求是30分鐘,前4道算法題,二面筆試題是15分鐘

與項目關係不大的問答題

  1. 節流防抖(實現/場景/源碼,如lodash實現原理)
  2. 事件循環(瀏覽器/node/版本差異)
  3. setTimeout 實現原理
  4. react 和 vue 的區別
  5. Promise 原理
  6. 前端錯誤監控及容災
  7. 性能優化
  8. 談談 node 的內存泄漏
  9. 開發過程中遇到的最大挑戰是什麼
  10. 學習的動力怎麼來的,如何維持
  11. 瀏覽器的渲染機制是怎樣的
  12. *** 作用及優缺點
  13. 如何進行狀態管理
  14. webpack 及瀏覽器的技術分享目的是什麼,分享了什麼,怎麼做的分享
  15. 如何進行項目重構
  16. 進程與線程的區別
  17. 說說知道的設計模式
    PS:由於面試全過程歷時比較長,一些題目已經忘記了。大概記得這麼點,然後很看項目,每一輪都詳細問了項目~

可能感興趣的問答

  1. 面試一共幾輪
    我本人一共 4 輪技術面 + 1 輪HR面。目前微信職級爲9級以下的技術崗不用經過面委,9級以下的一般4輪技術面,內部轉崗可3輪技術面,9級及以上的需要走面委面試,大概形式是做份ppt去講自己的項目經歷及其他技術項。9級及以上的就5-10輪技術面不等。

  2. 歷時多長
    我本人總歷時一個多月(相對來說算很快了),所以如果你要面騰訊,千萬不要裸辭,不對,面什麼都不要裸辭,這年頭不好混,慫一點。

  3. 整體面試流程是怎樣的
    內推->一面技術->二面技術->三面技術->四面技術(GM)->HR面->口頭offer->正式offer->背調->入職

每個階段耗時一到兩週的時間

  1. 微信工作地點
    目前微信在廣州,大部分的組都在廣州,其中微信支付在深圳。我本人的崗位是在廣州。

  2. 微信考算法多嗎
    多,基本上就是算法+項目,別看我只是寫了幾道算法題,那是因爲...

更多

其實單看問題,參考性還是比較小的,畢竟面試官主要會根據簡歷去發問。這裏的一個感受就是,項目中遇到的最大挑戰,這個問題真不好答,我當時答得也不夠好,後面又回去總結了一波項目,建議大家都好好總結一下自己平時遇到的問題,尋根究底。

這部分的題目,我會同步到我的每週N題上,歡迎大家來交流答案啊。想刷題的也可以來,地址如下:https://github.com/LuckyWinty/fe-weekly-questions/issues

相關熱門推薦

阿里社招面經 (已拿 offer)
深圳頭條-開發者生態部門-面經-已拿offer
十道大廠面試題(含答案)總結

最後

  • 歡迎加我微信(winty230),拉你進技術羣,長期交流學習...
  • 歡迎關注「前端Q」,認真學前端,做個專業的技術人...
    微信社招面經(已拿offer)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章