2024最新Vue面试题含源码解析,大学生必备

  • 事件销毁

created(){

this.timer = setInterval(this.refresh,2000)

},

beforeDestroy(){

clearInterval(this.timer)

}

  • 图片懒加载(vue-lazyload)
  • 第三方插件按需引入

import Vue from ‘vue’

import { Button,Select } from ‘element-ui’

Vue.use(Button)

Vue.use(Select)

  • 无状态的组件标记为函数式组件
  • 子组件分割
  • 长性能列表的优化

  • 如果列表是纯粹的数据展示,不会有任何改变,就不需要做响应式

export default {

data: () => ({

users:[]

})

async created(){

const users = await axios.get(‘/api/users’)

this.users = object.freeze(users)

}

}

  • 如果是大数据长列表,可采用虚拟滚动,只渲染少部分区域内容

描述Vue组件生命周期(父子组件)


  • 见上文梳理

Vue组件如何通讯(常见)


描述组件渲染和更新的过程


  • 执行render函数 触发 getter 收集依赖到 watcher

  • 更新的时候 触发 setter 通知 watcher 触发 re-render 渲染

双向数据绑定 v-model 的实现原理


  • input 元素的 value = this.name

  • 绑定input事件 this.name = $event.target.value

  • data 更新触发re-render

对MVVM的理解


computed 有何特点


  • 缓存,data不变不会重新计算

  • 提高性能

ajax请求应该放在哪个生命周期


  • mounted (整个渲染完成,dom渲染完成)

  • js是单线程,ajax异步获取数据

如何将组件所有props传递给子组件


  • $props

  • <User v-bind="$props">

何时需要使用beforeDestory


  • 解绑自定义事件 event.$off

  • 清楚定时器

  • 解绑自定义的DOM事件,如window scroll 等

Vuex中action和mutation有何区别


  • action中处理异步,mutation不可以

  • mutation做原子操作

  • action 可以整合多个mutation

请用vnode描述一个DOM结构


{

tag:‘xx’,

props:{

id:‘xx’

},

children:[

tag:‘xx’,

children:“xxx”

]

}

简述diff算法过程


  • patch(elm,vnode) 和 patch(vnode,newVnode)

  • patchVnode 和 addVnodes 和 removeVnode

  • updateChildren(key的重要性)

你对Vue3.0的新特性有没有了解


  • 更快

  • 虚拟DOM重写

期待更多的编译时提示来减少运行时开销,使用更有效的代码来创建虚拟节点

组件快速路径 + 单个调用 + 子节点类型检测

  • 跳过不必要的条件分支

  • JS引擎更容易优化

虚拟DOM重写

  • 优化slots的生成

vue3中可以单独重新渲染父级和子级

  • 确保实例正确的跟踪依赖关系

  • 避免不必要的父子组件重新渲染

优化slots的生成

  • 静态树提升

使用静态树提升,这意味着Vue3 的编译器将能够检测到什么是静态的,然后将其提升,从而降低了渲染成本。

  • 跳过修补整棵树,从而降低渲染成本

  • 即使多次出现也能正常工作 静态树提升

  • 静态属性提升

使用静态属性提升,Vue 3 打补丁时将跳过这些属性不会改变的节点,但是孩子还要继续patch 静态属性提升

  • 基于Proxy的响应式系统

Vue 2的响应式系统使用 Object.defineProperty的getter和setter。Vue 3将使用ES2015 Proxy作为其观察机制,这将会带来如下变化:

  • 组件实例初始化的速度提高100%

  • 使用Proxy节省以前一半的内存开销,加快速度,但是存在低浏览器版本的不兼容

  • 为了继续支持IE11,Vue 3将发布一个支持旧观察机制的和新Proxy版本的构建

  • 更小

  • 通过摇树优化核心库体积

  • 更容易维护

  • TypeScript + 模块化

Vue 3将带来更可维护的源代码。他不仅会使用TypeScript,而且许多包被解耦,更加模块化

  • 更加友好

  • 跨平台:编译器核心和运行时核心与平台无关,使得Vue更容易与任何平台(web、Android、IOS)一起使用

  • 更容易使用

  • 改进的TypeScript支持,编辑器能提供强有力的类型检查和错误及警告

  • 更好的调试支持

  • 独立的响应化模块

  • Composition API

由于篇幅原因,仅展示一部分面试题详解,更多最新的Vue面试题整理成了一个PDF,需要的朋友点击这里免费获取

vue-cli工程
  • 构建的 vue-cli 工程都到了哪些技术,它们的作用分别是什么?

  • vue-cli 工程常用的 npm 命令有哪些?

  • 请说出vue-cli工程中文件夹和文件的用处

  • config文件夹 下 index.js 的对于工程 开发环境 和 生产环境 的配置

  • 请你详细介绍一些 package.json 里面的配置

vue核心知识点
  • 对于Vue是一套渐进式框架的理解

  • vue.js的两个核心是什么?

  • 请问 v-if 和 v-show 有什么区别

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
img

最后

javascript是前端必要掌握的真正算得上是编程语言的语言,学会灵活运用javascript,将对以后学习工作有非常大的帮助。掌握它最重要的首先是学习好基础知识,而后通过不断的实战来提升我们的编程技巧和逻辑思维。这一块学习是持续的,直到我们真正掌握它并且能够灵活运用它。如果最开始学习一两遍之后,发现暂时没有提升的空间,我们可以暂时放一放。继续下面的学习,javascript贯穿我们前端工作中,在之后的学习实现里也会遇到和锻炼到。真正学习起来并不难理解,关键是灵活运用。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

css源码pdf

JavaScript知识点
包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频**

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
[外链图片转存中…(img-f9KHT2ur-1710584188409)]

最后

javascript是前端必要掌握的真正算得上是编程语言的语言,学会灵活运用javascript,将对以后学习工作有非常大的帮助。掌握它最重要的首先是学习好基础知识,而后通过不断的实战来提升我们的编程技巧和逻辑思维。这一块学习是持续的,直到我们真正掌握它并且能够灵活运用它。如果最开始学习一两遍之后,发现暂时没有提升的空间,我们可以暂时放一放。继续下面的学习,javascript贯穿我们前端工作中,在之后的学习实现里也会遇到和锻炼到。真正学习起来并不难理解,关键是灵活运用。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

[外链图片转存中…(img-gZ4LQmol-1710584188410)]

[外链图片转存中…(img-vRiLiqxT-1710584188410)]

  • 18
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值