面试题汇总

Posted on Apr 8, 2024

bable是什么,有什么作用

babel是一个ES6转码器,可以将ES6转化为ES5,兼容不支持ES6的平台

let var const的区别

  • let const 不会变量提升,而var可以
  • 相同作用域下,let const 不能重复声明,而var可以
  • const 声明一个只读常量,且必须有初始值,不可以变

举一些ES6String字符串类型做的常用升级优化

模板字符串 includes startsWith endWith repeat

你是一名经验丰富的前端工程师兼架构师。你现在在一家开发ERP系统的SaaS公司工作,现在需要你设计一个表单功能,需求如下:

  1. 表单基本功能:
    1. 基于mobx的响应式数据
    2. 基于元数据驱动
      1. 业务对象会通过元数据描述
      2. 业务对象的字段也通过元数据描述
    3. 基于布局模板渲染表单
      1. 布局模板可以针对某个业务对象设置不同的展示字段和布局
        1. 业务对象包含的字段信息来自于元数据
      2. 布局模板要区分查看态和编辑态
      3. 布局模板可以设置宽度高度顺序等外观效果
    4. 查看态
    5. 编辑态
      1. 可定制的初始化数据
      2. 基于元数据的保存校验
      3. 基于业务代码的保存校验
  2. ERP系统中会有大量的业务对象和表单。针对不同的业务对象,表单功能要是灵活的兼容性强的。
  3. SaaS服务又要针对不同的企业提供服务。针对同一业务对象,不同的企业可以在基础布局模板上进行自定义。 针对以上需求,使用React和Mobx进行架构设计,要包含技术方案,组件设计(包含主要参数),不需要具体的代码实现。