金九銀十, 我來給大家送大廠面試題了

引言

什麼,你說你簡歷都不知道怎麼寫,看面試題有什麼用?css

戳下面這個連接看看吧, github.com/jeoy/its-mehtml

我就是拿着這個簡歷去面試的前端

對於項目的內容,歡迎star, 歡迎issue,歡迎PRvue

美團

一面node

  1. app相關:灰度發佈,如何保證穩定性
  2. 盒模型
  3. 手寫css佈局問題
  4. spa應用設計問題
  5. 路由相關
  6. vue數據綁定原理
  7. 多路複用
  8. ipv6

二面react

聊項目內容,講內存泄漏,詞法做用域和何時閉包會引發泄漏(GC機制相關)jquery

講了最近本身在作的一點開源, 而後我(機智)的聊到了我發現的一個坑,而且發了stackoverflow, 貼了jsfiddle, 讓面試官打開看...webpack

issue地址 面試官看完表示頗有趣,他也不知道。git

三面es6

聊項目內容:

  • 講react-native中嵌入webview可能存在的性能問題,通訊方式。
  • 多項目管理存在的問題,後端接口不分web和mobile的話, 前端web和mobile出現了model不一致,後端如何作接口兼容。

用過redis嗎, 簡單寫一個LRU

快手

一面

不得不說此次一面是最長的一次面試了。。。

上來先是紙上寫題目

  1. 連等那個題
  2. 相同名稱樣式優先級問題
  3. 詞法做用域問輸出
  4. 原型原型鏈調用輸出問題,讓簡單畫了原型圖
  5. let 和 var ,function聲明提高輸出
  6. parseInt那個題
  7. 知道有哪些css長度單位,分別是什麼意思
  8. node事件循環輸出結果,列了一堆setTimeOut,setImmediate, process.nextTick, promise.then 這種,而後問輸出順序,考察idle 觀察者, IO觀察者,check觀察者的內容和執行順序。
  9. 解釋BFC,IFC,FFC
  10. 理解a11y
  11. node垃圾回收策略
  12. 死鎖和產生的必要條件
  13. 編程題,實現三個函數,知足two(add(one())) 輸出3, one(add(two())) 輸出3.
  14. 算法題,輸入一個數組,輸出一個數組,使原數組的某個數在輸出的數組中的每一個位置上等機率的出現。 (原地洗牌的算法),
  15. 寫完8後讓解釋緣由,問若是return nums.sort(() => (Math.random()*2 - 1))可不能夠,爲何
  16. 寫一個cacheRequest, 相同的請求參數只向網絡請求一次

問答

  1. vue收集依賴的過程
  2. vue的發展方向(下個版本的優化)
  3. 如何作離線應用,service worker瞭解嗎
  4. 瞭解小程序嗎,說一下優勢和技術方案

下面是項目相關的

  1. 作了什麼有意思項目, 後續講到主題的動態改變,問css native var的兼容性如何,如何兼容低版本,不用less編譯的方法能夠在運行時處理嗎
  2. 碰到的問題,說到node中臺服務,問日誌如何記錄,分佈式日誌如何管理,(ELK)後續聊到日誌系統展現時向數據庫進行大量數據查詢時的優化策略...
  3. 混合使用jqueryUI和vue,如何作兩個部分的狀態管理
  4. react-native開發遇到的問題,react-native下個版本優化方向

出題

  1. 鏈表的加法
  2. 二叉樹返回最大深度
  3. 數組求最大子序列和(dp)

二面

  1. 講項目
  2. 打開快手一個遊戲直播的頁面,問領導說這個頁面卡頓,怎麼優化。
  3. 給過來電腦,讓輸出上面那個頁面全部's','h'開頭的html標籤的種類。
  4. promise.all存在的問題,寫一個promiseFullfilled仍是啥,要求輸出結果跟promise.all一致,但要全部請求都不處於pending狀態才返回。

三面

  1. 給需求,要求畫出UML類圖,設計合理接口,題目是一個停車場的控制系統,實現兩個需求
    1. 自動停車計費,能夠認爲出入口各有一個攝像頭,經過回調的方式能獲取通過車輛信息
    2. 顯示各個區域的剩餘車位,能夠認爲每一個車位有一個傳感器,能夠是0或者1.
  2. 停車場內自動導航系統,問什麼數據結構表示地圖,以及如何實現導航算法
  3. 拿出acfun網站,問若是你是這個項目負責人,要作這個項目,從技術上要考慮哪些問題

字節跳動

上來先是紙上寫題目

  1. 實現一個高度爲50%的垂直居中樣式。
  2. arguments是否是數組,怎麼轉數組
  3. 隱式轉換寫輸出題
  4. 經典的那個asyn await和promise輸出題,要詳細解釋過程。
  5. 寫截流函數,問若是 thFn = throttle(obj.fn), thFn()這種調用方式如何保證this.
  6. 實現一個帶繼承方案的bind,就是bind輸入一個構造函數A,生成一個新的構造函數B,B new出來的對象須要繼承A的屬性和方法
  7. 實現k數之和,找出一個解就行,並說出時間空間複雜度

問答

  1. cookie做用是?cookie是如何造成的,使用cookie注意什麼問題
  2. 有哪些http緩存策略,爲何要用這麼多方式和字段控制
  3. 進程和線程,多進程如何通訊 (node相關,pipe管道,共享內存等)

後續轉到了數據部門

數據部門

一面

  1. 一個構造函數和原型鏈輸出題,相似於有new A().fn(); new A().fn()這種的,

  2. 一個渲染線程和js主線程執行順序問題,改變背景色而後while循環再改變背景色,看到效果是怎麼樣的。

  3. for循環輸出setTimeout,promise啥的混到一塊兒的輸出順序問題,而後問了任務隊列和事件循環問題,問了有哪些微任務,包括node的,setImmediate是否是微任務

  4. 截流防抖,應用場景

  5. 如何排查內存泄漏問題,閉包概念,原型,原型鏈概念, 一個做用域對象裏有哪些東西

  6. new 一個對象執行了什麼操做

  7. es6的新特性用了哪些

  8. 而後問了js原型模式和c的class區別,問了靜態對象和方法如何實現

  9. GC機制

二面

  1. 講對promise的理解,promise.all功能,存在問題,如何封裝改進
  2. promise.race功能,應用場景
  3. 實現一個promise截流器,每次只並行發送n個請求。
  4. 解釋BFC以及做用
  5. http狀態碼,問了不少(307, 504這種),而後問了http緩存。
  6. echarts 實現原理,底層canvas api
  7. canvas如何畫曲線,(須要綁定哪些事件),用戶光標移動太快怎麼辦, 只捕捉了間歇的點,如何畫平滑的曲線
  8. 如何判斷一個點是否在曲線上(圖形裏)

三面

  1. 聊了一些非技術的
  2. 如何判斷一張畫布上有多少個圖形(三角形,多邊形,圓)這種,並求出他們的面積
  3. echarts的渲染流程

項目相關

  1. 講解了一下圖表顏色字段不一樣聚合方式的配置實現
  2. 多端實現提取了哪些公共組件進行復用,哪些部分不太好作
  3. 單元測試怎麼作,css測試怎麼作,ui自動化測試

Tencent

一面

上來先是紙上寫題目

  1. 原型鏈調用輸出問題,相似於有new A().fn(); new new A().fn()這種的,
  2. parseInt那個

問答

  1. token有什麼好處(相比cookie和CSRF攻擊)
  2. 解釋web和node的事件循環
  3. 解釋webpack熱更新原理

二輪技術總監

  1. 聊項目經理,聊業務前景
  2. 寫算法題
    • I__am___jon___snow 這種字符串反轉,單詞不反轉
    • 判斷一個二叉樹是否是查找樹,寫完用case過一遍。

三輪是PM

交叉面,沒有聊技術

GM面

是一個單獨大辦公室的大佬,隨便聊,沒技術

阿里

這個太早了,寫的時候不少問題記不清了。

一面

問答

  1. promise,async await的區別
  2. 事件循環,任務隊列
  3. 繼承的實現,如何實現類的方法。
  4. 紙上寫題,一個dfs二叉樹的題
  5. 寫題,判斷兩個矩形區域的相交區域(excel那種形式,給[A1, D4] , [B2, D6]這種)

二面

  1. 聊了項目
  2. 聊了正在作的開源,問了一下技術實現
  3. 紙上寫題,比較兩個對象是否是相等,(全部的key value都同樣)

三面

沒有聊技術,說了hrbp很麻煩

相關文章
相關標籤/搜索