前端面試八股文

題目的答案可以參考靈題庫

HTML + CSS

  1. 講一下盒模型,普通盒模型和怪異盒模型有什么區(qū)別?
  2. 塊元素和行內(nèi)元素區(qū)別是什么?常見塊元素和行內(nèi)元素有哪些?
  3. HTML語義化標(biāo)簽 有哪些?
  4. 偽類和偽元素的區(qū)別是什么?
  5. CSS如何實現(xiàn)垂直居中?
  6. CSS常見的選擇器有哪些?
  7. CSS的優(yōu)先級如何計算?
  8. 長度單位px、em和rem的區(qū)別是什么?
  9. 講一下flex彈性盒布局?
  10. 浮動塌陷問題解決方法是什么?
  11. position屬性的值有哪些?各個值是什么含義?
  12. BFC、IFC是什么?

JavaScript

  1. 談?wù)剬υ玩湹睦斫狻?/li>
  2. js如何實現(xiàn)繼承?
  3. js有哪些數(shù)據(jù)類型?
  4. js有哪些判斷類型的方法?
  5. 如何判斷一個變量是否數(shù)組?
  6. Null 和 undefined 的區(qū)別?、
  7. call bind apply的區(qū)別?
  8. 防抖節(jié)流的概念?實現(xiàn)防抖和節(jié)流。
  9. 深拷貝、淺拷貝的區(qū)別?如何實現(xiàn)深拷貝和淺拷貝?
  10. 對比 一下var、const、let。
  11. ES next新特性有哪些?
  12. 箭頭函數(shù)和普通函數(shù)區(qū)別是什么?
  13. 使用new創(chuàng)建對象的過程是什么樣的?
  14. this指向系列問題。
  15. 手寫bind方法。
  16. 談?wù)剬﹂]包的理解?什么是閉包?閉包有哪些應(yīng)用場景?閉包有什么缺點?如何避免閉包?
  17. 談?wù)剬s事件循環(huán)的理解?
  18. 談?wù)剬romise理解?
  19. 手寫 Promise。
  20. 實現(xiàn) Promise.all方法。
  21. Typescript中type和interface的區(qū)別是什么?
  22. 講講Typescript中的泛型?
  23. Typescript如何實現(xiàn)一個函數(shù)的重載?
  24. CmmonJS和ESM區(qū)別?
  25. 柯里化是什么?有什么用?怎么實現(xiàn)?
  26. 講講js垃圾回收機(jī)制。
  27. 實現(xiàn)一個發(fā)布訂閱。
  28. 如何實現(xiàn)數(shù)組怕平?
  29. 如何實現(xiàn)數(shù)組去重?

Vue

  1. 講講Vuex的使用方法。
  2. 講講Vue雙向綁定原理。
  3. mvvm和mvc區(qū)別是什么?
  4. Vue組件間通信方式有哪些?
  5. computed和watch區(qū)別是什么?
  6. v-for和v-if同時使用有問題嗎?
  7. 講講前端路由原理。比較一下history和hash這兩種路由。
  8. 講講Vue的虛擬DOM,原理,好處是什么?相對于手動操作DOM,性能更好嗎?
  9. 說說Vue的keep-alive使用及原理。
  10. Vue父子組件生命周期觸發(fā)順序是怎樣的?
  11. Vue.nextTick的實現(xiàn)?
  12. 講講Vue diff算法。

React

  1. 講講React diff算法。
  2. React組件復(fù)用方式有哪幾種?
  3. React fiber是什么?有什么用?
  4. React生命周期有哪些?React16廢棄了哪些?為什么要廢棄?新增的生命周期鉤子有哪些?有什么作用?
  5. 如何對React性能優(yōu)化?
  6. React的setState是同步的還是異步的?
  7. 講講React事件綁定原理。
  8. 講講React的hooks,有什么好處?有哪些常用的hook?
  9. 講講Reactkey的作用。
  10. 談?wù)凴eact的類組件和函數(shù)式組件的區(qū)別。

工程化

  1. webpack性能優(yōu)化有哪些方法?
  2. webpack的loader和plugin區(qū)別是什么?常用的plugin和loader有哪些?
  3. webpack構(gòu)建流程是什么?
  4. 講講tree-shaking原理。

性能優(yōu)化

  1. 前端頁面性能如何優(yōu)化?
  2. 講講回流和重繪的區(qū)別,如何避免回流和重繪?

安全

  1. 網(wǎng)絡(luò)攻擊有哪些?如何防御?

計算機(jī)基礎(chǔ)

  1. 進(jìn)程與線程區(qū)別是什么?
  2. 講講TCP三次握手、四次揮手,為什么要三次握手、四次揮手?
  3. TCP和UDP區(qū)別是什么?

網(wǎng)絡(luò)通信

  1. 說說從輸入url到頁面展示出來的整個過程。
  2. 什么是跨域?為什么會出現(xiàn)跨域?如何解決跨域問題?jsonp原理 是什么?
  3. http各版本的改進(jìn)都是什么?
  4. https原理是什么?為什么可以保證安全性?
  5. http常見狀態(tài)碼有哪些?
  6. http有哪些方法?
  7. get和post區(qū)別是什么?
  8. 講講http緩存機(jī)制。
  9. cdn是什么?它的原理是什么?
  10. 講講304協(xié)商緩存過程。
  11. 瀏覽器有哪些緩存?localStorage、sessionStorage、cookie的、session的區(qū)別是什么?
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容