面试知识点20211103
面试知识点
jq
Vue
初级
- 生命周期
- v-if,v-show区别
- 组件通信方式
- 路由传参
- 哪几种方式
- 区别
- data 为什么是函数不是对象
- create 和 mounted 区别
- computed 和 watch 区别
- 指令有哪些
- 修饰符有哪些
中级
- 双向绑定原理
- 模板原理
- 虚拟dom
- mvvm
- 路由原理
- keep - alive
- 作用
- 生命周期钩子函数:activated、deactivated
- vue react 区别
- vue 基本原理
- vue 项目优化
- webpack 配置 vue-config
- vuex 理解
- 几大块 state getter mutations actions 如何使用
- mutations 和 actions 区别
- 使用场景
- 优缺点
高级
- vue 原理
- vue 运行过程
- new vue干了啥
- this 实现原理
- diff算法
- vuex 原理和redux 区别
- vue 项目最佳实践
- 组件封装
- vue3 和 2 区别
组件通信
props
$emit
路由传参
1.方案一 动态路由
// 路由定义
{
path: '/describe/:id',
name: 'Describe',
component: Describe
}
// 页面传参
this.$router.push({
path: `/describe/${id}`,
})
// 页面获取
this.$route.params.id
2.方案二
// 路由定义
{
path: '/describe',
name: 'Describe',
omponent: Describe
}
// 页面传参
this.$router.push({
name: 'Describe',
params: {
id: id
}
})
// 页面获取
this.$route.params.id
3.方案三
// 路由定义
{
path: '/describe',
name: 'Describe',
component: Describe
}
// 页面传参
this.$router.push({
path: '/describe',
query: {
id: id
`}
)
// 页面获取
this.$route.query.id
4.三种方案对比
方案二后面参数页面刷新会丢失
方案一参数拼接在后面,丑,而且暴露了信息
方案三不会在后面拼接参数,刷新参数也不会丢失
路由懒加载
slot
npm
driver.js 指引功能
better-scroll 上拉加载
mini-ui 地址三级联动
移动端适配
flexible
px2rem
mockjs
懒加载
图片
AES加密
ts
npm html2canvas
npm draggable
原理
- 深浅拷贝
- 栈内存
- 堆内存
- 异步处理机制
- 任务队列
- 宏任务微任务
- 垃圾回收机制
- 浏览器线程
- js并发
- 浏览器渲染过程
- 沙箱原理
- 算法问题
- 楼梯问题
- 背包问题
- https为什么安全,原理
js
- 作用域链
- 闭包
- 原型链
- this
- 事件循环
- 引用类型和普通类型
- 递归
大纲
- h5 新特性
- es6 新特性
- 框架
- vue
- vuex
- router
- vue
- 写一个递归函数处理求和问题
- 多端兼容方案
- 性能优化
- 首屏优化
- 缓存策略
- 前后台交互实现
Lee2