2025面试 - 二面

zy帮 - 二面

  • 推动代码规范化,你借助了什么工具?是怎么思考的?

    • 什么是规范化
    1. 看起来像一个人写的
    • 代码风格、文件命名、目录结构、提交规范等规范化的具体落地
    • 目的:为了项目的可维护性、一致性、可读性而努力,最终能够提高团队协作的效率
    1. 细化
    • 文件结构
    • 代码规范,变量命名,函数,风格统一,eslint + prettier + stylelint
    • 提交规范
    • 单词拼写规范

    操作代码、解析代码(babel),eslint parser 转化代码以后再对代码操作(规范、格式化)

    • js 规范化
      eslint,专门来做语言质量检查
      eslint 首先依然要构建 ast
  • eslint 规范约定

    • 规范等级
    • off
    • warn
    • error
    • 核心规则
      • 语法检查
      • 风格一致性
      • 最佳实践
    • 大量的规范来控制这些代码编写
    • eslint + prettier 集成

zxg际 - 二面

  • diff 算法
    它主要是比较新旧虚拟 DOM 树来找出差异。首先,它会对两棵树的根节点进行比较。如果根节点类型不同,就直接替换整个 DOM 树。若根节点类型相同,就开始比较属性和子节点。
    在比较子节点时,它采用了多种策略。简单的情况是,新旧子节点都是文本节点,那就直接比较文本内容是否变化。对于多个节点的比较,它会尽量采用最少的操作来更新 DOM。通过为节点添加 key 属性,它能更精准地复用和更新节点,而不是盲目地重新创建。比如,一个列表更新,有了 key 就能快速定位哪些元素新增、删除或者修改,然后高效地把这些变化应用到真实 DOM 上,减少不必要的 DOM 操作,提升性能。

  • 虚拟 dom
    Vue 的虚拟 DOM 是真实 DOM 的 JavaScript 对象表示。创建时依据模板或渲染函数生成初始虚拟 DOM 树;数据变化就重造新树并用 Diff 算法找差异,分层、依节点属性对比;最后批量将差异应用到真实 DOM,提升性能、优化开发体验。

  • 父组件传的值改变了,子组件一定会重新渲染吗

  • 如何排查数据改变了,但是页面没有刷新的问题

  • vue 组件之间数据通信底层原理

    • 观察者模式
  • 观察者模式、订阅发布模式

    1. 观察者模式
  • 对产品来说什么样的原型图是合格的

    1. 清晰展示功能流程与布局
    2. 准确传达交互设计细节
    3. 包含必要的注释与说明
  • 如何保证项目交付质量

    1. 明确的项目目标和需求定义
    2. 有效的项目计划和进度管理
    3. 严格的质量控制措施
    4. 团队协作和沟通优化
  • 和后端有冲突如何解决

    1. 明确职责分工(项目启动会议)
    2. 建立有效的沟通机制(项目进度会议)
    3. 理解对方的工作内容和技术难点(技术分享)
    4. 通过接口文档来协作
  • 期望总包
    我相信自己的专业技能和工作经验能够为公司在项目推进、业务拓展等方面带来显著的收益,我期望的总包也是基于我能够为公司做出的贡献来考虑的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容