跳到主要内容

谈谈架构设计相关

谈谈组件封装​

  • 基于组件库二次开发,能够满足业务场景的,来定制化业务组件
  • 比如一个数据模块的页面,每个页面都有表格展示不同的数据,如果不封装组件,需要每个地方都写一遍,万一需求数据展示变动,每个地方都要改,有了这个业务组件,只需改一次即可
  • 在组件里,预先定义好常用的属性、常用的配置,在使用的时候,不再需要传重复的属性了

谈谈组件设计​

设计、原则、规范

  • 扩展性
  • 灵活性
  • 易用性
  • 通用性,能覆盖大部分场景
  • 容错性,有些属性和方法进行容错性,否则容易导致报错
  • 兼容性

谈谈技术选型​

技术选型过程

  • 竞品分析
  • 社区活跃
  • 兼容性问题
  • npm下载量
  • 包的体积大小
  • issures数量
  • 最近的一次提交
  • 是否还维护

谈谈做review​

会对提交pr进行代码的review, 以及每周会组织一次代码review的过程

  • 最注重的是代码的可维护性(变量命名、注释、函数单一性原则等)
  • 扩展性:封装能力(组件、代码逻辑是否可复用、可扩展性)
  • ES 新特性(es6+ 、ES2020, ES2021 可选链、at)
  • 函数使用规范(比如遇到用 map 拿来当 forEach 用的)
  • 变量使用规范 (var let const的使用)
  • 性能问题,怎样运用算法,写出更加优雅,性能更好的代码
  • 容错性处理 (对获取数据以及操作方法的时候进行容错性处理,有时候后端返回的数据可能为null的情况,前端需要判空的情况,否则会出现报错一些错误)
  • 大量的if else代码这种可以通过策略模式来简化
  • 代码是否存在内存泄漏的问题,如定时器、事件监听需及时清除