在线客服
扫描二维码
下载博学谷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框架。文中部分内容来源于网络整合,请参考阅读。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
数据流图与程序流程图有什么区别?
最近,有人问我:数据流图与程序流程图有什么区别?今天,小编就来和大家梳理一下数据流图与程序流程图的区别以及相关知识点。
14029
2019-07-26 20:09:42
疫情防控在家办公期间远程办公软件有哪些?
2020年新型肺炎疫情蔓延。新型冠状肺炎疫情期间居家隔离,要求在家办公推迟返工时间,施行在家办公的机制,对于在线协作或远程办公软件产生了需求。远程办公软件协助工作,进行在线沟通,灵活安排工作。小编整理了几款比较好用的远程软件分享给大家。
6700
2020-02-13 10:03:50
代码中if…else过多怎么办?解决方案汇总
if…else是我们经常会使用的基础语法,但是在代码中如果存在过多的if…else,将会很大程度影响代码的可读性和可维护性。那么代码中if…else过多怎么办?本文为大家汇总了解决这个问题的五种方案,下面我们来逐一看看吧!
5956
2020-05-12 14:45:50
IT在线教育培训有哪些优势?
现在是一个全民活到老学到老的时代,越来越多的人会在网上寻找教学内容,随之也就运应而出了许多的在线教育培训机构、网站等,很多人会选择通过他们去学习一些知识,那么在线教育培训有什么优势?在线教育中,运用计算机网络所特有的信息数据库管理技术和双向交互功能。
4132
2020-06-18 17:18:56
如何通过建立索引优化SQL?
优化SQL是一个老生常谈的问题,我们可以从多方面入手对SQL进行优化。今天本文主要从应用层来看,如何通过建立索引优化SQL。索引的数据结构B+Tree有着较高的查询性能,因此建立索引主要是对SQL 的查询性能进行优化。下面我们一起来看看建立普通索引、建立复合索引、最左前缀匹配原则、索引下推、覆盖索引、普通索引等等内容吧~
4733
2020-06-24 17:37:23