nodejs 面试题(个人总结)

  1. 什么是nodejs?我们在哪里使用它

Node 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。

  1. 为什么要使用node js

Node是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用

作为web前端开发人员需要了解一门后台语言

对于前端开发人员nodejs 更容易上手

  1. nodejs有哪些特点

RESTful API

单线程

非阻塞IO

V8虚拟机

事件驱动

  1. 什么是回调函数 ​ 回调函数,就是放在另外一个函数(如 parent)的参数列表中,作为参数传递给这个 parent,然后在 parent 函数体的某个位置执行,Node.js 异步编程的直接体现就是回调

  2. NPM的作用是什么

node的包管理工具

  1. 什么是事件循环

Node.js 在主线程里维护了一个事件队列,当接到请求后,就将该请求作为一个事件放入这个队列中,然后继续接收其他请求

  1. 什么是错误优先的回调函数

NodeJS 通常使用回调模式,如果在执行期间发生错误,会把错误作为回调的第一个参数传递到回调函数中

  1. node模块分几类

内置模块 自定义模块 第三方模块

  1. npm 下载模块的命令是什么

npm install 模块名 --save

  1. npm 本地下载和全局下载的区别是什么

--save -g 一个是功能模块 一个是工具

  1. *http请求消息的格式是什么 ​ 请求行 请求头 空行 请求数据

  2. http响应消息的格式是什么

响应行 响应头 空行 响应正文

  1. url包含哪几部分

协议 域名 路径 参数

  1. get和post传输数据的区别是什么

传输数据的方式不一样 一个在请求头 post在请求体

get 传输量小 post传输量大

  1. http工作原理

    1、客户端连接到Web服务器 2、发送HTTP请求

    3、服务器接受请求并返回HTTP响应

    4、释放连接TCP连接

    5、客户端浏览器解析HTML内容

  2. http状态码有哪些

    1xx:指示信息--表示请求已接收,继续处理

    2xx:成功--表示请求已被成功接收、理解、接受

    3xx:重定向--要完成请求必须进行更进一步的操作

    4xx:客户端错误--请求有语法错误或请求无法实现

    5xx:服务器端错误--服务器未能实现合法的请求

  3. 说一下对端口的理解

通过“IP地址+端口号”来区分不同的服务的

  1. 什么是域名

    域名(英语:Domain Name),又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)

  2. 说一下对ip的理解

IP是Internet Protocol(网际互连协议)的缩写,是TCP/IP体系中的网络层协议

IP地址是用来识别网络上的设备,IP地址是由网络地址与主机地址两部分所组成

  1. express生成器创建项目的命令是什么

express -e 项目名称

  1. 模板引擎的作用是什么

界面和数据的分离 模板复用

  1. ejs模板 如何渲染一个列表

    <% for(var i=0;i<list.length;i++){ %>

    <li>

    <%= list[i]. %>

    </li>

<% } %>

  1. mongoose操作mongoDB数据库,连接数据库的步骤

    1. 引入第三方模块mongoose

    2. 连接数据库:mongoose.connect(‘数据库的地址’)

    3. 设置集合规则:new mongoose.Schema()

    4. 创建集合:mongoose.model(‘集合名’, 集合规则)

  2. 向mongoDB数据库中导入数据的命令

    mongoimport -d 数据库名 -c 集合名 --file 要导入的文件

  3. mongoose操作mongoDB数据库,查找数据库中年龄大于20小于40的文档+

    集合.find({ age: { $gt: 20, $lt: 40 } })

  4. mongoose操作mongoDB数据库,删除多条文档 集合.deleteMany( ‘条件’)

  5. 什么是同源策略

    同源策略 是由NetScape提出的一个著名的安全 策略,它是浏览器最核心也最基本的安全功能

    所谓的同源,指的是协议,域名,端口相同。浏览器处于安全方面的考虑,只允许本域名下的接口交互,不同源的客户端脚本,在没有明确授权的情况下,不能读写对方的资源 4

  6. 什么是跨域

    跨域,是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript实施的安全限制

  7. 跨域解决方案,最少说出三种

    **Jsonp, CORS, 代理,反向代理,哈希处理跨域,a链接处理跨域**

  8. jsonp的原理

    1. script的src属性不受同源策略的限制

    2. 将不同源的服务器端请求地址写在 script 标签的 src 属性中

       

上一篇:原创-Mongodb


下一篇:前后端分离编写简单注册登录案例,并实现session存储持久化