前端面试题之NodeJS系列

1、说说你对nodeJS的理解?优缺点?应用场景?

nodeJS是一个服务器端的,非阻塞式I/o的、事件驱动的JavaScript运行环境。

非阻塞I/O,是指NodeJS采用非阻塞I/O机制,在做I/O操作的时候不会造成任何的阻塞,当完成之后,以时间的形式通知执行操作。 事件驱动,当进来一个新的请求的时候,请求将会被压入一个事件队列中,然后通过循环来检测队列中的事件状态变化,如果检测到有状态变化的事件,那么就执行该事件对应的处理代码,一般都是回调函数。

优点:

处理高并发场景性能更佳;

适合I/O密集型应用;

缺点:

不支持CPU密集型应用;

只支持单核CPU,不能充分利用CPU;

可靠性低,一旦代码某个环节奔溃,整个系统都会奔溃

【应用场景】:

善于I/O,不善于计算。因为Node.JS最擅长的就是任务调度,如果业务有很多的CPU计算,实际上也相当于这个计算阻塞了这个单线程,就不太合适Node开发,但是也不是没有解决方案,只是说不太适合。 当应用程序需要处理大量并发的I/O,而在向客户端发出响应之前,应用程序内部并不需要进行非常复杂的处理的时候,Node.js非常合适。 【具体场景】:

1、用户表单收集系统,后台管理系统,实时交互系统,考试系统,联网软件,高并发量的web应用程序;

2、基于web、canvas等多人联网游戏;

3、基于web的多人实时聊天客户端、聊天室、图文直播;

4、单页面浏览器应用程序

2、说说NodeJS有哪些全局对象

在浏览器Javascript中,通常window是全局对象,而NodeJS中的全局对象是globa

1、真正的全局对象:

Class:Beffer;可以处理二进制以及非Unicode编码的数据

process;进程对象,提供有关当前进程的信息和控制

console;打印

最常用的输入内容的方式:console.log 清空控制台 console.clear 打印函数的调用栈:console.trace clearInterval、clearTimeout、setInterval、se

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值