2023-0307深圳某文化科技集团前端面试

118 阅读2分钟

有点紧张,知所以不知所以然,回答全部是答非所问,回答不出来一直在提示我,可能我自己积累不够,仍然有很多需要提升的(等面试官的过程中先hr面试的然后才是技术面,技术面持续30min,快问快答基本上是)

1. 说一下vue的初始化过程

  • 处理组件配置项
  • 初始化根组件时进行了选项合并操作,将全局配置合并到根组件的局部配置上
  • 初始化每个子组件时做了一些性能优化,将组件配置对象上的一些深层次属性放到 vm.$options 选项中,以提高代码的执行效率
  • 初始化组件实例的关系属性,比如 parent、parent、parent、children、root、root、root、refs 等
  • 处理自定义事件
  • 调用 beforeCreate 钩子函数
  • 初始化组件的 inject 配置项,得到 ret[key] = val 形式的配置对象,然后对该配置对象进行响应式处理,并代理每个 key 到 vm 实例上
  • 数据响应式,处理 props、methods、data、computed、watch 等选项
  • 解析组件配置项上的 provide 对象,将其挂载到 vm._provided 属性上
  • 调用 created 钩子函数
  • 如果发现配置项上有 el 选项,则自动调用 $mount 方法,也就是说有了 el 选项,就不需要再手动调用 $mount 方法,反之,没提供 el 选项则必须调用 $mount
  • 接下来则进入挂载阶段

2. vue对数据进行响应式和初始化是在哪个阶段

3. 什么时候会进行依赖收集,如果我在data中定义了100个数据这100个数据都会进行依赖收集吗?

4. 什么时候会访问getter,访问getter是在哪个阶段发生的

5. 比如说我在页面上只用了a变量,那么是收集a这一个,还是所有都会收集

6. 如果我去用v-show去写一个标签会收集吗,在界面上会渲染吗

7. vue3和vue2响应式区别

8. 有看过vue2和vue3的源码吗,$nextTick的实现原理,如果让你去实现你有什么思路(我说到了事件轮训和异步渲染,面试官一直给我提示,说我们一般怎么实现异步)

9. 说一下事件执行机制(回答的不是很好,面试官又指点我了)

10. 任务队列什么时候会把任务提到任务队列中去

11. 如果这个异步在同步执行完成他还没有响应完成呢?

12. 你对执行上下文怎么理解?

13. 函数嵌套函数,内部函数能访问外部函数的变量吗?

14. 函数a嵌套函数b,那么a函数可以拿到b函数的值吗

15. 闭包在哪些方面用到?

16. 防抖和节流怎么实现,说一下实现伪代码?(紧张把节流和防抖说反了)

17. 怎么对比object

18. 问项目具体实现(项目优化,挑一个讲讲)