不要说系统设计问题,其实,就算是算法问题,相信很多同学也都有体会。对于一个问题,描述它的解决思路是容易的,但真要落实到代码,完成正确的逻辑,就不那么容易了。

对于一个具体的工程问题,没有受过专业训练的人,很容易忽略复杂的细节,将问题想简单。毕竟,盖一个房子不过是建四面墙,上面加个屋顶而已。但是,这么一个简单的“盖房子”的工程问题,凝聚了人类几千年的智慧结晶,里面包含了诸多复杂的工程问题。从地基要挖多深,到屋体架构设计;从承重墙的构建,到具体施工材料的选择。外行看来很简单的问题,实际上是很复杂的。