课堂测验

使用说明:

  • 推荐使用 Anki 软件,辅助记忆
  • 一定要自行创建问题卡片,并搜集和整理答案
  • 在能够理解答案,并能独立动手操作的前提下,再去记忆
  • 按照课程进度,添加新的问题卡片
  • 每天利用碎片化时间,根据 Anki 提示,复习卡片
  • 问题如果有歧义或有其他任何问题,欢迎留言

1. Node.js 简介

1.1. 课程说明及 Node.js 简介

  • 为什么选择 Linux 作为开发环境
  • 本课程会学到哪三种类型的应用程序开发
  • Node.js 是什么
  • Node.js 作为 JavaScript 的运行环境,包括哪两层含义
  • 把 Node.js API 分为哪两类
  • Node.js 架构分几层?分别是什么,画图表示
  • JavaScript 语言前端开发和后端开发的环境是什么,画图表示
  • 阻塞 I/O 和非阻塞 I/O 的区别是什么
  • Node.js 的创始人是谁
  • 创建目录的 Linux 命令是什么
  • 查看当前目录下的文件或文件夹的 Linux 命令是什么
  • 进入到某个子目录的 Linux 命令是什么
  • 如何清空命令行的内容
  • 创建并打开文件的命令是什么
  • JavaScript 语法中,如何在控制台输出信息
  • 在 Node.js 中运行某个脚本文件的命令是什么
  • REPL 是什么?如何进入 REPL 模式
  • 如何退出 REPL 模式
  • 运行 Node.js 脚本文件时,如果想省略 node 命令,需要如何操作
  • 增加 Linux 文件的可执行权限,如何操作
  • 复制文件的 Linux 命令是什么
  • 查看文件内容的 Linux 命令是什么

1.2. 开发环境搭建

  • vmware workstation 默认安装,创建的 vmnet1 和 vmnet8 网卡,分别支持哪种网络协议
  • NAT 地址模式中,linux 虚拟机中的 IP 地址上网有什么要求,默认网关地址是什么
  • 查看 linux IP 地址的命令是什么
  • 如何修改 linux 系统的 IP 地址设置
  • 修改完 IP 地址设置后,如何让 IP 地址立刻生效

1.3. vim 编辑器

  • 命令行界面下的文字处理软件主流的是哪三个
  • vi 缩写于什么
  • vim 是什么的缩写
  • 怎样启用 vi 和退出 vi
  • 如何回到 normal 模式
  • 普通模式中,向右、向左移动一个字符的快捷键分别是什么?向上,向下移动一行的快捷键分别是什么
  • 普通模式中,移动到当前行首和行尾的快捷键分别是什么
  • 普通模式中,向上翻一页和向下翻一页的快捷键分别是什么
  • 普通模式中,在当前光标后追加文本的快捷键是什么?在行位追加文本的快捷键是什么?在行首追加文本的快捷键是什么
  • 普通模式中,在光标前一行和下一行,添加新行的快捷键分别是什么
  • 怎样删除一个字符?怎样删除一行?怎样删除一个单词
  • 复制当前行和粘贴的快捷键是什么
  • 怎样同时打开多个文档
  • 怎样实现文档之间的切换
  • 在插入模式下如何前、后、上、下,移动光标
  • 在插入模式下快捷键如何删除当前光标前的一个单词?如何删除当前光标到行首?如何删除当前光标到行尾

2. 全局(上)

2.1. 全局变量

  • Node.js 的 API 分为哪两类
  • 全局路径变量是什么?其返回值是什么
  • 全局文件名变量是什么?其返回值是什么

2.2. 控制台

  • 全局控制台对象是什么
  • 控制台打印日志信息的语句是什么
  • JS 中的占位符有哪三种
  • 标准输出流和标准错误流分别是什么
  • 如何在控制台输出标准输出流和标准错误流
  • 将标准输出流重定向到一个文件中要如何操作
  • 将标准错误流重定向到一个文件中要如何操作

2.3. 进程

  • 进程对象是什么
  • 进程对象指的是什么?可以通过它获得哪些信息
  • 如何获得当前程序宿主的 CPU 架构
  • 如何获得当前程序宿主的系统信息
  • 如何获得当前进程的 ID
  • 如何获得 node.js 执行的绝对路径
  • 在命令行如何查看当前运行的进程
  • 使进程不结束的两种方法是什么
  • 如何获得当前用户的 ID
  • 如何获得当前位置路径
  • 在命令行如何查看当前位置路径、用户 ID、Node.js 版本这些信息
  • 如何查看系统的常驻内存大小
  • 如何查看 V8 动态分配的总内存大小
  • 如何查看 v8 动态分配的已用内存大小
  • 如何查看 v8 管理的绑定到 JS 对象上的 C++ 对象的内存
  • 如何获得命令行参数
  • 在命令行中如何查看程序退出码
  • 如何指定程序退出码
  • 标准输入流一般指哪里
  • 标准输出流一般指哪里
  • 如何在命令行向某进程发信息

2.4. 定时器

  • 和定时器相关的全局函数有哪些
  • 延迟执行和取消延迟执行的函数是什么?以及他们如何使用
  • 周期执行和取消周期执行的函数是什么?以及他们怎么使用
  • 取消周期执行的方法有三种,是哪三种

3. 全局(下)

3.1. 全局:Buffer

  • Buffer 对象的用途是什么
  • 如何实例化一个 Buffer 对象
  • Buffer 对象的填充方法是什么
  • 实例化 Buffer 的三种方法分别是什么
  • Buffer 支持的六种编码格式分别是什么
  • 把字符串转化成另一种编码格式用的方法是什么
  • 在网页中内嵌图片的 HTML 代码是怎样的?在 HTML 中嵌入图片的好处是什么
  • 调用文件模块的语句是怎样的
  • 调用 HTTP 模块的语句是怎样的
  • 计算机上的数据分为哪两种
  • BMP 缩写于什么
  • 如何从 Linux 命令行获取网页上的图片
  • 在 XShell 的 Linux 命令行,怎样保存文件到 Windows 本机上
  • 位图二进制文件格式是怎样的
  • 写入二进制数据用的是什么方法

3.2. 全局:模块管理

  • Node.js 中进行模块管理的全局对象有哪几个?分别是什么功能
  • JS 模块化的两种方案是什么
  • 什么时候要用 require()
  • npm 是什么的缩写?有什么作用
  • Node.js 项目配置文件名是什么?怎么生成这个文件?文件是什么格式
  • 如何安装要使用的第三方模块
  • 使用 package.json 配置文件管理第三方模块的过程是怎样的
  • 删除一个文件夹的命令是什么
  • 用什么方法让别人可以使用我们自定义的模块
  • 怎样暴露模块中的一个变量
  • 怎样暴露模块中的一个函数
  • Node.js 中 require() 返回的是什么
  • 画图表示怎样加载一组相关的模块
  • Node.js 中的顶层对象是什么
  • 前端中的顶层对象是什么
  • 查看 module 时,都包含哪些信息

4. 事件

  • Node.js 提供的四种异步编程的机制分别是什么
  • 用回调函数实现异步操作的两种状态是什么
  • 事件的三要素是什么
  • EventEmitter 引自哪个模块
  • 如何引用某模块的某个接口(可用 EventEmitter 举例)
  • EventEmitter 对象发出事件的方法是什么
  • 使自己的类有事件机制的两种方法分别是什么
  • 类的继承有哪两种方法
  • util 的 inherits 方法的使用格式是怎样的
  • 查看某个类的所有事件的方法是什么
  • 查看某个类的某个事件的所有监听个数的方法是什么
  • 查看某个类的某个事件的所有监听的方法是什么
  • 复制 EventEmitter 中的方法,如何实现
  • JavaScript 提供什么方式来进行错误处理
  • 在 Node.js 中如何进行错误处理
  • 我们如何获得 error 对象
  • 在代码中,如何对事件的名称进行有效的管理,避免发生名称引用错误
  • 复制 EventEmitter 中的方法的语句是什么

5. 流

  • Node.js 应用程序有两种缓存的处理方式,分别是什么
  • 带行号查看某文件中代码的命令是怎样的
  • 统计某文件代码行数的命令是怎样的
  • 带行号查看当前目录下所有脚本文件内的所有代码的命令是怎样的
  • 统计当前目录下所有脚本文件的代码行数的命令是怎样的
  • 统计当前目录下所有脚本文件的非空代码行数的命令是怎样的
  • Node.js 中有哪些模块部署了数据流接口
  • 把字母转换成大写的函数是什么
  • 如何在命令行请求服务器端的文件
  • 共有几种类型的数据流
  • 可读数据流有哪两种状态
  • 可读流在刚刚创建的时候出于什么状态
  • 有哪三种方法可以让暂停态转为流动态
  • 有哪两种方法可以让流动态转为暂停态
  • 实现一个自定义的可读流需要哪三个技术要点
  • 可写流的特点是什么
  • pipe() 方法如何使用
  • 有哪些场合部署了可写流
  • 往可写流中写入数据用的是哪个函数?结束写入数据用的是哪个函数
  • 创建一个自定义的可写流需要哪三个技术要点
  • 转换流(传输流)有怎样的特点

6. 文件系统

  • 对文件系统的操作用的是 Node.js 中的哪个模块
  • fs 缩写于什么
  • fs 模块的操作对象有哪四种
  • cat 命令缩写于什么
  • fs 模块的方法分为哪两种操作方式
  • 默认的文件描述符有哪三种
  • 复制文件的 Linux 命令是什么?如何使用
  • 编程实现文件复制功能的关键步骤是什么
  • 创建一个新文件的 Linux 命令是什么
  • touch 命令除了创建新文件还有什么用途
  • 在 vim 编辑器中,如何打开另一个文件
  • 用 Linux 命令如何修改文件名
  • 用 Linux 命令如何移动文件位置
  • 编程实现 mv 命令的功能时,可以用 fs 模块的哪个方法
  • 移除文件的 Linux 命令是什么
  • 编程实现 rm 命令的功能时,可以用 fs 模块的哪个方法
  • 创建文件夹的 Linux 命令是什么
  • 编程实现 mkdir 命令的功能时,可以用 fs 模块中的哪个方法
  • 如何在 Linux 命令行删除一个文件夹
  • 编程实现删除文件夹功能时,可以用 fs 模块的哪个方法
  • 创建链接的 Linux 命令是什么
  • 编程实现链接功能时,实现硬链接和符号链接分别用到了哪个方法
  • 修改文件所有者信息的 Linux 命令是什么
  • 编程实现 chown 命令的功能时,可以用哪个方法
  • 修改文件权限的 Linux 命令是什么
  • 编程实现 chmod 命令的功能时,可以用哪个方法
  • 查看文件详细信息的 Linux 命令是什么
  • 编程实现 stat 命令的功能时,可以用哪个方法
  • 实现监视一个目录或一个文件的程序,可以用哪个方法
  • 用管道的方式查看某进程的 ID 号的 Linux 命令是怎样的
  • fs 模块的同步方法适用什么样的场合

7. 调试

  • 【待补充】

8. 子进程

  • child_process 模块提供了哪四种不同的方法来执行外部应用程序
  • 上述四种方法中唯一可以使用 subshell 的是哪个
  • execFile 方法的语法格式是怎样的
  • execFile 方法调用外部程序,外部程序的执行结果放在哪里
  • 查看所有环境变量的 Linux 命令是什么
  • 查看路径环境变量的 Linux 命令是什么
  • 在 node.js 中如何查看路径环境变量
  • 如何用 Linux 命令给路径环境变量增加目录
  • 在用 execFile 方法调用外部程序时,可能出现的三种错误分别是什么?给出怎样的错误信息
  • spawn 方法的语法格式是怎样的
  • spawn 方法调用外部程序,外部程序的执行结果放在哪里
  • spawn 方法相比较 execFile 方法有什么优势
  • 对文本进行排序的 Linux 命令是什么
  • 对文本去除重复的 Linux 命令是什么
  • 用 spawn 方法实现对文本的排序去重该怎么操作
  • exec 方法的语法格式是怎样的
  • exec 方法调用外部程序,外部程序的执行结果放在哪里
  • exec 方法相较前两种方法的特点是什么
  • 分离父子进程的操作原理是怎样的
  • fork 方法的语法格式是怎样的
  • fork 方法调用外部程序,外部程序的执行结果放在哪里
  • fork 方法相较前三种方法有怎样的特点
  • IPC 缩写于什么
  • 前面四种方法都是异步的,前三种有相对应的同步方法,分别是什么
  • 请画出四种方法使用的决策树

9. 网络系统

  • 创建一个 TCP 协议的服务器程序,用到了 node 的哪个模块
  • 创建一个 TCP 协议的服务器程序,可以用哪个方法
  • createServer 方法的返回值是什么
  • telnet 缩写于什么
  • telnet 是什么?作用是什么
  • 如何安装 telnet
  • 如何退出 telnet
  • 如何使用 telnet 访问服务器
  • FTP 是什么?作用是什么
  • 如何安装 ftp
  • 如何链接 ftp 服务器
  • 匿名访问 ftp 服务器的用户 ID 是什么
  • 创建 TCP 客户端程序用哪个方法来实现
  • TCP 协议使用的是哪种数据流
  • UDP 协议适用于哪些场合
  • nc 是什么?缩写于什么
  • 实现一个 UDP 协议的服务器程序的原理是怎样的
  • 实现一个 UDP 协议的客户端程序,向 UDP 服务器发送文件数据可以用哪个方法
  • 编程实现一个 HTTP 协议的服务器,用到了 node.js 的哪个模块
  • 编程实现一个 HTTP 协议的服务器,可以用哪个方法
  • createServer() 有一个回调函数的可选参数,这个回调函数有什么作用
  • 在创建 HTTP 协议的客户端程序时,用到了 http 模块的 get 方法,get 方法的语法是怎样的
  • HTTP 协议除了 GET 和 POST 外,还有哪些请求方法
  • 如何升级 Node.js 的版本
  • 新安装的 Node.js 不在原来的目录下,不能直接运行之前写好的脚本文件,如何解决
  • 编程实现向 HTTP 服务器发送 POST 请求时,可以用哪个方法
  • HTTP 协议的 GET 请求和 POST 请求在使用上有何区别
  • DNS 缩写于什么
  • 编程实现域名解析用到了 Node.js 的哪个模块中的哪个方法

10. HTTP 客户端编程

  • 响应报文的结构是怎样的
  • 状态行中包含哪三个信息
  • 响应头部字段列表以什么形式呈现
  • 状态码有几种?分别表示什么信息
  • 请求报文的结构是怎样的
  • 请求行中有哪三个信息
  • HTTP 协议原生支持的两个基本认证是什么
  • 从本质上来说 Apache 服务的作用是什么
  • REST 缩写于什么?是什么意思
  • 表现层是什么意思
  • URL 是什么的缩写
  • HTTP 协议中四个表示操作方式的方法分别是什么
  • 在 Linux 命令行用 GET 方法获取数据的命令是怎样的
  • 在 Linux 命令行用 POST 方法上传数据的命令是怎样的
  • 在 Linux 命令行用 DELETE 方法删除数据的命令是怎样的
  • 在 Linux 命令行用 PUT 方法替换数据的命令是怎样的
  • 在前端代码中调用 HTPP API 的方法有什么
  • 怎样用 fetch 函数通过 PUT 方法替换数据
  • 怎样用 fetch 函数通过 POST 方法上传数据
  • 怎样用 fetch 函数通过 DELETE 方法删除数据
  • SSL 是什么的缩写?是什么意思
  • 在 Linux 命令行产生一个密钥的命令是怎样的
  • 在 Linux 命令行生成证书的命令是怎样的

11. HTTP 服务端编程

【待补充】

12. HTTP 高级编程

【待补充】

13. 数据存储

【待补充】

14. Koa 框架

【待补充】

2018 -  by 王顶. All rights reserved.本站访客人数  人次

results matching ""

    No results matching ""