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面试题文档,或更多前端资料可以点此处免费获取。