在线客服
扫描二维码
下载博学谷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都会问什么?你和别人发生过争执吗?你是怎样解决的?问题:你做过的哪件事最令自己感到骄傲?如果我录用你,你将怎样开展工作?”、“你希望与什么样的上级共事?”等问题
18065
2019-08-08 09:59:29
Kotlin是什么 干货讲解
Kotlin是什么?本文就这个问题,从Kotlin的定义、应用领域、特点、发展趋势、优势以及函数六个方面。全面为大家讲解Kotlin。
10579
2019-07-29 19:10:48
计算机学校哪家好?计算机类专业哪家强?
计算机学校哪家好?计算机类专业哪家强?目前国内比较好的计算机学校有清华大学、北京航空航天大学、北京大学、东南大学、哈尔滨工业大学、上海交通大学、南京大学、北京邮电大学、西安电子科技大学、华中科技大学等,接下来我们一起来看下。
12035
2019-08-12 14:58:58
怎么写分布式锁框架?零基础新手教程
分布式锁常常通过数据库乐观锁、基于Redis的分布式锁和基于Zookeeper的分布式锁三种方式来实现。本文是一个零基础新手教程,将教大家怎么写分布式锁框架。有兴趣的小伙伴就赶紧看下去吧!
6055
2019-08-13 15:40:36
安卓被曝的严重漏洞是什么?
相信涉及用户隐私的网络安全问题,一直都是大家关注的焦点。近来,安卓被爆存在严重漏洞。那么,安卓被曝的严重漏洞到底是什么呢?原来,在安卓系统的相机App中,以色列的一家安全公司发现恶意软件可以通过存储访问的权限,调用用户的摄像头和麦克风。这一消息的发布,可谓是一石激起千层浪,要知道如果是真的这将对数亿用户都造成影响。事实果真如此吗?让我们一起来看看最新的事件详情。
6609
2019-11-21 18:03:08
