您的位置:首页 > 职场人生

面试不是意味着给解决方式,有时候我们也应该质疑问题

2017-07-30 18:33 295 查看
在面试的时候你会被问到各种各样的怪问题,在绞尽脑汁想着解决方式的时候你也许能够从实际的角度给出最完美的方案。

下面举个数据库相关的面试问题:

CSDN论坛帖子总量的统计,要求实时更新!

MyISAM 存储引擎的情况SELECT COUNT(*)的Query就能攻克了!注:MyISAM 存储引擎互联网基本不会选择。

Innodb 存储引擎的情况呢?千万的帖子呢?訪问量再大一点呢?

也许有些哥们会想到添加一个统计表。每次有新的帖子产生的时候。都将统计表中统计量这个值添加1,

这个哥们的方法肯定能解决查询的问题不错,可是高峰时期可能每秒就有几十甚至上百个帖子新增操作的时候呢?

又是一场噩梦了。是不是......

事实上这样的问题我们换个思维,这是一个合理的需求吗?明显需求造成的资源投入产出比相当低。

多少人会关心实时更新的帖子总量统计?有谁会在乎这个数据短时间内的不准确性?

事实上去掉实时更新这个问题就非常好攻克了,创建一张统计表,隔一段时间去统计一次就OK了,不是吗?

这样既能够解决统计值查询的效率问题,又能够保证不影响新发贴的效率,一举两得。

别看这个问题出现的不多。事实上实际有非常多类似的功能,如:某些表达到一个数量级之后。我们去分页显示他的时候。全然能够

不用准确的显示这个列表总共同拥有多少条信息。总共分了多少页,而仅仅须要一个大概的预计值或者一个时间段之前的统计值就OK了。

这样也可用省去实时大数据的COUNT操作。

总结:从面试题看生产,非常多时候我们可用换个角度思考问题,很多其它的发散思维。

从需求性看实际,并不是一味的实时和精准是比較好的,有价值的方案。

从问题出发,我们更须要的是知道问题的本质原因。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐