2019.02.19前端面試五家後總結

爲了測試過去的一年的成長,出去面試五家公司(3家創業saas公司,一家上市公司,一家跨境電商),前端

新的一年,要繼續鞭策本身成長。vue

 

前端面試注意幾個方面:node

    1. 溝通能力react

    2. 基礎知識深度webpack

    3. 解決問題的實際能力ios

    4. 知識邊界git

 

1. 溝通能力:es6

對問題的視角闡述是否準確容易理解。web

 

2. 基礎知識深度知識點考察:面試

2.1 執行上下文:

  執行上下文分爲二個階段(編譯階段,執行階段)

 (1)編譯階段包括:變量對象(vo),做用域鏈的肯定,this指向的肯定。

  變量對象的組成: 1.建立arguments  》2.檢查函數的聲明並建立屬性 》 3檢測var聲明併爲建立屬性賦值爲undefined,遇到相同的屬性跳過

  編譯階段的變量對象的屬性是不可訪問的,只有等到執行階段才能訪問。

  

 (2)執行階段包括:變量的賦值,函數的引用,其餘代碼的執行。

  活動對象(ao)和變量對象(vo)的區別:都是相同的東西,只是處於執行上下文的不一樣的生命週期,活動對象處於執行階段在當前函數調用棧的棧頂。  

     

2.2 閉包:

  什麼是閉包?

  閉包的用途?

  閉包和匿名函數的區別?

 

2.3 模塊化:

  es6的module和common.js以及amd,cmd模塊化的區別?

2.4 vue生命週期:

  建立先後(el掛載點用不了),掛載先後(el,data都能使用),更新先後(虛擬dom的算法),銷燬先後(銷燬後鉤子函數不起做用)

  父子組件的怎麼傳值?

  嵌套路由怎麼實現?

  vuex怎麼使用,由哪些組成,action是幹什麼的,與mutation區別?

2.5 異步的promise,async,await:

  怎麼避免回調地獄?

  promise是什麼?有哪些狀態?

  事件循環的同步,異步,微任務,宏任務的區別?

  async返回什麼?

  await在等待什麼?

  await在等待到結果後又要作什麼?

2.6 http1.0,1.1,2.0的協議,請求響應報文,三次握手

  短連接和長連接的區別?

  connection的keep-alive是什麼?

  http2.0的特色,怎麼理解多路複用?

  請求和響應報文的組成?

  輸入一個url後發生什麼(url是否有緩存》dns解析url爲ip》tcp鏈接,三次握手》服務端的響應》瀏覽器的渲染》繪畫》顯示)

  強制緩存和協商緩存理解?

2.7 使用axios怎麼解決跨域問題?

  proxyTable的原理?

  http-proxy-middle中間件?

2.8 webpack配置問題

  你的項目的entry有多少個?

  webpack-merge瞭解嗎?

  是否使用過對象存儲來處理圖像?

  聽過數據萬象嗎?

  怎麼優化多頁面的打包速度?

2.9 面向對象的問題

  es6類的靜態成員和動態成員的區別?

  重點考察多態和類型的設計,好比說mixin和decorator

2.10 基礎函數的考察

  map,reduce,filter,forEach, every, some

  splice,slice,parseInt,concat,join

  ['1','2','3'],map(parseInt)  爲何是 [1 ,NAN, NAN]?

 

2.11 基礎的算法

  冒泡,快速,插入,歸併算法,迴文,數組去重

  什麼是鏈表?

  如何實現一個hash算法?

  歸併排序的複雜度?

 

2.12 前端常見的設計模式

2.13 進程和線程的區別,什麼是線程同步?

 

3  解決問題的能力

  • 組件接口的設計(好比設計一個表單組件/picker) 基於react或者vue
  • 針對項目業務邏輯提具體的問題(好比怎麼維持app用戶的登陸狀態)
  • 具體的工具(webpack,gulp,git)考察具體的知識點,怎麼解決衝突
  • 前端方向的把握,nodejs和typescript的學習狀況
相關文章
相關標籤/搜索