[译]Node.js面试问与答
2024-10-18 22:34:56
原文: 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应用的时候非常有用 - 你可以确定你依赖包的哪个版本被部署上线.
最新文章
- Java EE 和 Java Web
- iOS,Objective-C,相册功能的实现。
- CactiEZ命令行添加主机监控参考
- Objective-C命名编写规范
- 正确使用c语言中的头文件
- Jquery 的bind(), live(), delegate(), on()绑定事件方式
- JDK版本错误:Unsupported major.minor version 51.0
- node js npm 和 cnpm的使用
- C# 仿金山毒霸启动和关闭淡入淡出效果
- CSS 实现的各种球体效果
- Dokan简介[转]
- UVa 341 - Non-Stop Travel
- Codeforces Round #308 (Div. 2)
- android: 在APP中显示高德地图SDK
- Innodb buffer 相关参数
- Struts2访问ServletAPI的三种方式
- SVN跨版本库迁移目录并保留提交日志
- transition(过渡)
- 用python实现的的手写数字识别器
- session判断重复提交