• 在线客服

  • 扫描二维码
    下载博学谷APP

  • 扫描二维码
    关注博学谷微信公众号

  • 意见反馈

原创 程序员面试必备:node.js常见面试题分享

发布时间:2019-07-15 18:03:47 浏览 7419 来源:博学谷资讯 作者:枫调

      Node.js是一个基于Chrome V8引擎的JavaScript运行环境,可以让JavaScript运行在服务端,如果你想通过深入学习node.js找到一份非常好的工作。可以通过本片文章提升你面试成功的几率。下面就为大家分享关于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框架。文中部分内容来源于网络整合,请参考阅读。

    申请免费试学名额    

在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!

上一篇: 初学者入门编程经典五问 下一篇: 程序员必须了解的常用数据库以及其应用场景

相关推荐 更多

热门文章

  • 前端是什么
  • 前端开发的工作职责
  • 前端开发需要会什么?先掌握这三大核心关键技术
  • 前端开发的工作方向有哪些?
  • 简历加分-4步写出HR想要的简历
  • 程序员如何突击面试?两大招带你拿下面试官
  • 程序员面试技巧
  • 架构师的厉害之处竟然是这……
  • 架构师书籍推荐
  • 懂了这些,才能成为架构师
  • 查看更多

扫描二维码,了解更多信息

博学谷二维码