前端面试2021-004

1、简述git中常见的操作命令以及它们的含义

image.png

2、简述git和svn的区别,如何在项目中选择使用什么版本工具呢?

git是第三代版本管理工具,核心是以分布式的方式、差异化的备份进行文件数据的版本迭代管理,在项目中更加适合基于广域网的多人协同开发

svn是第二代版本管理工具,核心是以集中式的方式、差异化的备份进行文件数据的版本迭代管理,在项目中更加适合基于局域网的多人协同开发

发展到现在git和svn相比较,git和svn同样可以用于局域网或者广域网的项目开发,但是git在广域网的版本管理上更加优秀,同时以其分布式的特点支持离线的版本更新,所以在新项目的版本管理工具的选择中更加倾向于git

在一些传统语言的项目中或者只能进行本地开发不能将代码环境接入到广域网的环境下的情况下,一般会选择使用更加简单的svn版本管理工具

3、ES6中对字符串进行了那些扩展?

ES6中提供了模板字符串语法,可以让变量在字符串的内部使用其固定语法直接参与运算,优化了变量在字符串中的处理方式;同时ES6中针对字符串的常见操作提供了一些扩展你函数如startsWith()/endsWith()/padStart()/padEnd()...

4、什么是NodeJS?NodeJS有哪些特点?

NodeJS是一个基于Chrome V8引擎的JavaScript运行时环境

  • JavaScript运行时环境:可以脱离浏览器环境,直接运行js代码

  • 基于Chrome V8引擎:解释执行js代码的效率非常高

  • 非阻塞IO:NodeJS环境中提供了同步和异步的文件IO处理

  • 其他..学习到新的内容后再补充

5、使用NodeJS的文件模块,使用同步的方式创建文件并向文件中写入文本数据


// ①

const fs = require("fs")

const fd = fs.openSync(__dirname + "/index.html", "w")

fs.writeSync(fd, "内容")

fs.closeSync(fd)

// ②

const fs = require("fs")

fs.writeFileSync(__dirname+ "/index.html", "内容")

6、使用NodeJS的文件模块,使用同步的方式从文件中读取内容并展示到页面中

// ①

const fs = require("fs")

const fd = fs.openSync(__dirname + "/index.html")

const content = fs.readSync(fd, "utf-8")

fs.closeSync(fd)
// ②

const fs = require("fs")
const content = fs.readFileSync(__dirname+ "/index.html", "utf-8")

7、简述NodeJS的文件模块,同步操作函数和异步操作函数的优缺点

同步函数的特点,编写的代码,从上到下按照编写顺序依次执行,上一行代码没有执行完成的情况下,下一行代码处于阻塞/等待状态

  • 优点:如果编写的代码,后面的代码需要依赖前面代码的执行结果,此时同步方式更加符合开发习惯

  • 缺点:在一些代码互相没有依赖的情况下,同步执行的代码比较消耗时间

异步函数的特点,编写代码有从上到下的顺序,但是执行过程中下一行代码不会等待上一行代码执行完成后采取执行,而是上一行代码开始执行-下一行代码紧接着直接执行

  • 优点:如果编写的代码,后面的代码和前面的代码没有依赖关系,异步执行的方式更加节省时间,在效率上有很大的提升

  • 缺点:在一些代码互相有依赖的情况下,编写方式只能通过回调函数的方式执行,否则直接按照顺序方式编写的代码执行会出现问题!

你可能感兴趣的:(前端面试2021-004)