• [译]Node.js面试问与答


    原文: http://blog.risingstack.com/node-js-interview-questions/

    • 什么是error-first callback?
    • 如何避免无休止的callback嵌套?
    • 如何监听80端口?
    • 什么是事件循环?
    • 使用什么工具保持一致的代码风格?
    • operational和programmer错误的区别是什么?
    • 为什么npm shrinkwrap非常有用?

     

    什么是error-first callback?

    Error-first callback被用来传递错误和数据. 第一个参数是error对象,开发者用来检测是否有异常. 其它的参数用来传递数据.

    fs.readFile(filePath, function(err, data) {  
      if (err) {
        //handle the error
      }
      // use the data object
    });
    

      

    如何避免无休止的callback嵌套?

    • modularization模块化: 把callback拆分到独立的function中去
    • 使用Promises
    • 使用Generators yield

    如何监听80端口?

    陷阱题! 你不应该用80端口监听NodeJS .

    在Node里面监听一个1024以上的端口, 前面放一个 nginx 进行反向代理.

    什么是事件循环?

    Node.js在单线程中运行. 注意了Node.js 能借助libuv之类的来使用多线程

    每个 I/O 操作需要一个回调 - 一旦完成他们会被放到事件循环中去执行

    使用什么工具保持一致的代码风格?

     

    操作运行错误和程序错误有什么不同?

    运行错误不是bug, 是系统的问题, 例如网络请求超时或者硬件错误.

    程序错误才是bug.

     

    为什么npm shrinkwrap非常有用?

    当你部署你的Node.js应用的时候非常有用 - 你可以确定你依赖包的哪个版本被部署上线.

     

     

  • 相关阅读:
    ajax请求跨域和表单重复提交解决方案
    HTTP请求(HttpClient和PostMan)
    HTTP协议
    Oracle学习整理(二)
    oracle学习整理(一)
    MySQL的慢查询日志
    mysql索引优化
    Explain
    打好太极拳科学压腿的方法
    太极拳的压腿基本功
  • 原文地址:https://www.cnblogs.com/irocker/p/4614745.html
Copyright © 2020-2023  润新知