2019前端面試題--這樣準備,拿不到offer算我輸!

okfine17發表於2019-04-24

前言

為了吸引大家點進來,起了一個剛(sao)氣的標題。其實我覺得我這個文章挺值得看看的,看看又不長肉呀?。
我是上週開始投簡歷,一週結束面試,在家等offer啦。座標杭州,杭州的公司其實投來投去都是那幾家,小廠不想去,大廠進不去[摳鼻ing],加上網際網路寒冬,其實找工作確實不好找啊。
面試其實是實力和運氣並存的事情,所以一方面我們要做好知識的準備,另一方面也要抓住時機,該出手就出手,畢竟現在好多公司hc都縮減。

css

  • 1、盒模型
  • 2、flex
  • 3、css單位
  • 4、css選擇器
  • 5、bfc 清除浮動
  • 6、層疊上下文
  • 7、常見頁面佈局
  • 8、響應式佈局
  • 9、css預處理,後處理
  • 10、css3新特性
    • animation和transiton的相關屬性
    • animate和translate
  • 11、display哪些取值
  • 12、相鄰的兩個inline-block節點為什麼會出現間隔,該如何解決
  • 13、meta viewport 移動端適配
  • 14、CSS實現寬度自適應100%,寬高16:9的比例的矩形
  • 15、rem佈局的優缺點
  • 16、畫三角形
  • 17、1畫素邊框問題

html

  • 1、語義化
  • 2、新標籤新特性
  • 3、input和textarea的區別
  • 4、用一個div模擬textarea的實現
  • 5、移動裝置忽略將頁面中的數字識別為電話號碼的方法

JS

  • 1、原型/原型鏈/建構函式/例項/繼承
  • 2、有幾種方式可以實現繼承
  • 3、用原型實現繼承有什麼缺點,怎麼解決
  • 4、arguments
  • 5、資料型別判斷
  • 6、作用域鏈、閉包、作用域
  • 7、Ajax的原生寫法
  • 8、物件深拷貝、淺拷貝
  • 9、圖片懶載入、預載入
  • 10、實現頁面載入進度條
  • 11、this關鍵字
  • 12、函數語言程式設計
  • 13、手動實現parseInt
  • 14、為什麼會有同源策略
  • 15、怎麼判斷兩個物件是否相等
  • 16、事件模型
    • 事件委託、代理
    • 如何讓事件先冒泡後捕獲
  • 17、window的onload事件和domcontentloaded
  • 18、for...in迭代和for...of有什麼區別
  • 19、函式柯里化
  • 20、call apply區別,原生實現bind
    • call,apply,bind 三者用法和區別:角度可為引數、繫結規則(顯示繫結和強繫結),執行效率、執行情況。
  • 21、async/await
  • 22、立即執行函式和使用場景
  • 23、設計模式(要求說出如何實現,應用,優缺點)/單例模式實現
  • 24、iframe的缺點有哪些
  • 25、陣列問題
    • 陣列去重
    • 陣列常用方法
    • 查詢陣列重複項
    • 扁平化陣列
    • 按陣列中各項和特定值差值排序
  • 26、BOM屬性物件方法
  • 27、服務端渲染
  • 28、垃圾回收機制
  • 29、eventloop
    • 程式和執行緒
    • 任務佇列
  • 30、如何快速讓字串變成已千為精度的數字

ES6

  • 1、宣告 let、const
  • 2、解構賦值
  • 3、宣告類與繼承:class、extend
  • 4、Promise的使用與實現
  • 5、generator(非同步程式設計、yield、next()、await 、async)
  • 6、箭頭函式this指向問題、擴充運算子
  • 7、map和set有沒有用過,如何實現一個陣列去重,map資料結構有什麼優點?
  • 8、ES6怎麼編譯成ES5,css-loader原理,過程
  • 9、ES6轉成ES5的常見例子
    • 使用es5實現es6的class

瀏覽器

  • 1、輸入url到展示頁面過程發生了什麼?
  • 2、重繪與迴流
    • 重繪(repaint): 當元素樣式的改變不影響佈局時,瀏覽器將使用重繪對元素進行更新,此時由於只需要UI層面的重新畫素繪製,因此 損耗較少
    • 迴流(reflow): 當元素的尺寸、結構或觸發某些屬性時,瀏覽器會重新渲染頁面,稱為迴流。此時,瀏覽器需要重新經過計算,計算後還需要重新頁面佈局,因此是較重的操作。會觸發迴流的操作:
      * 頁面初次渲染
      * 瀏覽器視窗大小改變
      * 元素尺寸、位置、內容發生改變
      * 元素字型大小變化
      * 新增或者刪除可見的 dom 元素
      * 啟用 CSS 偽類(例如::hover)
      * 查詢某些屬性或呼叫某些方法
      * clientWidth、clientHeight、clientTop、clientLeft
      * offsetWidth、offsetHeight、offsetTop、offsetLeft
      * scrollWidth、scrollHeight、scrollTop、scrollLeft
      * getComputedStyle()
      * getBoundingClientRect()
      * scrollTo()
      迴流必定觸發重繪,重繪不一定觸發迴流。重繪的開銷較小,迴流的代價較高。
  • 3、防抖與節流
  • 4、cookies、session、sessionStorage、localStorage
  • 5、瀏覽器核心

服務端與網路

  • 1、常見狀態碼
  • 2、快取
    • 200 From cache和200 ok
    • 400,401,403狀態碼分別代表什麼
    • 瀏覽器快取
  • 3、cookie, session, token
  • 4、前端持久化的方式、區別
  • 5、DNS是怎麼解析的
  • 6、cdn
  • 7、計算機網路的相關協議
  • 8、http/https/http2.0
  • 9、get post區別
  • 10、ajax、 axios庫
  • 11、tcp三次握手,四次揮手流程
  • 12、跨域
  • 13、前端安全XSS、CSRF
  • 14、websocket
  • 15、Http請求中的keep-alive有了解嗎
  • 16、網路分層
  • 17、即時通訊,除了Ajax和websocket
  • 18、模組化,commonJS,es6,cmd,amd

Vue

  • 1、vue解決了什麼問題
  • 2、MVVM的理解
  • 3、如何實現一個自定義元件,不同元件之間如何通訊的?
  • 4、nextTick
  • 5、生命週期
  • 6、虛擬dom的原理
  • 7、雙向繫結的原理?資料劫持?
  • 8、元件通訊
    • 父->子
    • 子->父
    • 非父子元件
  • 9、Proxy 相比於 defineProperty 的優勢
  • 10、watch computed區別
  • 11、virtual dom 原理實現
  • 12、vue-router(hash, HTML5 新增的 pushState
    • 單頁應用,如何實現其路由功能---路由原理
    • vue-router如何做使用者登入許可權等
    • 你在專案中怎麼實現路由的巢狀
  • 13、vuex的理解

前端效能優化

  • 頁面DOM節點太多,會出現什麼問題?如何優化?
  • 如何做效能監測

SEO和語義化

這個沒被問過

微信小程式

微信小程式和h5差異,如果有開發weex的經驗,可能會加上weex

git

一些基本命令

打包工具webpack

  • 1、打包原理
  • 2、打包外掛
  • 3、webpack熱更新原理
  • 4、優化構建速度

演算法

  • 1、排序演算法
  • 2、動態規劃,參見揹包問題
  • 3、二叉樹
  • 4、加油站問題(貪心演算法)
  • 5、二分法
  • 6、二叉樹遍歷
  • 7、單連結串列反轉
  • 8、取1000個數字裡面的質數
  • 9、找出陣列中和為給定值的兩個元素,如:[1, 2, 3, 4, 5]中找出和為6的兩個元素。
  • 10、線性順序儲存結構和鏈式儲存結構有什麼區別?以及優缺點

移動端

  • 1、自適應
  • 2、pwa
  • 3、移動端手勢

附加題

  • 1、無限滾動方案
  • 2、如何處理相容性問題
  • 3、你遇到過最難的問題是什麼
  • 4、ES6 class與ES5 function區別及聯絡
  • 5、vue怎麼監聽陣列
  • 6、寫過webpack loader嗎
  • 7、微信網頁版登入機制思考

後記

如果你刷到這裡,你的內心os是不是:前端知識點好多啊,我記不住啊!大兄弟,我和你一樣,我也記不住,經常學了就忘,沒事,繼續學就好了。。。
我也是一邊面試一邊增加的,所以可能有的知識點分類不合適,請包涵哈。
之前做這些知識點羅列的時候,也沒想發出來,只是單純的做點筆記。這些知識點有的來自於其他前端小夥伴寫的面經,有的是我自己去面試的時候被問到的。剛準備面試的時候,內心慌的不行啊!但是後來發現,"多面面就好了"這句話簡直太正確了,越面越順,而且自己心情也會比較放鬆了。 為什麼扯這麼多呢,其實就想告訴正在找工作的同學們,堅持✊

相關文章