前端面试基础(五)Vue

如题所述


前端面试中,Vue作为热门技术之一,其基础知识和特性是必不可少的。让我们深入探讨Vue的核心概念和关键点:


Vue特性
- 数据驱动视图:Vue的单向数据绑定(data)和双向数据绑定(Vue 2/3响应式原理),通过getters和setters实现数据与视图的实时同步。
- Vue 2/3区别:Vue 2依赖Object.defineProperty处理响应式,而Vue 3则使用Proxy实现,提供更灵活的API和无递归绑定。
MVC/MVP/MVVM
- MVC(模型-视图-控制器):单向通信,模型改变,视图更新。
- MVP(模型-视图- presenter):双向通信,视图通过presenter与模型交互。
- MVVM(Model-View-ViewModel):模型(数据源),视图(DOM),ViewModel(数据变化监听与同步,如Vue的Dep/Watcher)。
虚拟DOM与Diff算法
- 虚拟DOM(描述DOM结构的JS对象),通过对比新旧虚拟DOM,patch方法仅更新变化节点,优化性能。
- 发布订阅模式与观察者模式:前者在多个应用间共享,后者针对单应用,实现状态的实时同步。
Vue3新特性
- Proxy替代Object.defineProperty,提供更高级的代理对象控制。
- v-model实现:简化了表单数据绑定,支持父子组件间通信。
- 指令
- v-model:更丰富的修饰符如.number、.trim、.lazy。
- v-if/v-show:动态渲染与隐藏的差异,v-if条件首次满足时编译,v-show缓存渲染结果。
Vue组件和生命周期
- 组件结构:templatescriptstyle scoped,父子通信通过props和$emit。
- 指令与nextTick用于异步操作,如聚焦文本框。
数据共享
- Provide/Inject:数据向下传递,组件间通过props接收。
- $ref/$refs:DOM或组件实例引用,$parent/$children用于访问父/子组件。
路由管理
- 路由模式:hash与history,管理组件加载与切换。
- 懒加载:按需加载,提升首屏加载体验。
- Vue Router示例:单页应用、前端路由、导航守卫等。
状态管理
- Vuex:应用状态管理,store、state、mutations、actions、getters,模块化设计。
- 安全实践:XSS防护、CSRF防御,以及DOS攻击防护措施。
安全与防护
- XSS攻击类型:存储型、反射型、DOM型,防范策略包括代码转义、CSP和CSRF防护。

温馨提示:答案为网友推荐,仅供参考
相似回答