2020面試準備集合

先列題目,而後加答案。html

JS

  1. Eventloop
  2. js爲何要實現成單線程的,有什麼好處?
  3. 進程線程的區別
  4. 閉包的含義、原理、優缺點、使用場景、如何回收
  5. JS數據類型有哪些,怎麼作類型判斷?
  6. 類型轉換有哪些?
  7. 執行上下文
  8. new操做符作了什麼
  9. 解釋構造函數、對象、原型鏈之間的關係
  10. 繼承的幾種方式以及優缺點
  11. 實現原型式繼承
  12. 實現構造函數繼承
  13. 面向對象的屬性
  14. 設計模式有哪些,項目中使用到哪些
  15. 瀏覽器事件有哪些過程? 爲何通常在冒泡階段, 而不是在捕獲階段註冊監聽? addEventListener 參數分別是什麼 ?
  16. new String('a') 和 'a' 是同樣的麼?
  17. js中的裝箱和拆箱瞭解嗎?
  18. 節流與防抖原理
  19. 面向對象和非面向對象有什麼區別?
  20. 高階函數是什麼,怎麼去寫一個高階函數
  21. 爲何reducer要是個純函數,純函數是什麼?
  22. 簡單說一下PWA
  23. call/apply/bind原理實現
  24. 操做dom有哪些方法?
  25. 怎麼用原生js實現一個輪播圖,以及滾動滑動?
  26. 怎麼實現上傳下載的功能?
  27. Map有哪些方法?
  28. 知不知道僞數組對象?
  29. 如何用原生JS來讀寫Cookie?
  30. 本地存儲
  31. PWA
  32. 簡述自定義事件實現方法
  33. parseInt() 和 array 的 map 方法的參數
  34. JSON 對象的深度克隆
  35. objec.freeze和Object.seal的區別
  36. 編寫函數 convert(money) ,傳入金額,將金額轉換爲千分位表示法
  37. js浮點數運算不精確,如何解決
  38. 實現函數的柯里化
  39. 前端存儲方式,以及它們之間的優缺點
  40. 怎麼從十萬個節點中找到想要的節點,怎麼快速在某個節點前插入一個節點?
  41. 如何找到一個字符串中最長的兩個字符串?
  42. 正則用過嗎?exec, 匹配一個手機號?去空格?
  43. 給你一億個數,是連續的,怎麼找出兩個不存在的數
  44. 怎麼實現一個sleep ,手寫一個promise
  45. 作一個表格,一分鐘刷新一次,怎麼實現
  46. 有了解WebWorker的實現原理嗎,私下有實踐過嗎
  47. 平時作項目有沒有考慮過內存的問題?怎麼解決的?
  48. 異步處理的方案有哪些?
  49. 模塊化的演化過程?
  50. 模塊化介紹一下,什麼是編譯時優化?
  51. 怎麼打斷點,如何肯定一個結果來自於哪一個函數

數組

  1. Array的unshift() method的做用是什麼?如何鏈接兩個Array?如何在Array裏移除一個元素?
  2. 數組去重
  3. 數組亂序
  4. 有哪些排序算法,時間複雜度是多少?何時快排的效率最低?
  5. 改變數組和不改變數組的方法分別是哪些?
  6. 給定一個數組和一個正整數N,求一個和小於N的最長連續子數組
  7. 給定兩個有序數組,合併爲一個有序數組。不準使用 js 的 concat 和 sort 方法
  8. sort()的原理
  9. 不產生新數組,刪除數組裏的重複元素
  10. 冒泡排序和快速排序的區別

ES6

  1. Promise的原理
  2. ES6 module
  3. 談一下generator函數
  4. 說一下對async和await的理解
  5. Map有哪些方法?
  6. 箭頭函數,this指向
  7. 擴展符的做用
  8. 新增數據類型有哪些?
  9. 新增的數據結構有哪些?
  10. ES6 裏 let 和 var 的區別
  11. 解釋ES6的暫時性死區

http

  1. 講一下AJAX Request
  2. 跨域
  3. 頁面加載的過程(輸入URL後發生了什麼?)
  4. TCP三次握手和四次揮手,擁塞控制
  5. TCP和UDP的區別
  6. HTTP請求頭和響應頭都有些什麼字段?
  7. SSL加密原理
  8. HTTP/HTTPS/HTTP2有什麼區別?
  9. HTTP2的優點
  10. HTTP 裏的304狀態碼瞭解嗎?100和307?
  11. 進程通訊,有名和匿名管道
  12. 瀏覽器緩存
  13. cookie、session、token的區別?
  14. 若是瀏覽器關閉了再打開, 請求仍是from cache嗎?
  15. Service Worker 瞭解過麼?
  16. 爲何用 token 就能夠防止 csrf 攻擊?
  17. token 的刷新機制是怎麼樣的, 爲何這麼設置?
  18. 靜態文件的瀏覽器緩存如何實現
  19. method有哪些方法,分別是什麼意思?post和put的區別?post與get的區別?
  20. Ajax 底層實現,readystate 有哪些
  21. 怎麼實現標籤頁的通訊
  22. OSI七層模型
  23. 反向代理知道麼,Nginx
  24. 有沒有了解過CDN
  25. 怎麼實現標籤頁的通訊

框架

  1. vue響應式原理
  2. vuex原理
  3. 組件間的通訊方式及原理
  4. MVC和MVVM瞭解嗎?有什麼區別?
  5. Vue是怎麼實現對數組變化的檢測的
  6. key的做用是什麼?
  7. jsx的原理
  8. Virtual DOM 和 diff 算法
  9. 腳手架作了什麼功能?
  10. vue-router原理
  11. Vue 裏 v-if 和 v-show 的區別
  12. react生命週期
  13. react hook 相比較 class, 哪些不太容易實現?
  14. react 怎麼作優化?
  15. 聊一下高階組件 hoc
  16. 聊一聊組件設計, 領域模型
  17. redux原理
  18. setState 更新機制
  19. fiber架構
  20. react hook 原理
  21. 原生事件和 React事件的區別
  22. 高階組件(HOC), Mixin, hook 對比和用處.
  23. webpack打包流程
  24. webpack如何處理圖片、 CSS 文件?
  25. webpack作了什麼優化?
  26. webpack熱更新原理
  27. webpack 底層 Tapable 原理
  28. webpack 如何實現異步加載
  29. babel原理
  30. transform-runtime有什麼做用?
  31. babel-runtime和babel-polyfill的做用和區別
  32. babel 如何將字符串解析成 AST ?
  33. 講一下AST 語法樹
  34. webpack 和 gulp的對比
  35. node事件循環
  36. node架構中的容災
  37. node 的多線程,高併發,安全
  38. 談一下stream
  39. pm2原理
  40. 有沒有讀過 egg 源碼
  41. 小程序跟 h5 的區別是什麼? [小程序底層實現]
  42. 講一下 taro 小程序的底層原理,跟 mpvue 的區別 [AST, babel
  43. SPA 項目如何監控 pv, uv 值
  44. 聊一下 axios .有什麼優勢, 跟 fetch, ajax對比
  45. axios 爲何既能夠在瀏覽器發請求,又能夠在node層發請求?
  46. 客戶端渲染和服務端渲染的區別

監控

  1. 如何處理項目的異常
  2. error 怎麼捕獲?
  3. SPA 項目如何監控 pv, uv 值?
  4. 如何在用戶刷新、跳轉、關閉瀏覽器時向服務端發送統計的數據?
  5. 錯誤日誌上報遇到的問題.
  6. 負載均衡方式和容錯機制
  7. 怎麼計算在一個頁面上的停留時間

移動端

  1. 移動端如何優化首頁白屏時間過長 ?
  2. 移動端優化方式? 離線包是如何實現的?
  3. 有幾種webview?
  4. webview和native的交互方式有哪些?
  5. 怎麼排查交互中的錯誤?
  6. 瀏覽器內核有哪些,移動端用的是哪一個?
  7. 移動端頁面適配解決方案

安全

  1. 前端安全方面有沒有了解?XSS和CSRF如何攻防?
  2. sql 注入知道麼?
  3. 爬蟲與反爬蟲

其餘

  1. 文件指紋怎麼生成?
  2. npx是什麼?
  3. 說一下對 package.json 的理解,它都有哪些做用?
  4. webgl用過嗎?
  5. svg和canvas的區別
  6. git push -u 是什麼意思
  7. git rebase解釋下,git merge 和git rebase區別
  8. 能寫一個二叉樹麼,怎麼去遍歷
  9. 僞類知道嗎,有哪些?
  10. Xhtml和html的區別?
  11. 二維碼怎麼工做的,掃描pc端的二維碼,怎麼讓pc端登陸?
  12. 怎麼作一個實時的聊天系統
  13. 當消息有延遲的時候,怎麼保證消息的正確順序?
  14. Mysql的基本寫法
  15. mysql的索引用的什麼
  16. mySql和noSQL區別
  17. meta標籤
  18. em,rem,px的區別
  19. 簡述動畫寫法
  20. 維護的公共組件須要發佈大更新, 如何作?
  21. 聊一下微服務serverless?
  22. 微前端了解嗎?
  23. 可視化表單瞭解過麼?
  24. typeScript瞭解過嗎?
  25. 平時處理過什麼兼容性?
相關文章
相關標籤/搜索