Vue生命周期源码解读(大厂面试必备)(1),web前端面试基础题记不住怎么回事

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
img

正文

)

console.log(this.$vnode)

},

beforeMount() {

console.log(

`\n\nbeforeMount打头\n e l : el : el:{this.KaTeX parse error: Expected 'EOF', got '}' at position 3: el}̲\ndata 😒{JSON.stringify(

this.$data

)}\n r e f s . h e a d : refs.head : refs.head:{JSON.stringify(this.$refs.head)}\nbeforeMount结尾\n\n`

)

console.log(this.$vnode)

},

mounted() {

console.log(

`\n\nmounted打头\n e l : el : el:{this.KaTeX parse error: Expected 'EOF', got '}' at position 3: el}̲\ndata 😒{JSON.stringify(

this.$data

)}\n r e f s . h e a d : refs.head : refs.head:{JSON.stringify(this.$refs.head)}\nmounted结尾\n\n`

)

console.log(this.$vnode)

}

}

可以发现

  1. beforeCreate中拿不到任何数据,它在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。

  2. created中已经可以拿到data中的数据了,但是dom还没有挂载。会判断有无el,如果没有el则停止后面的模板挂载。

在实例创建完成后被立即调用。在这一步,实例已完成以下的配置:数据观测 (data observer),属性和方法的运算,watch/event 事件回调。

使用场景:ajax请求和页面初始化

  1. beforeMount 和 created 拿到的数据相同 在挂载开始之前被调用:相关的 render 函数首次被调用。

  2. mounted中el被创建dom已经更新,vue实例对象中有template参数选项,则将其作为模板编译成render函数,编译优先级render函数选项 > template选项

使用场景:常用于获取VNode信息和操作,ajax请求

注意 mounted 不会承诺所有的子组件也都一起被挂载。如果你希望等到整个视图都渲染完毕,可以用 vm.$nextTick 替换掉 mounted

  1. 由于beforeUpdate和updated使用的比较少,一般用计算属性和watch代替所以在此不在说明

  2. destroyed Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。

客户端渲染过程

  1. 处理 HTML 标记并构建 DOM 树。

  2. 处理 CSS 标记并构建 CSSOM 树。

  3. 将 DOM 与 CSSOM 合并成一个渲染树。

  4. 根据渲染树来布局,以计算每个节点的几何信息。

  5. 将各个节点绘制到屏幕上。

最后,给大家分享一份2021最新Vue面试题含源码解析。由于篇幅原因,仅展示一部分面试题详解,更多最新的Vue面试题整理成了一个PDF,需要的朋友【点这里】免费领取。

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

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

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

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

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

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

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

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

  • vue常用的修饰符

  • v-on可以监听多个方法吗?

  • vue中 key 值的作用

  • vue-cli工程升级vue版本

  • vue事件中如何使用event对象?

  • $nextTick的使用

  • Vue 组件中 data 为什么必须是函数

  • v-for 与 v-if 的优先级

  • vue中子组件调用父组件的方法

  • vue中 keep-alive 组件的作用

  • vue中如何编写可复用的组件?

  • 什么是vue生命周期?

  • vue生命周期钩子函数有哪些?

  • vue如何监听键盘事件中的按键?

  • vue更新数组时触发视图更新的方法

  • vue中对象更改检测的注意事项

  • 解决非工程化项目初始化页面闪动问题

  • v-for产生的列表,实现active的切换

  • v-model语法糖的组件中的使用

  • vue中自定义过滤器

  • vue等单页面应用及其优缺点

  • 什么是vue的计算属性?

  • vue-cli提供的几种脚手架模板

  • vue父组件如何向子组件中传递数据?

  • vue弹窗后如何禁止滚动条滚动?

  • 计算属性的缓存和方法调用的区别

  • vue-cli中自定义指令的使用

vue-router
  • vue-router如何响应 路由参数 的变化?

  • 完整的 vue-router 导航解析流程

  • vue-router有哪几种导航钩子( 导航守卫 )?

  • vue-router传递参数的几种方式

  • vue-router的动态路由匹配

  • vue-router如何定义嵌套路由?

  • 组件及其属性

  • vue-router实现路由懒加载( 动态加载路由 )

  • vue-router路由的两种模式

  • history路由模式配置及后台配置

vuex
  • 什么是vuex?

  • 使用vuex的核心概念

  • vuex在vue-cli中的应用

  • 在vue中使用vuex,修改state的值

  • vuex actions异步修改状态

http请求
  • Promise对象是什么?

  • axios、fetch与ajax有什么区别?

  • 什么是JS的同源策略和跨域问题?

  • 如何解决跨域问题?

  • axios有什么特点?

UI样式
  • .vue组件的scoped属性的作用

  • 如何让CSS只在当前组件中起作用?

  • vue-cli中常用的UI组件库

  • 如何适配移动端?【 经典 】

  • 移动端媒体查询

  • vue内容垂直和水平居中

  • vue-cli引入图片的方法

  • 移动端常见样式问题

  • 文本超出隐藏

常用功能
  • vue中如何实现tab切换功能?

  • vue中keep-alive 实现标签页组件缓存

  • vue中实现页面从右往左侧滑入效果

  • vue中父子组件如何相互调用方法?

  • vue中央事件总线的使用

MVVM设计模式
  • MVC、MVP与MVVM模式

  • MVC、MVP与MVVM的区别

  • MVVM的实现原理

  • Object.defineProperty()方法

  • ES6中定义的类和对象

  • JS中的文档碎片

  • 解构赋值

  • Array.from

  • Array.reduce

  • 递归的使用

  • Obj.keys()与Obj.defineProperty

  • 发布-订阅模式

  • vue项目优化,缩短首屏加载时间

文末

如果30岁以前,可以还不知道自己想去做什么的话,那30岁之后,真的觉得时间非常的宝贵,不能再浪费时间在一些碎片化的事情上,比如说看综艺,电视剧。一个人的黄金时间也就二,三十年,不能过得浑浑噩噩。所以花了基本上休息的时间,去不断的完善自己的知识体系,希望可以成为一个领域内的TOP。

同样是干到30岁,普通人写业务代码划水,榜样们深度学习拓宽视野晋升管理。

这也是为什么大家都说30岁是程序员的门槛,很多人迈不过去,其实各行各业都是这样都会有个坎,公司永远都缺的高级人才,只用这样才能在大风大浪过后,依然闪耀不被公司淘汰不被社会淘汰。

269页《前端大厂面试宝典》

包含了腾讯、字节跳动、小米、阿里、滴滴、美团、58、拼多多、360、新浪、搜狐等一线互联网公司面试被问到的题目,涵盖了初中级前端技术点。

前端面试题汇总

JavaScript

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
297c9016828aff783a701e065.png)

JavaScript

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-t6ycrOgd-1713044423622)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值