在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,可以让JavaScript运行在服务端,如果你想通过深入学习node.js找到一份非常好的工作。可以通过本片文章提升你面试成功的几率。下面就为大家分享关于node.js的面试题吧。

1、举例说明你最喜欢的HTTP框架及其原因
这题没有唯一的答案。本题主要考察被面试者对于他所使用的Node框架的理解程度, 考察他是否能够给出选择该框架的理由,优缺点等。常用的HTTP框架你可以参考这个网站。
2、什么是错误优先的回调函数?
错误优先的回调函数用于传递错误和数据。第一个参数始终应该是一个错误对象, 用于检查程序是否发生了错误。其余的参数用于传递数据。例如:
fs.readFile(filePath, function(err, data) {
if (err) {
//handle the error
}
// use the data object
});
解析:这个题目的主要作用在于检查被面试者对于Node中异步操作的一些基本知识的掌握。
3、如何避免回调地狱
你可以有如下几个方法:
模块化:将回调函数分割为独立的函数;
使用Promises;
使用yield来计算生成器或Promise;
解析:这个问题有很多种答案,取决你使用的场景,例如ES6, ES7,或者一些控制流库。
4、哪些工具可以用来保证一致性的代码风格
你可以选择如下的工具:
JSLint <http://jslint.com/>
JSHint <http://jshint.com/>
ESLint <http://eslint.org/>
JSCS <http://jscs.info/> - 推荐
在团队开发中,这些工具对于编写代码非常的有帮助,能够帮助团队开发者强制执行规定的风格指南, 还能够通过静态分析捕获常见的错误。
解析:用于检查被面试者是否有大型项目开发经验。
5、使用NPM有哪些好处?
通过NPM,你可以安装和管理项目的依赖,并且能够指明依赖项的具体版本号。 对于Node应用开发而言,你可以通过package.json文件来管理项目信息,配置脚本, 以及指明项目依赖的具体版本。
解析:它能考察面试者使用npm命令的基础知识和Node.js开发的实际经验。
6、什么是Stub?举个使用场景
Stub是用于模拟一个组件或模块的函数或程序。在测试用例中, 简单的说,你可以用Stub去模拟一个方法,从而避免调用真实的方法, 使用Stub你还可以返回虚构的结果。你可以配合断言使用Stub。
举个例子,在一个读取文件的场景中,当你不想读取一个真正的文件时:
var fs = require('fs');
var readFileStub = sinon.stub(fs, 'readFile', function (path, cb) {
return cb(null, 'filecontent');
});
expect(readFileStub).to.be.called;
readFileStub.restore();
在单元测试中:Stub是完全模拟一个外部依赖,而Mock常用来判断测试通过还是失败。
解析:用于测试被面试者是否有测试的经验。如果被面试者知道什么是Stub, 那么可以继续问他是如何做单元测试的。
7、什么是测试金字塔?
测试金字塔指的是: 当我们在编写测试用例时,底层的单元测试应该远比上层的端到端测试要多。
当我们谈到HTTP API时,我们可能会涉及到:
有很多针对模型的底层单元测试;
但你需要测试模型间如何交互时,需要减少集成测试;
解析:本文主要考察被面试者的在测试方面的经验。
上面就是为大家分享的7道关于node.js的常见面试题。在这些年的发展过程中,node.js已经成为一个成熟的开发平台,有许多大型高流量网站都采用node.js进行开发,此外开发人员还可以用它来开发一些快速移动web框架。文中部分内容来源于网络整合,请参考阅读。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Docker实践之Docker容器
今天我们来梳理下Docker实践的知识点—Docker容器。本文将从Docker容器创建、启动、和停止三个方面,为大家讲解。
7256
2019-07-31 13:12:00
五个常用的Bash历史记录操作方式
众所周知,Bash历史记录里有许多快捷方式的记录,让人眼花缭乱。其实这些快捷方式使用起来,可以极大的提高我们学习和工作的效率。如果大家觉得这些方式很难记,可以循序渐进,每天只学一点内容,这样就能轻松掌握。下面小编将选五个最常用到的Bash历史记录操作方式为大家介绍。
5299
2019-11-08 20:01:38
Linux5.6五大功能升级更新介绍
最近,Linux将要发行新的版本,不得不说,这是一个振奋人心的好消息。相信大家都会好奇,Linux5.6版本能给我们带来怎样崭新的体验?本文就来带大家好好了解下Linux5.6 版本中升的五大最新功能,看看这次版本的更新换代能为我们带来哪些确确实实的好处,感兴趣的朋友现在赶紧和小编一起一睹为快吧!
5019
2020-02-10 21:13:56
迎复工潮 办公室内口罩戴多长时间?多久更换一次?
口罩佩戴的时间要适宜。医用无纺布口罩持续应用6~8小时,遇紧急情况应及时更换:呼吸困难,口罩有破损或毁坏,口罩与面部无法密合,口罩受污染,染有血渍或飞沫等异物时,曾使用于隔离病房或病患接触,有异味需要及时更换
8765
2020-02-24 15:32:34
学IT大概需要多少费用?
学IT大概需要多少费用?按照目前培训市场的行情,IT培训的学费最低也要上万元,根据地区经济发展水平和不同的学科内容,一般都在25K之内。线上的IT课程普遍会比线下的面授课便宜很多,毕竟省去了场地的大头成本。另外,不同的培训科目内容,培训价格也有所区别。不过比起学费,选择一个靠谱的培训机构和自己喜欢擅长的科目更重要!
5769
2020-07-07 17:23:39
