2021-10-24 NodeJS面试题
1、什么是模块化?什么是模块化开发?
模块化是将项目中不同的功能拆分成多个独立的模块,通过模块之间的互相组合完成一定功能的操作过程
模块化开发完成模块化拆分和最后的模块化合并的开发模式
2、简述面相过程和面向对象的联系和区别?
面向过程和面向对象都是编程思想,都是解决问题的思路
面向过程编程注重于解决问题的过程和步骤,最直观的实现方式就是函数式编程;它的优点是开发的软件稳定性(耦合度)非常高,缺点是由于耦合度较高导致项目功能的扩展性较差
面向对象编程注重与解决问题时参与的对象以及对象的行为,通过对象的行为之间的互相调用/协作完成最终问题的解决,最直观的实现方式是类和对象;它的优点是开发的软件功能扩展性较好,缺点是开发的软件功能的稳定性较差
3、module.exports和exports有什么区别?
NodeJS模块化开发时,遵循CommonJS规范的情况下导出模块使用的对象
module是NodeJS给js模块提供的一个内置对象,一般指代的当前js文件/模块
module对象中包含了一个对象exports用于导出数据;同时NodeJS为了方便数据的导出操作,通过引用赋值的方式将module.exports赋值给exports,可以使用exports导出数据;具体使用时需要注意模块实际导出数据使用的依然是module.exports,所以在这两个关键词混合操作时注意导出数据的有效性问题!
// ① exports
exports.name = “tom”
// ② module.exports
module.exports = {name,}
// ③ 混合
exports.name = “tom”
module.exports.version = “V1.0”
// ④ 问题:name数据没有导出
exports.name = “tom”
let version = “V1.0”
module.exports = {version,}
4、http模块如何创建并启动一个web服务?
const http = require(“http”)
const server = http.createServer( (req, resp) => {
// 接收并处理用户请求
} )
server.listen(3000, ‘0.0.0.0’, err=> {
if(err) console.log(“服务器出现了问题”)
else console.log(“服务器正常启动”)
})
5、什么是IP地址?什么是端口?什么是网络协议?你都知道那些常见的网络协议?
IP地址:全称Internet Protocol,网际互联协议,主要用于规范和描述在互联网啥你给的计算机之间的网络连接;具体体现在使用固定的规则表示互联网上的唯一的计算机
IP地址主要使用版本使用二进制表示的IPv4和使用十六进制表示的IPv6,现阶段主流IP地址主要是IPv4,IPv6地址已经开始部署使用,但是软件开发时依然没有作为主要的参考地址
端口:全称Port,数据通信端口,描述了一台计算机上可以安装很多软件,每个软件连接网络的时候都需要数据通信,端口的出现就是为了保障每个软件都可以独立的进行网络数据通信
网络协议:全称protocol,网络数据通信协议,描述了工作在网络上的多台计算机进行数据正确的共享的格式和规则
常见的网络协议:
- ftp:file transfer protocol,文件传输协议
- http:hyper text transfer protocal,超文本传输协议
- https:hyper text transfer protocol security,安全的超文本传输协议
- smtp:simple mail transfer protocol,简单邮件传输协议
- ssh:security shell,安全外壳协议,也称为安全隧道协议
- TCP:Transfer Control Protocol 传输控制协议
6、简述一个请求从发起到看到浏览页面的过程中都发生了什么事?
浏览器输入URL地址发起请求后
- 工作在网络上的DNS域名解析服务器接受到域名,解析出域名对应的IP地址
- 请求继续向具体的IP地址发送,由网络上IP地址对应的服务器主机接受到请求
- 服务器主机根据请求端口,找到服务器主机上端口对应的WEB服务器
- WEB服务器根据请求路径,交给对应的业务模块进行对应的业务处理,包装处理结果
- 处理结果包装成响应数据,返回给客户端
- 客户端浏览器解析响应数据,渲染展示对应的界面
7、简述HTTP和HTTPS协议的联系和区别
HTTP协议和HTTPS协议,都是超文本传输协议,HTTPS提供了安全数据通道,让工作在网络上的超文本数据在传输的时候具备了保密功能,保障了数据的安全传输
2021-10-24 NodeJS面试题相关推荐
- 浅谈 LOL 技能轨迹写法 - 英雄联盟 2021.10.24
本篇讲的是 当前比较火热的 LXL 百度了一下午,发现 网络上并没有多少资料 有的也只是10.x的版本数据及写法,里面所写的思路可以参考,但是没有实践的的基础,很难理解他们大佬的写法.下面 我就来讲一 ...
- 2021/10/24 2021ICPC江西省赛 部分个人题解 A,B,H,K,L,J
K Many Littles Make a Mickle 题目大意:有t组输入,每组输入一个n,一个m,表示有n层,第i层有i*i个房间,每个房间有m个人,求有多少人. 题解:数据小,暴力求和即可(也 ...
- 最新Java面试题2021年,常见面试题及答案汇总
2021最新Java面试题[附答案解析]java面试题及答案2021,java2021最新面试题及答案汇总,2021最Java面试题新答案已经全部更新完了,有些答案是自己总结的,也有些答案是在网上搜集 ...
- 2021年高压电工新版试题及高压电工试题及解析
题库来源:安全生产模拟考试一点通公众号小程序 安全生产模拟考试一点通:高压电工新版试题是安全生产模拟考试一点通生成的,高压电工证模拟考试题库是根据高压电工最新版教材汇编出高压电工仿真模拟考试.2021 ...
- 2021年低压电工免费试题及低压电工考试技巧
题库来源:安全生产模拟考试一点通公众号小程序 安全生产模拟考试一点通:2021年低压电工免费试题为正在备考低压电工操作证的学员准备的理论考试专题,每个月更新的低压电工考试技巧祝您顺利通过低压电工考试. ...
- 2021年低压电工新版试题及低压电工证考试
题库来源:安全生产模拟考试一点通公众号小程序 安全生产模拟考试一点通:2021年低压电工新版试题为正在备考低压电工操作证的学员准备的理论考试专题,每个月更新的低压电工证考试祝您顺利通过低压电工考试. ...
- 2021年安全员-B证试题及解析及安全员-B证证考试
题库来源:安全生产模拟考试一点通公众号小程序 安全员-B证试题及解析是安全生产模拟考试一点通总题库中生成的一套安全员-B证证考试,安全生产模拟考试一点通上安全员-B证作业手机同步练习.2021年安全员 ...
- leetcode刷题记录2:进度64, 2021.10.23
文章目录 数组的度(题目编号697:[link](https://leetcode-cn.com/problems/degree-of-an-array/)) 二叉搜索树(题目编号700:[link] ...
- 2021年低压电工模拟试题及低压电工作业考试题库
题库来源:安全生产模拟考试一点通公众号小程序 低压电工模拟试题参考答案及低压电工考试试题解析由安全生产模拟考试一点通题库老师及低压电工操作证已考过的学员汇总,相对有效帮助低压电工作业考试题库学员顺利通 ...
- 2021年低压电工免费试题及低压电工实操考试视频
题库来源:安全生产模拟考试一点通公众号小程序 安全生产模拟考试一点通:2021年低压电工免费试题为正在备考低压电工操作证的学员准备的理论考试专题,每个月更新的低压电工实操考试视频祝您顺利通过低压电工考 ...
最新文章
- Javascript面向对象编程:构造函数的继承
- 设计模式是用来弥补面向对象编程缺陷的方法总结
- 【分享】linux下u盘使用
- Java虚拟机(三)——类加载子系统概述
- python 京东 价格监控_双十一购物 || Python监控商品价格 插件监控
- Hexo博客搭建之Next主题的安装与设置
- 基于YYLabel的图文混排
- iis 支持apk json ipa下载
- php faker,Laravel的Faker的使用
- 【比特熊故事汇】2月MVP英雄故事|有爱的开源
- JAVA Signal Handing
- 自动驾驶之-MATLAB环境下基于深度学习的语义分割
- 请求成功但是报错: Uncaught (in promise)
- 解密中国互联网企业创始人,程序员打下半壁江山
- 简单了解一下LCD屏工作原理
- 成熟FOC电机控制代码 可用于电动自行车,滑板 车,电机FOC控制等
- 前端工程师考核总结_最新前端工程师周工作总结
- 柯尔特python_广州市柯卫达科技有限公司
- 三恒矿用计算机,三恒KJ70N-WG矿用本安型无线网关
- 解决redis连接错误:MISCONF Redis is configured to save RDB snapshots, but it is currently not able to...
热门文章
- 03 【ArcGIS JS API + eCharts系列】实现二、三维散点图的绘制
- if [ $? -eq 0 ]的含义
- 室外低速自动导航车的设计(2)——多线激光雷达的点云解析
- 网络服务器性能常见问题,服务器在使用过程中常见的误区有哪些?
- Could not set property ‘id‘ of ‘class com.example.demo.entity.User‘ with value ‘1488484032207781890‘
- 2014年终总结–家
- 如何快速构建内部钓鱼平台
- uni保存canvas图片_uni-app canvas生成图片的一些问题
- ubuntu i386在32位机器上安装
- 自动驾驶--Deep3DBox