二月前端實戰面試

做者從事前端一年半
基礎的我就不講了,我講一些回答的不是很好的前端

騰訊

一面

  1. webpack的劣勢在哪裏
  2. 技術選型上爲何選擇vuevue有哪些缺陷
  3. 是如何進行code review的,這裏講了持續化集成
  4. js的基礎類型(這個腦子短路了,給忘了)
  5. webpack針對模塊化作的處理
  6. 是如何保證組件庫的質量的

一面

  1. 瞭解websocket嗎,websocket是如何進行握手的
  2. 生產消費者模式
  3. 線程和進程(騰訊二面又問我了,我又沒回答出來,哈哈)
  4. 如何批量抓取文章
  5. 如何處理ios鍵盤擋住屏幕,ios輸入的時候光標定位錯亂
  6. virtual dom的優點在哪兒
  7. 瞭解xpath嗎
  8. 客戶端和fe是如何通訊的,客戶端是如何操做fe的代碼的
  9. 性能優化能從哪些方面入手
  10. 前端如何實現圖片剪裁

騰訊一輪遊,面的懷疑人生vue

頭條

  1. 如何批量引入組件,require.context
  2. 組件之間如何通訊
  3. 問了監控系統,如何計算白屏時間和首屏渲染時間的,如何進行數據上報的,上報到監控系統展現是怎樣的一個過程
  4. 問了一個$listener$attr,可是我當初沒有get到面試官的點
  5. 談談pwa
  6. vuex的工做流(工做流是什麼?)
  7. 知道function component
  8. 如何選擇圖片格式,例如png,webp

算法題

有一個數組和一個值,須要求大於等於該值的最小長度,例如[2, 3, 4, 7]5,那麼最小就是1,由於7大於5 若是數字是8,那麼最小就是2, 由於4 + 7大於8webpack

第二道算法題 有序數組中小於某個數的個數,例如ios

[1, 2, 3, 4]
2
// 1
複製代碼

快手

  1. 如何對請求進行緩存,例若有10個異步請求,若是有一個異步請求返回結果剩下的請求就用這個結果,而且能過傳入成功和失敗的回調函數
  2. 實現(10).add(10).add(10)
  3. 有這個一個狀況,代碼以下:
function Person() {}
const person = new Person();
複製代碼

person的原型上有Funciton
4. vue文件中爲何須要一個根元素web

百詞斬

  1. vue hooks的使用
  2. cdn的原理
  3. 白屏時間和首屏時間的計算
  4. 性能監控平臺是如何捕獲錯誤的
  5. 平時遇到有哪些兼容性的問題
  6. leetcode峯值的問題
  7. vue中key的做用
  8. 代碼題
let arr = [1, 2, 3];
let fnArray = [];
for (var i = 0; i < arr.length; i++) {
    fnArray[i] = function () {
        return arr[i] * 2;
    }
}
let result = fnArray.find((fn) => {
    return fn() === 4;
})
console.log(result);
複製代碼

算法題

實現一個棧,具備pushpop方法,還有獲取他的最小值,複雜度是O(1)面試

其餘公司

我也沒投幾家公司,這裏記錄一下其餘公司的面試問題算法

  1. 大家對組件庫作了哪些優化
  2. 組件庫的樣式自定義是如何實現的
  3. tcp的滑動窗口
  4. 前端如何作權限控制
  5. HMR的原理
  6. 若是頁面出現白屏,如何排查

算法

rightView

有一棵樹從右邊看他,並輸出結果,例如vuex

1
    2       4
5       3
複製代碼

上面輸出的樹就是[1, 4, 3]數組

我總結了一下,面試中出現頻率最高的是,排名分先後:瀏覽器

  1. 宏任務和微任務
  2. 瀏覽器緩存
  3. bfc
  4. computedwatch的差別

我以爲我面的最好的是百度,結果百度一輪遊,說我不匹配(嗚嗚嗚~~~)

面試這麼多公司也總結出一些經驗: 面試忌諱的就是必定不要說本身不熟悉的東西,若是不熟悉連提都不要提,在自我介紹的時候必定要把本身的優點介紹出來,讓這場面試問的都是和你熟悉的相關的東西。我以爲面試實際上是你和麪試官互相試探的過程,面試官不知道你擅長什麼,因此他須要不斷探索你會的地方,因此這個時候就須要把你熟悉的着重的講,要是太菜了也試探不出什麼東西哈哈

相關文章
相關標籤/搜索