在线客服
扫描二维码
下载博学谷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框架。文中部分内容来源于网络整合,请参考阅读。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
面试中经常遇到的问题(中)HR都会问什么?
面试中经常遇到的问题(中)HR都会问什么?你最擅长的技术方向是什么?你能为我们公司带来什么呢?最能概括你自己的三个词是什么?你的业余爱好是什么?等问题。
11242
2019-08-08 09:59:29
数据流图与程序流程图有什么区别?
最近,有人问我:数据流图与程序流程图有什么区别?今天,小编就来和大家梳理一下数据流图与程序流程图的区别以及相关知识点。
14942
2019-07-26 20:09:42
学什么IT技术就业前景好?需要读研究生吗?
学什么IT技术就业前景好?当今是大数据人工智能时代,学习IT技术会有比较广阔的职业发展前景和很多的IT就业岗位,目前对于大数据人工智能的专业包括大数据专业、物联网专业、云计算与数据科学专业、人工智能专业、软件工程专业和计算机科学与技术专业。
8499
2019-08-01 14:52:26
学IT有什么学历要求?
学IT的实质就是掌握一技之长,对于学历的要求并不高。我们学IT的最终目的都是为了就业,大家可以在各大招聘平台上去搜索一下IT岗位的任职要求,其中对学历的最低要求是专科。如果大家低于这个水平,建议还是先提高一下自己的学历。不然就算学出来,也很难就业。关于IT和学历之间的更多影响,下面我们详细来聊一聊。
5316
2020-06-22 11:57:07
Go语言和Python区别是什么?学哪个好?
Go语言和Python区别是什么?学哪个好?Python功能强大的高级编程语言,用于科学和工程计算。Go通用编程语言,由Google设计,借鉴了许多其他语言,避免导致复杂性和不可靠代码的功能。放下个人偏见和喜好,从优点和功能的角度来评价两种语言。不管选择了哪种语言,Go 和 Python 都在持续演进。
6279
2020-07-31 11:05:45