node升阶段面试50


  1. nodejs的是什么(三点核心)?

  2. Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。

  3. Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型。

  4. Node 《大厂前端面试题解析+Web核心总结学习笔记+企业项目实战源码+最新高清讲解视频》无偿开源 徽信搜索公众号【编程进阶路】 是一个让 JavaScript 运行在服务端的开发平台。

  5. 搭建一个简单服务器的步骤?

  6. 引入 http模块 var http=require('http')

  7. 创建服务 var server=http.createServer(function(req,res){})

  8. 监听端口 server.listen(3000)

  9. fs模块如何同步读取文件?以及如何处理同步阻塞问题?(读取文件路径’./a.txt’)

try{

data=fs.readFileSync(‘./a.txt’,‘utf-8’)

}catch(e){

throw e;

}

  1. fs如何异步读取文件?(路径./a.txt)

fs.readFile('./a.txt','utf-8',function(err,data){})

  1. url模块如何获取 str='http://www.baidu.com:3000/a/b?c=100中每一部分(协议,域名,端口,路径,参数)?

var url=require(‘url’);

var str=‘http://www.baidu.com:3000/a/b?c=100’

var obj=url.parse(str,true);

obj.protocal 协议

obj.hostname 域名

obj.port 端口

obj.pathname 路径

obj.query 参数

  1. 同步和异步的区别?
  • 同步:执行同步操作时,会从上往下依次执行。代码一但报错,就会阻塞,解决同步阻塞 可以用try{ } catch(e){ }

  • 异步: 执行到异步操作时,会将异步读取任务放置任务队列,等所有同步执行完毕,任务队列中的回调函数会依次执行。

  • js中常见的异步: 定时器,ajax,事件绑定(addEventlistener)

  1. npm 是什么?下载包时可以用哪个工具替代?

npm 是包管理工具,下载包时可以用cnpm代理、也可以yarn代替(google的产品)。

例如下载jquery@3.0.0,

npm ----> npm install jquery@3.0.0

cnpm----> cnpm install jquery@3.0.0

yarn ----> yarn add jquery@3.0.0

  1. express创建项目流程?

express -e projectName

cd projectName

npm install / cnpm install / yarn install

npm start / yarn start

  1. express项目目录组成,以及每部分的含义?

bin 项目启动文件(端口号可以在本文件中修改)

node_modules 项目依赖目录

routes 路由

views 视图文件 (ejs文件)

public 静态资源文件 (img、js、css、font)

app.js 核心主文件 (定义服务器)

package.json 项目信息说明

  1. get与post区别?
  • get: 参数追加在url后面、明文可见、不安全、长度有限制(IE 2k) 、请求速度快、一般用于查询。

  • post:参数放在请求头的body,大小没有限制。安全性高。请求速度不get慢。一般用户:提交、添加。

  1. 终端操作mongodb数据库,查看数据库?

show dbs

  1. 终端操作mongodb数据库,查看集合?

show collections

  1. 终端操作mongodb数据库,查看当前数据库下的one集合下所有文档?

db.one.find()

  1. 终端操作mongodb数据库,创建并切换至数据库blog?

use blog

  1. 终端操作mongodb数据库,当前数据库下创建one集合?

db.createCollection(‘one’)

  1. 终端操作mongodb数据库,one集合中插入文档{name:‘tom’}?

db.one.insert({name:‘tom’})

  1. 终端操作mongodb数据库,查询one集合下,所有age大于20的文档?

db.one.find({age:{$gt:20}})

  1. 终端操作mongodb数据库,修改one集合下,name为‘tom’的所有文档,age修改为18?

db.one.update({name:‘tom’},{$set:{age:18}},{multi:true})

备注:必须有$set , 必须有multi

  1. 终端操作mongodb数据库,删除one集合下name值为‘tom’所有文档?

db.one.remove({name:‘tom’})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值