奔三路 - 你30岁前的学习路!

奔三路学习网

当前位置: 主页 > 前端面试通 > 题库 >

node.js前端面试题汇总,附答案

时间:2017-10-23 17:09来源:未知 作者:admin
1、为什么用Nodejs,它有哪些缺点? 答:事件驱动,通过闭包很容易实现客户端的生命活期。 不用担心多线程,锁,并行计算的问题 V8引擎速度非常快 对于游戏来说,写一遍游戏逻辑代
1、为什么用Nodejs,它有哪些缺点?

   
答:事件驱动,通过闭包很容易实现客户端的生命活期。
    不用担心多线程,锁,并行计算的问题
    V8引擎速度非常快
    对于游戏来说,写一遍游戏逻辑代码,前端后端通用。

当然Nodejs也有一些缺点:

    nodejs更新很快,可能会出现版本联兼容
    nodejs还不算成熟,还没有大制作。
    nodejs不像其他的服务器,对于不同的连接,不支持进程和线程操作。

2、什么是error-first的回调方式?

答:Error-first回调方式用来同时传递error和data。将错误作为第一个参数,它就必须先检查看看有没有错误先。另外的参数就用来传递data了。

fs.readFile(filePath, function(err, data) {
  if(err) {
    //处理错误,这里的return很重要,如果发生错误,在此处就会停止了。
    return console.log(err);
  }
  //传递data
  console.log(data);
})


3、你是如何避免回调地狱的?

答:    模块化 把回调函数分割成独立的函数

    使用控制流的库,比如async

    generators结合Promise

    async/await


4、Promise是什么?

答:概念不多说了,简单来说就是帮助你更好地处理异步操作的东西。

new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve('result');
  }, 100)
})
  .then(console.log)
  .catch(console.error)


5、stub是什么? 举个例子?

stub是用来模拟组件/模块行为的东西,它在测试阶段为函数调用提供内部响应。

例子是写文件,但实际上并没有这么做

var fs = require('fs');

var writeFileStub = sinon.stub(fs, 'writeFile', function(path, data, cb) {
  return cb(null)
})

expect(writeFileStub).to.be.called
writeFileStub.restore(); (责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容