返回

2020年祝大家安好:在夹缝中寻找机会:第二波面试题:Git 和 Webpack

前端

非常感谢我的前同事、行长@onlyadaydreamer分享的面试经历。首先我要说一下,Webpack 5.x 都已经出来了。我们还要纠结要不要做吗?不过看起来改变不大,4.x 依然是主流。

需要明确的一点是,在应试时,不能光靠死记硬背就能回答好这些问题。更重要的是,要理解这些概念背后的基本原理。否则,面试官很容易就能看出你的不足之处。

Git

1. 什么是 Git?

Git 是一个分布式版本控制系统,它允许开发人员跟踪代码更改并协同工作。

2. Git 和 SVN 有什么区别?

Git 是一个分布式版本控制系统,这意味着每个开发人员都有自己的代码副本。SVN 是一个集中式版本控制系统,这意味着只有一个中央代码库。

3. 如何在 Git 中创建分支?

git branch <branch-name>

4. 如何在 Git 中合并分支?

git merge <branch-name>

5. 如何在 Git 中回滚提交?

git reset --hard <commit-hash>

6. 如何在 Git 中忽略文件?

.gitignore 文件中添加文件或目录的名称。

Webpack

1. 什么是 Webpack?

Webpack 是一个模块打包工具,它将多个模块打包成一个或多个捆绑文件。

2. Webpack 的主要优点是什么?

  • 提高应用程序性能
  • 提高代码的可维护性
  • 启用代码拆分

3. 如何在项目中设置 Webpack?

  1. 安装 Webpack 和必要的加载器。
  2. 创建一个 webpack.config.js 文件。
  3. webpack.config.js 文件中配置 Webpack 设置。

4. Webpack 中的代码拆分是如何工作的?

代码拆分是一种优化技术,它将应用程序拆分成更小的块,仅在需要时加载这些块。

5. 如何在 Webpack 中使用热模块替换(HMR)?

HMR 是一种开发工具,它允许在保存更改时自动刷新浏览器。

6. Webpack 中的树摇动是如何工作的?

树摇动是一种优化技术,它可以从捆绑文件中删除未使用的代码。

7. 如何使用 Webpack 优化应用程序性能?

  • 使用代码拆分
  • 启用树摇动
  • 使用缓存

8. Webpack 中的懒加载是如何工作的?

懒加载是一种优化技术,它仅在需要时加载模块。

9. 如何在 Webpack 中使用 source map?

Source map 是调试工具,它允许在浏览器中调试未捆绑的代码。

10. Webpack 中的插件是如何工作的?

插件是允许自定义 Webpack 构建过程的扩展。