node升阶段面试50,前端中为什么需要Handler

32 阅读5分钟

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’})

  1. 在express项目中,mongoose如何连接本地27017下的blog数据库?

mongoose.connet(‘mongodb://localhost:27017/blog’,function(){ })

  1. mongoose插件如何查询数据库,已知集合模型为Txt?

Txt.find()

  1. mongoose插件如何写入数据库,已知集合模型为Txt?

Txt.create()

  1. mongoose 插件如何删除_id值为12345的文档,已知集合模型为Txt?

Txt.remove({_id:12345})

  1. res重定向到’/’?

res.redirect(’/’)

  1. res如何返回json?

res.json(()

  1. 原生ajax的使用步骤?
  • 步骤一:创建xhr对象

  • 步骤二:调用open

  • 步骤三:调用send

  • 步骤四:监听异步回调

详细答案:blog.csdn.net/weixin_4363…


  1. 检测系统中node版本号的指令是?node -v

  2. 如何退出node执行环境(REPL环境)?ctrl+c

  3. 为什么需要后台技术? 自动发布网站,无需重复排版。 实现登陆注册,信息的保存等。 用户管理,产品管理等都需要健壮的后台技术

req,res分别代表什么? req:全称request请求对象 res:全称 response响应对象

  1. 全局安装express-generater指令是? cnpm install express-generator -g 前面用npm cnpm 都对

  2. express创建项目test指令? express test

  3. 浏览器里如何检测打开了mongodb仓库? 地址栏输入:http://127.0.0.1:27017/ 看到英文提示就对了。

  4. 整个url地址包括什么? 答:协议、端口、域名、参数就对了,下面是辅助理解。 假设这是一个url地址http://localhost:8080/a/b/c?a=1&b=2#abc,里面包含的部分: protocol: ‘http:’,//协议 host: ‘localhost:8080’, port: ‘8080’,//端口 hostname: ‘localhost’,域名

  5. 跨域的解释:跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。

  6. 什么是同源策略?所谓同源是指,域名,协议,端口均相同,

  7. 什么是模板引擎?

将html和数据分类开。这样渲染页面就不需要通过字符串拼接的方法,而是直接用ejs模板引擎,将服务器端传过来的数据在页面直接显示出来,不会那样的麻烦了

  1. 说出增删改查的常用单词? create find delete update

  2. 前端get方式如何向后台传递参数?在地址栏后面挂载参数,多个参数以&分隔,例如 abc?a=1&b=2;

  3. 前端post方式如何向后台传递参数?不是挂载在地址栏后面,而是放在请求体(主体包)body里。

  4. 后台get方式如何接收参数? express框架是req.query。

  5. 后台post方式如何接收参数? express框架是req.body,

  6. 后台返回到前端的数据格式是什么?字串或者json对象

  7. 前后台通过什么建立联系? 路由

  8. 保存到本地存储和保存到后台仓库的区别? 保存到本地,只是本机能查看和修改数据 ,而保存到服务端,所有客户机都可以访问。

  9. 什么是cookies?保存数据的一种方式,保存在客户端,是字串,最大3k.

  10. 什么是session?保存数据的一种方式,保存在服务端,是对象。

  11. cookies session 区别:cookies 保存在客户端,是字串,文件较小,最大3k,安全性差,session保存在服务端,是对象,更安全。

  12. 如何设置cookie,实现30天免登录 ? req.cookie( 参一,参二 ,{maxAge:1000_60_60_24_30})

  13. 注册的流程?

首先查询数据库,是否存在该用户,如果存在,返回注册失败,如果不存在,写入用户注册信息,注册成功。

总结

根据路线图上的重点去进行有针对性的学习,在学习过程中,学会写笔记,做总结。

这里分享一些前端学习笔记:

  • html5 / css3 学习笔记

  • JavaScript 学习笔记

  • Vue 学习笔记

开源分享:docs.qq.com/doc/DSmRnRG…