前端14個大廠1周面試題,跳槽穩穩地


小米-小米應用商店(過)css


一面前端


小米的面試官給人的感受很親切很真誠,是一個體驗很不錯的面試。vue


  • css 實現圖片自適應寬高node

  • 講 flex,手寫出 flex 經常使用的屬性,而且講出做用react

  • BFC 是什麼webpack

  • 項目裏面的前端鑑權是怎麼實現的?es6

  • vue 裏面的虛擬 dom 是怎麼回事?web

  • vue 雙向綁定講一講面試

  • 手寫函數防抖和函數節流算法

  • 講講經常使用的 es6 語法,好比 let、promise、class 等等

  • 瀏覽器渲染過程,迴流重繪等等,load、DOMContentLoaded 等等事件的觸發順序

  • 從小米應用商店裏面隨便找了一個需求讓我現場實現,寫僞代碼


二面


  • 講項目裏面的鑑權和圖片懶加載怎麼實現的

  • 講 vue-lazyloader 的原理,手寫僞代碼

  • 講 express 框架的設計思想

  • 線上日誌是如何處理的

  • 講事件循環

  • 講 nodejs 的 eventEmitter 的實現



三面


  • 講項目裏面作的事情

  • 講 vue 的響應式原理、依賴收集、監聽數組、虛擬 dom 等等

  • 講 express 的中間件系統是如何設計的

  • 現場從小米應用商店中找出一個需求現場實現,說思路,寫關鍵的代碼

  • 四面

  • 講 vue-lazyloader 源碼以及設計

  • 使用 es5 實現 es6 的 class

  • websocket 握手過程

  • 瀏覽器的事件循環和 nodejs 事件循環的區別


百思編程(過)


這個公司是獵頭推薦的,CEO 比較強勢,也算比較有趣。


一面


  • 跨域以及解決辦法

  • 手寫一段小算法

  • JavaScript 的 sort 方法內部使用的什麼排序?


二面


這一面是 CEO 面,主要問了個人職業規劃等等問題,在我沒有表現出很強的要去該公司的意願後,直接給我送走了…


ponyAI-基礎架構(過)


一面


  • 講項目裏面幹了啥

  • vue-lazyloader 怎麼實現的

  • vue 的響應式系統、虛擬 dom

  • 函數式編程

  • 手寫了一個算法題




二面


這輪面試時從美國打電話過來的,過後才知道是 Google 的前端…


  • 講講項目裏面作了什麼

  • vue 原理,和 react 的區別(其實我沒怎麼用過 react)

  • JavaScript 異步的處理方式,現場出了一個問題,使用 promise 實現



三面


  • 講項目模塊規劃、項目如何部署、如何優化等等

  • 手寫函數的防抖

  • 手寫一道算法題




四面


  • 講講項目

  • 手寫一道算法題


洋錢罐(過)


一面


  • 講項目

  • 前端持久化的方式、區別

  • vue-lazyloader 的原理

  • 怎麼配 webpack

  • 手寫 vue 雙向綁定

  • 講 es6 的一些特性,而且現場出了幾個代碼片斷,說結果

  • 手寫一道算法題

  • http 狀態碼


二面


  • 講項目

  • vue-router 的原理

  • 項目中怎麼用的 webpack,怎麼優化

  • 講 express 的設計原理

  • 手寫一道算法題


創新奇智(過)


一面


  • 講項目

  • 手動實現 parseInt


二面


這一面竟然遇到了前同事…寫了一些筆試題,問了一些問題!


三面


  • 講 tcp/ip 網絡層、三次握手,爲何不能兩次握手

  • 講 vue 原理

  • 手寫一道算法題


猿輔導(跪)


猿輔導好像總共就一面,期間一些實現方式和麪試官有爭議(沒有衝突)。


一面


  • 手寫 vue 的 mixin 方法

  • 手寫 promise 的 all 方法

  • 現場出了一個移動端的小需求


搜狐-垂直媒體部門(過)


一面


  • 講項目

  • 項目裏面用 nodejs 作了啥

  • 抽取了哪些 vue 組件



二面


  • 講項目

  • 手寫實現 promise

  • 騰訊-地圖(跪)

  • 騰訊兩個部門面試都會先作一套筆試題,筆試題基本就是一些常見的前端問題以及算法題



三面


  • 講項目,對項目提了一些問題

  • 怎麼判斷一個點是否在圓形內、正方形內

  • 對筆試題


騰訊-每天快報(跪)


也是先作了一套筆試題,可是使人尷尬的是,面試官以爲我快排寫錯了,然而我只是在原地快排沒有申請額外空間…


  • 筆試題

  • 沒了


百度-百度雲(過)


這個部門今年聽說升爲一級部門了,好像還挺不錯的~


一面


  • 講項目

  • vue 響應式原理,什麼是 mvvm

  • es6 使用過的特性

  • flex 常見的屬性

  • css 選擇器的優先級

  • 抽取過哪些 vue 組件



二面


  • 講項目

  • express 設計原理,面試官對動態路由匹配一直追問下去,可是這裏的源碼設計我確實是忘了,一路討論下去扯到了字符串的前綴樹…

  • 實現一個事件發佈訂閱類,其實就是 eventEmitter



三面


三面是山大老學長,聊了一些業務上的事情~



搜狗-手機搜狗(過)


搜狗一面的體驗比較差,面試官給人的感受不太好…


一面


  • 講項目

  • 事件循環

  • 回調函數的壞處

  • vue 裏面哪兒不會用到雙向綁定



二面


忘了…


快手-商業化(過)


一面


  • 講項目

  • 如何抽取公共組件的

  • vue 的響應式原理

  • 如何實現一個可設置過時時間的 localStorage

  • 實現一個發佈訂閱系統,包括 on、emit、off 等等



二面


  • 一道智力題

  • 軟件工程思想、設計模式等等

  • async/await 代碼片斷,說輸出結果


今日頭條-廣告系統(過)


一面


  • 講項目

  • 講 lazyloader 實現

  • 用 docker 作了什麼

  • 用 webpack 作了什麼

  • 手寫一個算法題

  • 講 flex

  • vue 響應式原理

  • es6


二面


  • JavaScript 異步

  • 優化項目

  • vue 原理,包括計算屬性、依賴收集等等

  • 用 JavaScript 的異步實現 sleep 函數

  • 算法題


三面


  • 手寫快排,時間複雜度,優化

  • 手寫實現 jsonp

  • 項目部署,線上問題等等

  • websocket 握手過程


四面


  • 對 vuex 的理解,單向數據流

  • 設計一個單點登陸的系統,相似阿里系那種

  • 手寫一個算法


五面


  • 實現一個聯想搜索組件

  • 手寫函數防抖和節流


OPPO 成都研發中心(過)


一面


  • 講項目

  • 講 vue 的 響應式系統,講了很久,從渲染 watcher 到虛擬 dom,面試官還跟我討論了很久

  • 忘了



二面


  • 講項目

  • 忘了



百詞斬(跪)


首先會在線作一道算法題,挺簡單的,百詞斬感受掛的稀裏糊塗的…


一面


  • websocket 握手過程

  • tcp/ip 網絡層,http 的特色

  • http 強行使用 udp 能實現嗎?

  • vue 原理

  • webpack 熱更新原理,使用過的插件

  • 原型、閉包、跨域

  • 手寫了一道算法題



爲何面這麼多公司


由於我是實習直接轉正的,也沒參加過秋招,因此對本身在市場上是個怎樣的實力沒有一個清晰的瞭解,並且我也想多瞭解一下其餘公司在作什麼,因而就儘可能的多面,不過說實話面試確實挺累的。



如何準備


首先前端基礎要過關,掌握牢靠!


其次,由於我是在小廠,因此可能項目複雜度沒那麼高,我就儘可能把手頭上用到過的東西都搞明白設計原理,好比 vue、express、vue-lazyloader、promise 等等,平時也會造一些輪子,其實這些對業務開發都是有好處的,起碼可讓你知道本身在寫啥。 最後,計算機基礎也是拋不開的,LeetCode 刷 200 題左右,常見的排序、搜索、樹遍歷算法都要會,並且以這幾個爲基礎的變形也要能看出來。


還有就是面試的時候的一些技巧,由於我自己表達能力還行,面試基本不緊張,說說笑笑也就過去了,以前在公司也當過一年的面試官,這方面發怵的同窗能夠作一些相關的準備。

相關文章
相關標籤/搜索