阿里是想让我去给他们设计一个 system 吗?
rt,第四面,部门负责人面,两个问题。
1. 有个网站,每次用户访问都增加一次计数,给第 10000 个访问的用户发奖。
这题我承认是我菜了。说了 Redis INCR,不行,并发访问高,限流,不行。分布式锁,不行,并发高体验差。数据库锁,不行。数据库自增,不行。结果面试官最后说,“你想,后端一般是集群,可以分别将访问量存到不同地方,然后之后再统计”。我一开始以为需要第 10000 个用户访问时就发奖,结果听他意思最后统计后再处理,是我比较菜。
2. 现在有一块内存,有进程去取、释放内存。设计一个数据结构。
比如进程 A 取了 5MB,过了一会儿又还回来。
如果没有刚好可以分配的内存,分配比需要内存大的最小内存。
如果上个条件不满足,即需要的内存无法满足,合并比需要内存小的最大内存,直到满足需求。
(我提出方案后补充)如果被释放内存之后有未使用内存,合并。即合并连续未使用内存。
(有什么要问我的 又补充)如果被释放内存之前有未使用内存,怎么处理。
反正我是不行了,诸位可以开始秀了。
顺便,我面的是 Java 后台,求求你了问点Java,别这样。。。。
2018.10.27 更新:根据牛客上阿里三、四面是评级面的说法,可能我上一面表现太好,面试官给我申请更高评级了,但是这一面 gg#阿里巴巴##Java工程师##面经##吐槽##秋招#
1. 有个网站,每次用户访问都增加一次计数,给第 10000 个访问的用户发奖。
这题我承认是我菜了。说了 Redis INCR,不行,并发访问高,限流,不行。分布式锁,不行,并发高体验差。数据库锁,不行。数据库自增,不行。结果面试官最后说,“你想,后端一般是集群,可以分别将访问量存到不同地方,然后之后再统计”。我一开始以为需要第 10000 个用户访问时就发奖,结果听他意思最后统计后再处理,是我比较菜。
2. 现在有一块内存,有进程去取、释放内存。设计一个数据结构。
比如进程 A 取了 5MB,过了一会儿又还回来。
如果没有刚好可以分配的内存,分配比需要内存大的最小内存。
如果上个条件不满足,即需要的内存无法满足,合并比需要内存小的最大内存,直到满足需求。
(我提出方案后补充)如果被释放内存之后有未使用内存,合并。即合并连续未使用内存。
(有什么要问我的 又补充)如果被释放内存之前有未使用内存,怎么处理。
反正我是不行了,诸位可以开始秀了。
顺便,我面的是 Java 后台,求求你了问点Java,别这样。。。。
2018.10.27 更新:根据牛客上阿里三、四面是评级面的说法,可能我上一面表现太好,面试官给我申请更高评级了,但是这一面 gg#阿里巴巴##Java工程师##面经##吐槽##秋招#