天天看點

靠着這份280頁《前端校招面試真題解析大全》,我拿到了阿裡的offer

靠着這份280頁《前端校招面試真題解析大全》,我拿到了阿裡的offer

樓主前端方向,是在去年參加的春招,從牛客網上收獲了很多經驗貼和面經,在春招準備和面試過程中,收獲了不少同學的幫助和鼓勵。

最終運氣比較好,拿到阿裡、美團、OPPO、360和有贊的意向書,拿到阿裡意向書以後便沒有參加其他公司的面試了,現在把之前總結的春招經驗分享出來,希望能夠幫助到其他朋友~

前端知識點彙總

前端知識點是我在準備春招過程中,看書和經驗貼中總結到的一些知識點,不僅面試中經常問到,同時對于自己未來的工作和學習也很重要,也歡迎大家一起補充~

一、JavaScript

  1. 原始值和引用值類型及差別
  2. 判斷資料類型typeof、instanceof、Object.prototype.toString.call()、constructor
  3. 類數組與數組的差別與轉換
  4. 數組的常見API
  5. bind、call、apply的差別
  6. new的原理
  7. 如何正确判斷this?
  8. 閉包及其作用
  9. 原型和原型鍊
  10. prototype與__proto__的關系與差別
  11. 繼承的實作方式及比較
  12. 深拷貝與淺拷貝
  13. 防抖和節流
  14. 作用域和作用域鍊、執行期上下文
  15. DOM常見的操作方式
  16. Array.sort()方法與實作機制
  17. Ajax的請求過程
  18. JS的垃圾回收機制
  19. JS中的String、Array和Math方法
  20. addEventListener和onClick()的差別
  21. new和Object.create的差別
  22. DOM的location對象
  23. 浏覽器從輸入URL到頁面渲染的整個流程(涉及到計算機網絡資料傳輸過程、浏覽器解析渲染過程)
  24. 跨域、同源政策及跨域實作方式和原理
  25. 浏覽器的回流(Reflow)和重繪(Repaints)
  26. JavaScript中的arguments
  27. EventLoop事件循環
  28. 宏任務與微任務
  29. BOM屬性對象方法
  30. 函數柯裡化及其通用封裝
  31. JS的map()和reduce()方法
  32. “”和“=”的差別
  33. setTimeout用作倒計時為何會産生誤差?

二、ES6

1. let、const和var的概念與差別

2. 變量提升與暫時性死區

3. 變量的結構指派

4. 箭頭函數及其this問題

5. Symbol概念及其作用

6. Set和Map資料結構

7. Proxy

8. Reflect對象

9. Promise(手撕Promise A+規範、Promise.all、Promise相關API和方法)

10. Iterator和for...of(Iterator周遊器的實作)

11. 循環文法比較及使用場景(for、forEach、for...in、for...of)

12. Generator及其異步方面的應用

13. async函數

14. 幾種異步方式的比較(回調、setTimeout、Promise、Generator、async)

15. class基本文法及繼承

16. 子產品加載方案比較(CommonJS和ES6的Module)

17. ES6子產品加載與CommonJS加載的原理

三、HTML/CSS

1. CSS權重及其引入方式

2. 标簽全部作用

3. 用CSS畫三角形

4. 未知寬高元素水準垂直居中(方案及比較)

5. 元素種類的劃分

6. 盒子模型及其了解

7. 定位方式及其差別(文檔流)

8. margin塌陷及合并問題

9. 浮動模型及清除浮動的方法

10. CSS定位屬性

11. display及相關屬性

12. IFC與BFC

13. 聖杯布局和雙飛翼布局的實作

14. Flex布局

15. px、em、rem的差別

16. Less預處理語言

17. 媒體查詢

18. vh與vw

19. H5的語義化作用及語義化标簽

20. Web Worker和Web Socket

21. CSS3及相關動畫

22. 如何實作響應式布局

23. SEO的概念及實作

24. HTML5的新特性

25. Less和Sass使用

四、HTTP與計算機網絡

1. TCP/IP協定分層管理

2. 三次握手四次揮手機制及原因

3. HTTP方法

4. GET和POST的差別

5. HTTP建立持久連接配接的意義

6. HTTP封包的結構

7. HTTP狀态碼

8. Web伺服器及其組成

9. HTTP封包首部

10. HTTP通用首部字段

11. HTTP請求首部字段、響應首部字段、實體首部字段

12. Cookie相關首部字段

13. HTTPS與HTTP差別及實作方式

14. Cookie與Session

15. 基于HTTP的功能追加協定(SPY、WebSocket、HTTP)

16. 常見的Web攻擊分類

17. TCP與UDP差別

18. 存儲機制localStorage、sessionStorage與Cookie存儲技術

19. XSS攻擊及防禦

20. CSRF攻擊及防禦

五、前端工程化

1. 前端工程化的流程(架構選型、業務開發、測試、打包建構、部署上線、項目監控)

2. Webpack基本概念與配置

3. loader與plugin原理與實作

4. Webpack的子產品熱替換及實作

5. Webpack的優化問題

6. SPA及其優缺點

7. SSR實作及優缺點

8. 設計模式(工廠模式、單例模式、原型模式、***模式、擴充卡模式、觀察者模式等...)

六、React

1. React自身特點及選型時考慮

2. React與VUE的異同

3. Virtual DOM

4. React生命周期

5. Diff算法

6. 受控元件與非受控元件

7. 高階元件

8. Flux架構模式(涉及MVC/MVVM、Flux)

9. Redux設計概念、設計原則、方法、redux實作異步流的庫

10. 純元件(Pure Component)與shouldComponentUpdate關系

11. Redux中的

元件與connect函數

12. React Fiber架構

13. React Hooks的作用及原理

七、NodeJS

1. NodeJS基本概念與特點

2. CommonJS規範、核心子產品

3. Node的異步I/O

4. Node的記憶體控制

5. Node建構網絡服務(TCP、HTTP、Web Socket服務等)

6. Node的程序

八、需要會手撕的代碼部分

1. Promise(A+規範)、then、all方法

2. Iterator周遊器實作

3. Thunk函數實作(結合Generator實作異步)

4. async實作原理(spawn函數)

5. class的繼承

6. 防抖和節流

7. Ajax原生實作

8. 深拷貝的幾種方法與比較

9. 繼承的幾種實作與比較

10. 未知寬高的元素水準垂直居中

11. 三欄布局的實作

12. 兩欄布局的實作

13. React高階元件

14. 數組去重

15. 幾種排序算法的實作及其複雜度比較

16. 前序後序周遊二叉樹(非遞歸)

17. 二叉樹深度周遊(分析時間複雜度)

18. 跨域的實作(JSONP、CORS)

九、資料可視化

1. Canvas和SVG的差別

2. 在考慮設計可視化圖表時,結合Canvas和SVG特性會怎麼取舍

3. 常見的可視化元件庫

4. 可視化元件庫如Echarts的設計思路

5. 一些偏向底層的可視化元件庫和前端架構結合方面需要考慮哪些問題

6. 可視化元件如何做到資料驅動?

十、計算機基礎

1. 計算機系統

2. 線程與程序

3. 常見的git指令

4. Linux相關指令

5. 其他類型的程式設計語言(如Java)

6. 資料庫

前端面試題彙總

前端面試題是我面試過程中遇到的面試題,每一次面試後我都會複盤總結。我做了一個整理,并且在技術部落格找到了專業的解答,大家可以參考下:

靠着這份280頁《前端校招面試真題解析大全》,我拿到了阿裡的offer
靠着這份280頁《前端校招面試真題解析大全》,我拿到了阿裡的offer
靠着這份280頁《前端校招面試真題解析大全》,我拿到了阿裡的offer

由于篇幅有限,隻能分享部分面試題,完整版面試題及答案可以【點選我】閱讀下載下傳哦~無償分享給大家

感悟

春招面試的後期,運氣和實力都很重要,自己也是運氣比較好,為了回饋粉絲朋友們(畢竟自己也玩了這麼久哈哈哈),整理個人感悟和總結以上。最後祝願大家能夠收獲理想offer!!