作者回复: 1. 其实我会看工作年限,如果您工作了五年之后,我觉得基础知识更重要,技能广度可以慢慢培养;如果工作了七八年了,还是需要有一些技术的视野的
2. 要多思考,多看出,了解高并发的基础知识,然后考虑如果自己的业务到了更高的量级要如何解决
作者回复: 这就要你在平时的时候多了解维护系统的数据了,数据对于性能优化很重要
作者回复: 剧透一下,在面试现场的第二期会讲到哈~
作者回复: 是的,没错~
作者回复: 是说slab class 5 占用了绝大多数的空间,那么slab class 6最多只能分配到100M,可是我们的缓存的用户认证信息的数据量远大于100M,而认证信息的数据大小又大于class 5的大小,没法存储到slab class 5里面,所以就会产生剔除了
作者回复: 如果是我的话,我会更关注基础知识,你可以没有用过,但是基本的原理要了解了~
作者回复: 问题导向是应该的,遇到问题要深挖,找到根本原因,其中肯定会了解一些原理。但是问题毕竟不多,可以多关注一些你用到组件的基本原理
作者回复: 倒也不分工程师和架构师,只是在面试介绍项目经历的时候可以多突出你的贡献,比如你解决了什么问题,如何优化了性能,设计了那些方案,突出做的事情的难点,以及你的解决思路。我可以在后面面试现场里面讲讲这个:)
作者回复: 技多不压身~
作者回复: 是剔除相同slab class下的。例子里的的意思是一共分配了2g的空间,但是有1.9g给了slab class 5,剩余100m给了其他的slab class,那么300m的意思是slab class 5的1.9g只用了200m,其他的slab class的100m都占满了,这样加起来是300m
作者回复: 跳表……
作者回复: 多用一些碎片的时间,比如上下班的时间~
作者回复: 需要了解原理和特性的
作者回复: 赞👍
作者回复: 1. 多问原理
2. 考察解决问题的能力,比如你遇到什么问题,问问解决的思路
3. 当场写代码
作者回复: 内存分配策略就是基于slab allocator,因为总共有2g内存,所以class5是1.9g,其他就是100m了
最后拆分了一下,单独拆出一组缓存