Skip to content
大纲

工程化

  1. Vue CLI 3.x 有哪些功能?Vue CLI 3.x 的插件系统了解?
  2. Vue CLI 3.x 中的 Webpack 是如何组装处理的?
  3. Vue 2.x 如何支持 TypeScript 语法?
  4. 如何配置环境使得 JavaScript 项目可以支持 TypeScript 语法?
  5. 如何对 TypeScript 进行 Lint 校验?ESLint 和 TSLint 有什么区别?
  6. Node.js 如何支持 TypeScript 语法?
  7. TypeScript 如何自动生成库包的声明文件?
  8. Babel 对于 TypeScript 的支持有哪些限制?
  9. Webpack 中 Loader 和 Plugin 的区别是什么?
  10. 在 Webpack 中是如何做到支持类似于 JSX 语法的 sourceMap 定位?
  11. 发布 Npm 包如何指定引入地址?
  12. 如何发布开发项目的特定文件夹为 Npm 包的根目录?
  13. 如何发布一个支持 Tree Shaking 机制的 Npm 包?
  14. Npm 包中 peerDependencies 的作用是什么?
  15. 如何优雅的调试需要发布的 Npm 包?
  16. 在设计一些库包时如何生成版本日志?
  17. 了解 Git (Submodule)子模块吗?简单介绍一下 Git 子模块的作用?
  18. Git 如何修改已经提交的 Commit 信息?
  19. Git 如何撤销 Commit 并保存之前的修改?
  20. Git 如何 ignore 被 commit 过的文件?
  21. 在使用 Git 的时候如何规范 Git 的提交说明(Commit 信息)?
  22. 简述符合 Angular 规范的提交说明的结构组成?
  23. Commit 信息如何和 Github Issues 关联?
  24. Git Hook 在项目中哪些作用?
  25. Git Hook 中客户端和服务端钩子各自用于什么作用?
  26. Git Hook 中常用的钩子有哪些?
  27. pre-commit 和 commit-msg 钩子的区别是什么?各自可用于做什么?
  28. husky 以及 ghook 等工具制作 Git Hook 的原理是什么?
  29. 如何设计一个通用的 Git Hook?
  30. Git Hook 可以采用 Node 脚本进行设计吗?如何做到?
  31. 如何确保别人上传的代码没有 Lint 错误?如何确保代码构建没有 Lint 错误?
  32. 如何在 Vs Code 中进行 Lint 校验提示?如何在 Vs Code 中进行 Lint 保存格式化?
  33. ESLint 和 Prettier 的区别是什么?两者在一起工作时会产生问题吗?
  34. 如何有效的识别 ESLint 和 Prettier 可能产生冲突的格式规则?如何解决此类规则冲突问题?
  35. 在通常的脚手架项目中进行热更新(hot module replacement)时如何做到 ESLint 实时打印校验错误信息?
  36. 谈谈你对 sourceMap 的了解?
  37. 如何调试 Node.js 代码?如何调试 Node.js TypeScript 代码?在浏览器中如何调试 Node.js 代码?
  38. 列举你知道的所有构建工具并说说这些工具的优缺点?这些构建工具在不同的场景下应该如何选型?
  39. VS Code 配置中的用户和工作区有什么区别?
  40. VS Code 的插件可以只对当前项目生效吗?
  41. 你所知道的测试有哪些测试类型?
  42. 你所知道的测试框架有哪些?
  43. 什么是 e2e 测试?有哪些 e2e 的测试框架?
  44. 假设现在有一个插入排序算法,如何对该算法进行单元测试?
  45. 你所知道的 CI/CD 工具有哪些?在项目中有接触过类似的流程吗?
  46. 如果让你实现一个 Web 前端的 CI/CD 工程研发平台,你会如何设计?
  47. 如果我们需要将已有项目中的线上产物资源(例如图片)转换成本地私有化资源,你有什么解决方案?
  48. 如何使用 Vue CLI 3.x 定制一个脚手架?比如内部自动集成了 i18n、 axios、Element UI、路由守卫等?
  49. Jenkins 如何配合 Node.js 脚本进行 CI/CD 设计?

通用性

  1. 如果让你设计一个通用的项目脚手架,你会如何设计?一个通用的脚手架一般需要具备哪些能力
  2. 如果让你设计一个通用的工具库,你会如何设计?一个通用的工具库一般需要具备哪些能力
  3. 假设你自己实现的 React 或 Vue 的组件库要设计演示文档,你会如何设计?设计的文档需要实现哪些功能
  4. 在设计工具库包的时候你是如何设计 API 文档的

业务

  1. 什么是单点登录?如何做单点登录?
  2. 如何做一个项目的国际化方案?
  3. 如何做一个项目的监控和埋点方案?
  4. 如何建设项目的稳定性(监控、灰度、错误降级、回滚...)?
  5. 一般管理后台型的应用需要考虑哪些性能方面的优化?
  6. 简述一些提升项目体验的案例和技术方案(骨架屏、Loading 处理、缓存、错误降级、请求重试...)?
  7. 假设需要对页面设计一个水印方案,你会如何设计?