01 前言
2021是不平凡的一年,這一年里發生許多事情,大家也都知道。對于互聯網行業來說也是一次重大的打擊,也有一些企業在這次疫情中倒閉了,所以可能對于今年2021年畢業的同學來說是一次很大的考驗,也關乎我們的前途。
今年的面試基本上都不會線下面試,都是采取線上電話/視頻的形式來進行,今天我就總結一下,分享一下自己所遇到的一些面試題,希望大家在這次春招中能夠拿到滿意的offer!畢竟自己當初也是看了很多師兄姐的面經,算是一個回饋社區。共勉!
基本知識
1. 區分Real DOM和Virtual DOM
Real DOM | Virtual DOM |
---|---|
更新緩慢。 | 更新更快。 |
可以直接更新 HTML。 | 無法直接更新 HTML。 |
如果元素更新,則創建新DOM。 | 如果元素更新,則更新 JSX 。 |
DOM操作代價很高。 | DOM 操作非常簡單。 |
消耗的內存較多。 | 很少的內存消耗。 |
2. 什么是React?
- React 是 Facebook 在 2011 年開發的前端 JavaScript 庫。
- 它遵循基于組件的方法,有助于構建可重用的UI組件。
- 它用于開發復雜和交互式的 Web 和移動 UI。
- 盡管它僅在 2015 年開源,但有一個很大的支持社區。
3. React有什么特點?
React的主要功能如下:
1)它使用虛擬DOM 而不是真正的DOM。
2)它可以用服務器端渲染。
3)它遵循單向數據流或數據綁定。
4. 列出React的一些主要優點。
React的一些主要優點是:
1)它提高了應用的性能
2)可以方便地在客戶端和服務器端使用
3)由于 JSX,代碼的可讀性很好
4)React 很容易與 Meteor,Angular 等其他框架集成
5)使用React,編寫UI測試用例變得非常容易
5. React有哪些限制?
React的限制如下:
1)React 只是一個庫,而不是一個完整的框架
2)它的庫非常龐大,需要時間來理解
3)新手程序員可能很難理解
4)編碼變得復雜,因為它使用內聯模板和 JSX
6. 什么是JSX?
JSX 是J avaScript XML 的簡寫。是 React 使用的一種文件,它利用 JavaScript 的表現力和類似 HTML 的模板語法。這使得 HTML 文件非常容易理解。此文件能使應用非常可靠,并能夠提高其性能。
7. 你了解 Virtual DOM 嗎?解釋一下它的工作原理。
Virtual DOM 是一個輕量級的 JavaScript 對象,它最初只是 real DOM 的副本。它是一個節點樹,它將元素、它們的屬性和內容作為對象及其屬性。 React 的渲染函數從 React 組件中創建一個節點樹。然后它響應數據模型中的變化來更新該樹,該變化是由用戶或系統完成的各種動作引起的。
Virtual DOM 工作過程有三個簡單的步驟。
1)每當底層數據發生改變時,整個 UI 都將在 Virtual DOM 描述中重新渲染。
2)然后計算之前 DOM 表示與新表示的之間的差異。
3)完成計算后,將只用實際更改的內容更新 real DOM。
8. 為什么瀏覽器無法讀取JSX?
瀏覽器只能處理 JavaScript 對象,而不能讀取常規 JavaScript 對象中的 JSX。所以為了使瀏覽器能夠讀取 JSX,首先,需要用像 Babel 這樣的 JSX 轉換器將 JSX 文件轉換為 JavaScript 對象,然后再將其傳給瀏覽器。
最后
由于文檔內容過多,為了避免影響到大家的閱讀體驗,在此只以截圖展示部分內容,詳細完整版的JavaScript面試題文檔,或更多前端資料可以點此處免費獲取。
整版的JavaScript面試題文檔,或更多前端資料可以點此處免費獲取。