1. javascript 判断一个函数是否为一个类
2. V8 垃圾回收机制
3. 短链接生成算法
短链接介绍
短链接就是把普通网址,转换成比较短的网址。
应用:比如在微博这些限制字数的应用,或短信中这种按字数计费的应用
例子:https://github.com/Maple-pro/blog
-> https://dwz.cn/abcdefgh
dwz.cn
是域名abcdefgh
是参数
原理:
- 将长链接通过一定方式生成短链接
- 访问短链接是实际访问的是短链接服务器,然后依据短链接的参数找回对应的长链接
- 302 重定向跳转
为什么要采用 302 重定向?
- 301 是永久重定向,302 是临时重定向
- 使用 301 可以减少服务器压力
- 使用 302 可以获取获取短地址被点击的次数
实现原理
问题核心:怎么生成短链接,使得可以通过短链接的参数找到对应的长链接
哈希?🙅
存在哈希碰撞问题,即两个相同
自增序列算法 🙆
摘要算法 🙆
Reference
待补充
- 实现一个
promise
https://github.com/whu-luojian/Promise/blob/master/promise.js - 实现
async / await
- react 和 vue 的对比
- DOM diff 算法 (React, Vue, Vue 3)
- 短链接生成算法
- webpack 实现