NodeJs(前端面试题整合)

1.谈谈对 Node 的理解

Node.js 在浏览器外运行 V8 JavaScript 引擎,单线程 非阻塞 I/O 事件驱动,适应于数据高并发,适合多请求,但不适合高运算,有权限读取操作系统级别的 API,无法直接渲染静态页面,提供静态服务,没有根目录的概念,必须通过路由程序指定文件才能渲染文件,比其他服务端性能更好,速度更快,npm 仓库,常用框架:Express,koa,Socket.io,AdonisJs,NestJS

2.什么是 gulp?作用?机制是什么?常用命令有哪些?

gulp 是基于 node 的自动化构建工具

作用:

1 自动压缩 JS 文件

2 自动压缩 CSS 文件

3 自动合并文件

4 自动编译 sass

5 自动压缩图片

6 自动刷新浏览器

机制:

Unix 操作系统的管道(pipe)思想 前一级输出 后一级输入

常用命令:

.src  输出(Emits)符合所提供的匹配模式(glob)或者匹配模式的数组(array of globs)的文件。 将返回一个 Vinyl files 的 stream 它可以被 piped 到别的插件中。
.watch  监视文件,并且可以在文件发生改动时候做一些事情。它总会返回一个 EventEmitter 来发射(emit) change 事件。
.dest   能被 pipe 进来,并且将会写文件。并且

  • 17
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Node.js前端面试中经常被提及,以下是一些常见的面试问题和回答: 1. 你对Node.js的理解是什么? Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,可以用于构建高性能、可扩展的网络应用程序。它使用单线程和非阻塞I/O模型,适用于处理并发的I/O密集型任务。 2. Node.js的优点和缺点是什么? Node.js的优点包括高性能、可扩展性、异步编程模型、丰富的包管理器等。缺点包括CPU计算能力受限、单线程可能导致阻塞等。 3. Node.js适用于哪些应用场景? Node.js适用于需要处理大量并发的I/O操作,例如实时聊天应用、实时数据推送、物联网、代理服务器等。 4. Node.js有哪些全局对象? 例如,`process`对象用于访问进程相关信息,`fs`模块用于文件系统操作,`Buffer`用于处理二进制数据,`stream`模块用于处理流数据等。 5. process对象在Node.js中的作用是什么? process对象提供了许多方法和属性,用于管理Node.js进程,例如获取命令行参数、设置环境变量、退出进程等。 6. fs模块在Node.js中的作用是什么? fs模块用于处理文件系统操作,例如读取文件、写入文件、删除文件、创建目录等。 7. Buffer在Node.js中的作用是什么? Buffer用于处理二进制数据,例如在网络传输中,可以使用Buffer来读取和写入数据。 8. stream在Node.js中的作用是什么? Stream模块用于处理流数据,可以在读取和写入大型数据时提供高效的内存管理。 9. Node.js文件查找的优先级和require方式的文件查找策略是什么? Node.js文件查找的优先级是先查找缓存,然后查找内置模块,再查找文件模块或文件夹中的package.json,最后查找index.js或index.json。require方式的文件查找策略是先查找node_modules文件夹中的模块,然后逐级向上查找。 10. 中间件是什么概念? 中间件是位于客户端和服务器之间的一个处理请求和响应的环节,可以对请求和响应进行处理和转换。 11. 如何实现JWT鉴权机制? JWT鉴权机制可以通过在服务端生成一个带有用户信息和签名的令牌,并在客户端将令牌存储起来。每次请求时,客户端将令牌发送给服务端,服务端校验令牌的合法性并解析用户信息。 12. 如何设计分页功能,前后端如何交互? 分页功能可以通过在服务端查询数据时设置偏移量和限制数量来实现,客户端可以向服务端发送包含页码和每页数量的请求参数。服务端根据请求参数计算出偏移量和限制数量,从数据库中获取相应的数据返回给客户端。 13. Node.js性能监控和优化可以通过使用性能分析工具和调优技术来实现,例如使用Node.js内置的`profiler`模块进行性能分析,使用缓存和异步编程模型来提高性能,使用负载均衡和集群来实现扩展等。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [前端面试题NodeJS系列](https://blog.csdn.net/qq_48701993/article/details/127223784)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋の本名

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值