Node.js 面试题
什么是 node.js?
Nodejs 有哪些主要优势?
Node.js 是单线程的吗?如果是,为什么?
您可以使用 Node js 构建哪些类型的应用程序?
Node js 如何读取文件的内容?
讨论一下 Nodejs 中的流?流有哪些不同类型?流允许以连续的方式从源到目标读取和写入数据。
什么是闭包?
Zlib 在 Nodejs 中使用吗?如果是,为什么?
讨论 Node.js 中的全局变量?
区分 Nodejs 和 Ajax?
Node.js 中的 Modulus 是什么?
我们在这里列出了 Node.js 面试中最常见的问题,方便你随时查阅。这里是解决你所有疑问的一站式平台。我们为你提供了 25 个 Node.js 面试常见问题,助你在面试中脱颖而出。让我们来看看下面的问题。
什么是 node.js?
第一个也是最常被问到的问题是,什么是 Node.js?Node.js 是一个开源服务器环境,它使用 JavaScript 来构建计算简单但易于访问的 Web 软件。它运行速度非常快,并且可以在 Windows、Linux、Mac OS X 等不同平台上运行。
Nodejs 有哪些主要优势?
Node js 有许多优点,如下所述。
它速度很快,因为它基于 Google Chrome 的 V8 JavaScript 引擎构建,这使得它非常快。Node.js
运行时没有缓冲和阻塞。它以块的形式输出数据。
它是异步的,这意味着 Node.js 永远不会停止等待 API 返回数据。它随时准备接受下一个请求。
Node.js 是单线程的吗?如果是,为什么?
嗯,是的,实际上也不是。NodeJS 是单线程的,因为两个函数不能同时运行。然而,一个正在运行的程序(称为进程)可以有多个线程。NodeJS 每次只运行一个程序,以实现其程序执行的异步特性,因此它是一个单线程服务器环境;但程序可以在内部使用多个线程来获得最佳性能,因此它是一个多线程服务器环境。
您可以使用 Node js 构建哪些类型的应用程序?
流媒体应用
聊天应用
物联网
微服务
协作工具
只要你说得出来,我们就可以用 Node.js 构建它
Node js 如何读取文件的内容?
NodeJS 的 fs(文件系统)模块提供了与系统文件交互的 API。我们可以使用多种方法读取文件。在下面的示例中,我们将使用 fs 模块的 readfile 方法读取文件的内容。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var fs = require('fs');
fs.readFile('DATA', 'utf8', function(err, contents) {
console.log(contents);
});
console.log('调用 readFile 之后');
如果你想以同步方式了解,请查看此示例
var fs = require('fs');
var contents = fs.readFileSync('数据', 'utf8');
控制台.log(内容);
讨论一下 Nodejs 中的流?流有哪些不同类型?流允许以连续的方式从源到目标读取和写入数据。
流有 4 种类型
· 促进阅读操作
· 促进写作操作
· 促进两者
· < Transform> 是一种双工流,它根据可用的输入进行计算。
什么是闭包?
闭包是在另一个作用域中维持的函数,可以访问外部作用域中的所有其他变量。
Zlib 在 Nodejs 中使用吗?如果是,为什么?
是的,Nodejs 中使用了 Zlib,它是由 Jean-loup Gailly 和 Mark Adler 编写的。它是一个跨平台的数据压缩库。您需要安装 node-Zlib 软件包才能在 Nodejs 中使用 Zlib。下面给出了一个示例代码,展示了如何使用 Zlib。
另请阅读什么是 API 以及它是如何工作的?
1
2
3
4
5
6
7
8
9
var Buffer = require('buffer').Buffer;
var zlib = require('zlib');
var input = new Buffer('lorem ipsum dolor sat amet');
var 压缩 = zlib.deflate(输入);
var 输出 = zlib.inflate(压缩);
讨论 Node.js 中的全局变量?
全局变量基本上由三个词组成:Global、Process 和 Buffer。我们来逐一讨论一下。
Global——顾名思义,Global 指的是其涵盖范围很广。因此,它是一个命名空间对象,充当所有其他对象的保护伞。
Process——它是全局的指定类型,可以将异步函数转换为异步回调。它可以从代码中的任何位置链接,并返回有关应用程序的信息。
Buffer——Buffer 是 Nodejs 中用于处理二进制数据的类。
区分 Nodejs 和 Ajax?
Ajax 用于页面内容的特定部分并更新该特定部分而不是更新全部内容。
另一方面,Nodejs 用于开发客户端-服务器应用程序。以上两者各有用途,都是 JavaScript 的升级实现。
Node.js 中的 Modulus 是什么?
模块是一段可复用的代码块,其存在不会以任何方式影响其他代码。JavaScript 不支持它。ES6 中引入了模块。模块对于代码的可维护性、可复用性和命名空间至关重要。
了解一些更关键的问题- https://codersera.com/blog/25-interview-questions-on-node-js/
鏂囩珷鏉ユ簮锛�https://dev.to/johnathonroy5/interview-questions-on-node-js-4l34