整理几道常见的 easy 题目。
数据结构并查集
并查集
确定元素属于哪一个集合,将两个子集合并成同一个集合
环
最小生成树
无向图才能正确处理强联通分量
散列表(哈希表)哈希表
缓存管理,快速实现变量在内存中的读取
DNS 解析,快速转化
扩容时间:O(n)
哈希函数
文件校验,key的快速查询
加密
分布式,一致性哈希
一致性哈希
分布式哈希算法,主用用来解决分布式系统中的负载均衡问题
为了解决增加候选集的时候,哈希的值尽可能不变
没有固定的顺逆时针
散列表平均查找长度:
先对所有元素取余
不存在冲突的长度为 1,存在冲突的从 1 开始累加
平均查找长度 = 所有元素的查找长度之和 / 元素个...
设计模式
创建型模式
简单工厂模式
通过一个工厂类来创建不同的类的实例
工厂方法模式
定义一个用于创建对象的接口,让子类决定实例化哪一个类
抽象工厂模式
提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类
建造者模式
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示
Director 类与抽象工厂的工厂类类似,负责返回一个产品族的所有产品
单例模式
保证一个类仅有一个实例,并提供一个访问它的全局访问点
原型模式
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象
结构型模式
适配器模式
将一个类的接口转换...
各种图
数据流图:数据流动,数据字典
实体关系图:数据库
UML 图
结构图
类图:对象关系,继承和关联
对象图:对象的属性,对象的快照
构(组)件图:组件的关系
组合结构图:组合关系
包图:包的关系
部署图:软件和硬件的部署
制品图:物理部署
行为(交互)图
时序图:时间轴顺序
序列(顺序)图:对象之间的交互和顺序
通信(协作)图:对象之间的消息传递和协作
状态图:状态变化
活动图:活动流程
用例图:用户和系统的交互
交互概述图
开发模型
快速原型:需求不明确时,确保相关利益方对需求理解一致
螺旋模型:每个阶段结束时有一个评审。每个阶段都使用瀑布模型
瀑布模型
敏...
Regular Expression。简写为 regex 或 RegExp。
自定义组件
新建自定义组件目录,生成目录结构
自定义组件内容
在要使用的页面的 json 文件中配置 usingComponents,引入组件
以标签的形式在页面中使用该组件即可
传递数据和 vue 一样,通过自定义属性,然后在组件里通过 properties 接收就可以了
小程序与 web-view 交互
小程序调用 web-view 的方法
web-view 组件的 src 属性设置为一个网页地址,使用 & 来附加参数
每次小程序向页面传参都会刷新一次页面
web-view 调用小程序的方法
web-view 加载的页面中,引入jweixin.js,通过调用 JSS...
Vue 生命周期Vue 数组更新slice、concat 都会返回新的数组,不会引起视图的更新。
Vue 优化方案
代码层面
v-if 和 v-show 区分场景使用
computed 和 watch 区分场景使用
v-for 添加 key,避免同时使用 v-if
事件的销毁
懒执行
图片资源懒加载
路由懒加载
第三方插件按需引入
优化列表性能
离线包
预加载
SSR或预渲染
webpack 层面
图片和代码压缩,图片base64,开启 production
ES6开启 tree shaking
减少 ES6 转化为 ES5 的冗余代码
提取公共代码
模板预编译
优化 s...