【面經】寒冬中的一年半前端跳槽

面試內容

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

一面

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

  1. css實現圖片自適應寬高
  2. 講flex,手寫出flex經常使用的屬性,而且講出做用
  3. BFC是什麼
  4. 項目裏面的前端鑑權是怎麼實現的?
  5. vue裏面的虛擬dom是怎麼回事?
  6. vue雙向綁定講一講
  7. 手寫函數防抖和函數節流
  8. 講講經常使用的es6語法,好比let、promise、class等等
  9. 瀏覽器渲染過程,迴流重繪等等,load、DOMContentLoaded等等事件的觸發順序
  10. 從小米應用商店裏面隨便找了一個需求讓我現場實現,寫僞代碼

二面

  1. 講項目裏面的鑑權和圖片懶加載怎麼實現的
  2. 講vue-lazyloader的原理,手寫僞代碼
  3. 講express框架的設計思想
  4. 線上日誌是如何處理的
  5. 講事件循環
  6. 講nodejs的eventEmitter的實現

三面

  1. 講項目裏面作的事情
  2. 講vue的響應式原理、依賴收集、監聽數組、虛擬dom等等
  3. 講express的中間件系統是如何設計的
  4. 現場從小米應用商店中找出一個需求現場實現,說思路,寫關鍵的代碼

四面

  1. 講vue-lazyloader源碼以及設計
  2. 使用es5實現es6的class
  3. websocket握手過程
  4. 瀏覽器的事件循環和nodejs事件循環的區別

百思編程(過)

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

一面

  1. 跨域以及解決辦法
  2. 手寫一段小算法
  3. JavaScript的sort方法內部使用的什麼排序?

二面

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

ponyAI-基礎架構(過)

一面

  1. 講項目裏面幹了啥
  2. vue-lazyloader怎麼實現的
  3. vue的響應式系統、虛擬dom
  4. 函數式編程
  5. 手寫了一個算法題

二面

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

  1. 講講項目裏面作了什麼
  2. vue原理,和react的區別(其實我沒怎麼用過react)
  3. JavaScript異步的處理方式,現場出了一個問題,使用promise實現

三面

  1. 講項目模塊規劃、項目如何部署、如何優化等等
  2. 手寫函數的防抖
  3. 手寫一道算法題

四面

  1. 講講項目
  2. 手寫一道算法題

洋錢罐(過)

一面

  1. 講項目
  2. 前端持久化的方式、區別
  3. vue-lazyloader的原理
  4. 怎麼配webpack
  5. 手寫vue雙向綁定
  6. 講es6的一些特性,而且現場出了幾個代碼片斷,說結果
  7. 手寫一道算法題
  8. http狀態碼

二面

  1. 講項目
  2. vue-router的原理
  3. 項目中怎麼用的webpack,怎麼優化
  4. 講express的設計原理
  5. 手寫一道算法題

創新奇智(過)

一面

  1. 講項目
  2. 手動實現parseInt

二面

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

三面

  1. 講tcp/ip網絡層、三次握手,爲何不能兩次握手
  2. 講vue原理
  3. 手寫一道算法題

猿輔導(跪)

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

一面

  1. 手寫vue的mixin方法
  2. 手寫promise的all方法
  3. 現場出了一個移動端的小需求

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

一面

  1. 講項目
  2. 項目裏面用nodejs作了啥
  3. 抽取了哪些vue組件

二面

  1. 講項目
  2. 手寫實現promise

騰訊-地圖(跪)

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

一面

  1. 講項目,對項目提了一些問題
  2. 怎麼判斷一個點是否在圓形內、正方形內
  3. 對筆試題

騰訊-每天快報(跪)

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

  1. 對筆試題
  2. 沒了

百度-百度雲(過)

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

一面

  1. 講項目
  2. vue響應式原理,什麼是mvvm
  3. es6使用過的特性
  4. flex常見的屬性
  5. css選擇器的優先級
  6. 抽取過哪些vue組件

二面

  1. 講項目
  2. express設計原理,面試官對動態路由匹配一直追問下去,可是這裏的源碼設計我確實是忘了,一路討論下去扯到了字符串的前綴樹...
  3. 實現一個事件發佈訂閱類,其實就是eventEmitter

三面

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

搜狗-手機搜狗(過)

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

一面

  1. 講項目
  2. 事件循環
  3. 回調函數的壞處
  4. vue裏面哪兒不會用到雙向綁定

二面

忘了...

快手-商業化(過)

一面

  1. 講項目
  2. 如何抽取公共組件的
  3. vue的響應式原理
  4. 如何實現一個可設置過時時間的localStorage
  5. 實現一個發佈訂閱系統,包括on、emit、off等等

二面

  1. 一道智力題
  2. 軟件工程思想、設計模式等等
  3. async/await代碼片斷,說輸出結果

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

一面

  1. 講項目
  2. 講lazyloader實現
  3. 用docker作了什麼
  4. 用webpack作了什麼
  5. 手寫一個算法題
  6. 講flex
  7. vue響應式原理
  8. es6

二面

  1. JavaScript異步
  2. 優化項目
  3. vue原理,包括計算屬性、依賴收集等等
  4. 用JavaScript的異步實現sleep函數
  5. 算法題

三面

  1. 手寫快排,時間複雜度,優化
  2. 手寫實現jsonp
  3. 項目部署,線上問題等等
  4. websocket握手過程

四面

  1. 對vuex的理解,單向數據流
  2. 設計一個單點登陸的系統,相似阿里系那種
  3. 手寫一個算法

五面

  1. 實現一個聯想搜索組件
  2. 手寫函數防抖和節流

OPPO成都研發中心(過)

一面

  1. 講項目
  2. 講vue的 響應式系統,講了很久,從渲染watcher到虛擬dom,面試官還跟我討論了很久
  3. 忘了

二面

  1. 講項目
  2. 忘了

百詞斬(跪)

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

一面

  1. websocket握手過程
  2. tcp/ip網絡層,http的特色
  3. http強行使用udp能實現嗎?
  4. vue原理
  5. webpack熱更新原理,使用過的插件
  6. 原型、閉包、跨域
  7. 手寫了一道算法題

爲何面這麼多公司

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

如何準備

首先前端基礎要過關,能夠參考前端工程師手冊合格前端系列第九彈-前端面試那些事2018前端面試押題(講義)Interview Book

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

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

相關文章
相關標籤/搜索