面试时,深拷贝这个问题是常考的。涉及的面很广,比如 node 端怎么拷贝 buffer,而浏览器端是没有 buffer 的。如果仅仅是回答使用 JSON.stringify
JSON.parse
应该是不能及格的。我们先来看看 lodash 写一个可以打 90 分的深拷贝做了哪些工作。
学口琴计划宣布失败
2021-08-31
缓存穿透:请求去查询一条压根儿数据库中根本就不存在的数据,也就是缓存和数据库都查询不到这条数据,但是请求每次都会打到数据库上面去。
缓存击穿:在平常高并发的系统中,大量的请求同时查询一个 key 时,此时这个key正好失效了,就会导致大量的请求都打到数据库上面去。
缓存雪崩的情况是说,当某一时刻发生大规模的缓存失效的情况,比如你的缓存服务宕机了,会有大量的请求进来直接打到DB上面。结果就是DB 撑不住,挂掉。
什么是缓存雪崩、缓存击穿、缓存穿透? – java技术爱好者的文章 – 知乎
https://zhuanlan.zhihu.com/p/346651831
继续阅读“学口琴计划宣布失败”记一个朋友遇到的腾讯面试题
朋友面试腾讯,遇到了一个算法题,挺有意思的,特此记录一下。题目是这样的,给定一个数组如下:
let arr = [
["a", "aa", "aaa", "aaaa"],
["b", "bb", "bbb"],
["a", "ab", "aba"],
["a", "aa", "aab"]
]
将其转化成一个树状的子结构,如下:
[
{
name: "a",
child: [
{
name: "aa",
child: [
{
name: "aaa",
child: [
{
name: "aaaa",
child: [],
},
],
},
{
name: "aab",
child: [],
},
],
},
{
name: "ab",
child: [
{
name: "aba",
child: [],
},
],
},
],
},
{
name: "b",
child: [
{
name: "bb",
child: [
{
name: "bbb",
child: [],
},
],
},
],
},
];
继续阅读“记一个朋友遇到的腾讯面试题” debounce 的简单实现
为什么要讲这个话题呢?主要是因为最近很多问题都由这个特性帮我解决了,让我感叹这非常有用。
学习英语是理解编程的第一步。de-
在英语里表示 xx 的反义,比如 defrost(除霜),deactivate(使失活),decentralization(权力分散),那么 debounce 的意思就是防抖/防止弹跳。我们结合实际的例子感性的认识一下。
无题
缺失 11 天
2021-07-31
用了一个月AirPods后的心得,结论是如果有钱一定买!
https://www.bilibili.com/video/BV1VW411a7ov
乱语:为了连公司的 mac mini,所以买了有线充电的 AirPods,这个耳机有点贵,佩戴久了但是耳朵不会痛。
继续阅读“无题”Trie 的简易版 js 实现
Trie 能解决什么问题?
假设我们有一个数组:['tiger', 'monkey', 'elephant', 'dog']
,我们想要查找里面有没有 dog,最简单的方法是遍历数组,如果要查 10000 次,则遍历数组的次数是 1w * 4 = 4w;如果我们用 trie 来解决这个问题,则会大大的提升我们的速度。构建 trie 的遍历次数是 5 + 6 + 7 + 3 = 21,再查询 10000 次,则是 10000 * 3 + 21 = 30021。很明显,查询次数越多,trie 的性能优势就越明显。
上面的计算可能并不专业,仅供参考。
继续阅读“Trie 的简易版 js 实现”6 月是加班月
2021-06-30
又一个盖茨比的故事?我才不信爱情呢,这种持续五十几年的所谓爱情不过只是偏执而已。比起这种幻觉一样的爱情,我倒觉得乌尔比诺医生那种安放在日常琐碎中的情感更值得人尊重。另外,得不到一个女人,就要靠从此放浪形骸来平衡内心的失落吗?人呐,没事少装纳兰公子,假借爱情之名恣意纵情,伤及无辜的那些人,我看原本就是些不配得到爱情的。
https://book.douban.com/subject/10594787/
乱语:在早晚高峰的地铁上,看《霍乱时期的爱情》,早上脸上捂了一层雾,晚上脸上贴了一层油。
继续阅读“6 月是加班月”mac 终端添加快捷键命令
比如我们要登录一个服务器,我们使用这样的指令:
ssh [email protected]
每次都要输入这么一长串,肯定是很累的,只想输入 zeng
就执行上面的命令,那怎么办呢?
如何调整 Nginx 文件上传的尺寸限制
Nginx 默认限制文件上传的尺寸是 1M,超过了就会报“413: Request Entity Too Large”错误,我们先来查查 413 是啥意思?其实就是超过尺寸限制的意思。
那如何调整这个尺寸限制呢?比如我们要调整到 50M,需要用到一个指令:
client_max_body_size 50M继续阅读“如何调整 Nginx 文件上传的尺寸限制”
请求成立专门工作小组统筹解决滨江花园问题的报告
尊敬的湘潭市委、市政府:
和达滨江花园 (以下简称 “滨江花园”)位于湘潭市九华经开区,紧挨长沙,是长株潭融城桥头堡、核心区域。
滨江花园更是湘潭市重点工程项目。
项目属于超大型楼盘,占地五百余亩,总建面 120 万方左右,已开发 30 多万方。然项目濒临烂尾两年有余,其中一期二批次近 1000 户业主已经延期交房接近一年,二期一批次 800 余户业主按合同于 2021.10.30 交房,然其离主体封顶尚远。项目涉及近 2000 余户家庭,涉及购房资金高达 20 余亿元,并且在 2020.9.14 由经开区管委会肖均平主任主持召开的“三方会谈”中拟定的并加盖了开发商公章的二次交房时间再次延期,全体业主再度遭到无情背弃。
继续阅读“请求成立专门工作小组统筹解决滨江花园问题的报告”