面经详情

前端开发面试一般,共1轮面试
Q:问:讲一下 diff
  • 答:
  • - why。为什么需要 diff,举一个简单的例子,装修,如果没有 diff,就是整个家拆了,重新来,成本太高。
  • - what。什么是 diff,就是对比新旧两个 vdom,找出差异,可复用的节点复用,不可以的再改。
  • - how。先简单讲了一下 vdom,起源于 snabbdom。vdom 的优势,其实最大的优势不是性能优化,而是跨平台 render。然后 vue2 中 diff 最大的特点是引入了 4 个游标,而不是完全遍历两棵树。而在 react 中则是同层比较,深度优先
Q:问:vue 如何实现响应式。1条回答
  • 答:
  • - why。为什么需要响应式,为了把 developer 的精力拉到数据端来,用阿里的话说就是降低心智负担。‘
  • - what。什么是数据响应式,就是我改一个数据,不需要再像 jq 时代那样,去页面上修改 dom
  • - how。
  •     - vue2:defineProperty,这是给属性的值设置属性的,通过其 get,set 来实现,get 阶段收集依赖,set 阶段触发更新
  •     - vue3:Proxy,与 vue2 相比,起码有几点优势:
  •         - 不需要递归 obj
  •         - 天然支持各种奇怪类型,比如 vue2 中数组需要 hack 方法

相关推荐

进入微信小程序

前往微信小程序,查看更多结果

立即前往
看准网MokaMoka面试经验Moka面试经验:前端开发面试一般,共1轮面试
正在招聘NLP工程师63 个岗位