道理都明白,还得靠自己
关于本书
藉由大多数程序员天然的对 google 怀有的朝圣般的向往和喜爱,开始看这本书。
书中的中文版序的标题就是“跳出框框来思考”,这种观点倒不是第一次见到了,甚至可以说,这些观点充斥于互联网上的各种流传、经验贴中。但这并不意味着我们不需要再花时间在这种书上。道理都懂,就是做不好已经成为这个信息通畅的时代的特征之一。正所谓“纸上得来终觉浅,绝知此事要躬行”。
而如果有一个“躬行”过的人再将他的感受娓娓道来,辅以自己的用心体会,或许会事半功倍呢。这就是我想通过这本书得到的。如下几点,让这个想法成为可能:
- 1.这本书并不单单是一个题集,大约有一般的篇目是在讲述题记,另外一半的篇目,则是代入感颇强的为什么要这么思考的叙述。后者看似无关功利,但却可以给人足够的心理暗示和支撑,以提升良好思考习惯在内心的重要性。
- 2.作者庞德斯通写过不少充满思维的力量书。
认同归认同,关键的还是自己的所得。下面是我的一些思考。
我的思考
- 1.解决问题的思路:问题域 –> 结果
- 问题域:需要慎重思考,充分利用资源,限定问题域的边界。往往很多题目是在没有弄清楚题意的情况下开始解答而得不到好的答案。
- 问题域向结果推演:首先是发散式的头脑风暴(发现尽可能多的维度的才想),然后再依次的理性分析,找本质规律,内在联系,向结果靠拢。
- 2.分析过程中,有些需要注意的点:
- 用尽可能的条件。
- 图形化思维(可能人体对这种视觉层次的抽象更敏锐),
- 第一个想出来的一般都不够优美。但是或许可以从中吸取观点,不断提炼优化,得到更好的答案。这是一个过程。
- 切记“瞎猜”数据,注意发散思维和逻辑思维之间的界定。(费米问题)
- 极限思想是发散思维中容易套用的方式。往往可以将它作为启发的源泉,再深入挖掘。
- 多跟面试官交流,脑子有时候会跟着嘴巴走。别说的太绝对,显示自己的反思。(不单就面试而言,包括一些场合的交流讨论)
- 3.知识性的东西:
- 算法:最近看算法跟最早算法课上的感觉,完全不一样。随着对计算机技术整体的把握越来越细,对算法的理解也变得更深刻了。
- 概率论:很多情况下,我们会根据经验来算概率,而不依从概率模型、概率论的理论体系,但人的感性认知是有局限性的。理论体系能支撑更多复杂的情况的分析。
- 常识:或许在面对费米问题等时,掌握一些尝试,更有利。
PS:书中有几个小错误,比如.P208 4 题的答案的笔误,以及 P210 第 5 题解题思路中的纰漏。不过,无伤大雅,译者翻译的已经很是舒畅了。