阿里面试题:鹿晗发布恋情,为什么微博挂了?

JAVA herman 285浏览
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog,发送下载链接帮助你免费下载!
本博客日IP超过1800,PV 2600 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog,之前的微信号好友位已满,备注:返现
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领

这是一道真真实实的阿里面试题:“请解释下为什么鹿晗发布恋情的时候, 微博系统会崩溃,如何解决?”

哎,我原本以为认真学技术就可以了。但面试官的这个面试题还得让我关注明显恋情,不知道程序员单身居多吗?

话说一个合格的程序员,每看过一个系统,就应该了解的五脏六腑,内部设计。大型系统的底层设计尤其值得我们思考,现在面试题也开始追热点了,和高考一样,实时关注社会百态。

要回答好这个问题,你首先得知道鹿晗是谁?要不然“业余草”发布一条微博,连个阅读都没几个。

鹿晗首先是一个明星,流量明星。粉丝量众多,所以,他已公布恋情,瞬间的流量很大。但是我们要注意到,这里面有一个问题。就是这个瞬间流量增大,增的不仅是浏览量。如果仅仅是阅读,我们只需把鹿晗的这条微博放入 Redis 缓存,以微博技术,不可能挂得了的吧。

这个之所以微博挂掉,是因为这个时间段,转发 + 评论量非常的大,并不是只有阅读量大。这个要注意,几乎所有的大型网站挂掉,基本上都是并发写造成的。并发读,以大型公司的技术,除了 12306 这样的,基本上很少有故障的。

另外针对明星的微博,会有一个消息推送功能。第一时间热点数据,只要你联的有网,都能够收到推送。所以一个热点事件,普通人转不转发没啥影响。因为大家都收到了同样的推送。

请解释下为什么鹿晗发布恋情的时候, 微博系统会崩溃,如何解决?

所以,总结下来,热点微博。第一个就是 Redis 的大 Key 问题。第二个就是,热点消息你是选择 pull 还是 push。第三个就是分表的处理,不能把转发的,评论等瞬时数据分到同一个库和表中。

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加QQ1群:135430763(2000人群已满),QQ2群:454796847(已满),QQ3群:187424846(已满)。QQ群进群密码:xttblog,想加微信群的朋友,之前的微信号好友已满,请加博主新的微信号:xttblog,备注:“xttblog”,添加博主微信拉你进群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作可添加助理微信进行沟通!

本文原文出处:业余草: » 阿里面试题:鹿晗发布恋情,为什么微博挂了?