Wednesday, December 16, 2015

《暗时间》读书笔记 - 简书



暗时间:学会正确思考
学会正确思考解决问题的思路

暗时间:学会正确思考

暗时间:专注,保持高效学习

  • 能迅速进入状态
  • 能够保持状态
  • 抗干扰

进度条:分治,有预估,有反馈

  • 不要过早退出循环,搜索引擎,前人们的经验
  • 兴趣遍地都是,专注和持之以恒才是真正稀缺的
  • 选择很多,敢于选择,别把不知道当成没有
  • 靠专业技能的成功是最具可复制性的,所以大家都可能靠此成功
  • 反思是让人得以改进自己的最重要的思维品质
  • 延迟选择是最差的选择
  • 一生的知识积累,自学起码占 90%

如何有效地记忆与学习

  • 拥有的知识不在于记得多少,而是它们能否在恰当的时候被回忆起来被正确使用
  • 理解记忆:理解知识的含义,并进行适当抽象
  • 从既有经验中总结知识时,要适当抽象来得出适用范围更广的知识,在遇到新问题时,同样进行抽象,这样就能更好的和已有的抽象知识建立联系,从而找到解决思路
  • 具体建议
    • 养成习惯,经常主动回顾
    • 创造回忆的机会
      • 经常和别人讨论,或者讲给别人听
      • 整理笔记
      • 书写(文章)
    • 设身处地“虚拟经历”别人经历过的事情
    • 抽象和推广
    • 联系/比较自身的经历
      • 样本大小很关键
      • 警惕“沉默的证据”、事后偏见、自利归因
  • 如果你想真正得到一些知识,最好过滤一下你的信息,否则你只是在被人的思考中得意着

学习密度与专注力

  • 真正的效率源自于内心对一个东西强烈的热忱,即追求(我称之为压力,迫于生存的压力
  • 专注力是一种习惯,要注意培养
  • 做自己喜欢做的事情
  • 要事第一(重要但不紧迫,影响深远)

学习习惯

  • 只看经典
  • 做读书笔记,加深理解,自己思考。获得多少取决于思考了多少、多深,而不是读了多少。
  • 将思考养成习惯,大脑会持续(后台)进行思考,会有意想不到的收获。还能避免焦虑。
  • 多看心理学与思维的书,跨学科
  • 学习一项新知识,必须问自己三个重要问题:
    • 把握本质与知识结构
  • 学习和思考的过程中,常问自己几个问题:
    • 不要偏题
    • 定期总结
    • 分享检验
    • 辩证思维
    • 深入本质

时间和效率

  • 趁着有热情的时候,熬过最难的开头阶段(基础知识)
  • 要事第一
  • 重要的事情要营造比较大的时间块来完成
  • 善于利用碎片时间
  • 重视知识的本质(学会学习)
  • 提前积累!制定长远计划,计划越早,启动越早,就比别人有更多时间准备
  • 经常反思是否有学习成果,总结学习成果
  • 制定阅读计划

学习效率

  • 根据主题有意识查阅资料
  • 认清好资料:从问题出发,重点介绍方法背后的理念,注重直观解释,按照方法被发明的时间流程来介绍(遇到问题,分析问题,推理,方法)
  • 学习之前就进行一些思考,准备一些疑惑/问题
  • 有选择地阅读
  • 阅读分类:知识型与思维型

知识结构

  • 抓住不变量

习惯养成

思维改变生活

逃出你的肖申克:突破思维囚笼

亲身经历才能明白?

  • 我们经常对事物做出错误的解释和归因,自利归因
  • 所谓亲身经历才能明白,是惰于思考的提现,让失败的教训替代提前的思考和推理
  • 普通人从自己的错误中学习,聪明人从被人的错误中学习
  • 人最重要的能力之一就是能否从被人的错误中学习

偏见

  • 我们大脑从外界接受到的信息是满含歧义的,但得益于基于漫长进化过程与生活积累的先验假设,大脑总是给出其中的一种解释
  • 日常生活中的事件,总有一个平凡的解释,和一个疯狂的解释
  • 但由于大脑的习惯,我们经常无法看到其他可能性:偏见
  • 打破这种偏见的唯一途径就是开阔视野,多积累知识,以及和具有不同知识背景的人讨论

情绪大脑与理性大脑

  • 我们常常做出我们明知不好的事情,这是因为情绪大脑(非理性)往往能胜过理性大脑
  • 我们发明了各种认知方法来诱使/要挟情绪大脑同意执行理性大脑的需求,例如加入互助学习小组,或者规定损失与监督
  • 经常动用理性思考也能锻炼理性大脑的实力

理智与情感

  • 我们的理性大脑非常善于对自己的行为做出立即的、看上去合理的解释,其实往往是经不起推敲的
  • 我们经常知道答案,却不知道求解的思维过程
  • 只要一件事情尚存在对自己有利的解释,我们的大脑便会毫不犹豫且掩耳盗铃地认为那是唯一的解释
  • 认知失调:我们的思想被迫对自己的行为作出合理的解释
  • 有利的证据不加细查,不利的证据却死缠烂打
  • 客观意味着承认存在未知信息的可能性,理性意味着能够从对立面的角度去看问题和思考
  • 学会质疑自己的判断,尝试理解错误的一方为什么会错
  • 能够改变既有的习惯,依靠的不是自制力,而是知识
  • 即便我们不是天生就知道如何对付情绪大脑,通过后天学习心理学知识,并且练习,也能具备成功绕过甚至客服大脑天生缺陷的能力

书写是为了更好地思考

  • 书写是对思维的备忘,人的记忆力有限
  • 书写是对思维的缓存,思维缓存是很小的,经常思此失彼
  • 和别人交流,一次书写,无限阅读
  • 书写的过程中,理清思路之后,很可能问题就会迎刃而解

写博客

  • 结交志同道合的朋友
  • 书写是更好的思考
  • 教是最好的学
  • 注重思维过程:前提,假设,逻辑,结论
  • 讨论是绝佳的反思
  • 激励自己持续学习和思考
  • 让自己成为一个持续学习和思考的人,并只写自己真正思考和总结之后的产物!
  • 养成思考的习惯,先通过书写来养成。习惯养成之后,就会思考有所得,然后书写

我不想与我不能:自利归因

  • 人总是倾向于把成功归因于自己,失败归因于他人
  • 我们的努力是为了增加结果发生的几率,而不是为了那个确定的结果

遇到问题应该自己动手

  • 如果你不知道一个东西,很可能你也不知道自己不知道它
  • 自己动手/思考解决问题,我们的收获远不止这个问题的解决
  • 困难的路越走越容易,容易的路越走越难

什么才是你的不可替代性和核心竞争力

  • 独特的个性知识经验组合
  • 应当最大限度加强和发挥自己独特的组合,而不是寻求单项的超越
  • 专业领域技能
  • 跨领域的技能
  • 学习能力,持续学习和思考新知识
  • 性格要素

跟波利亚学解题

  • 联想:把未知/未解决的问题转化为已知/已解决的问题
  • 启发式思维方法都是为了联想服务

解题方法/注意事项

  • 时刻不忘未知量,不要忘记目标,迷失方向
  • 用特例启发思考
  • 反过来推导,有时结论包含了很多重要信息
  • 试错
  • 调整题目的条件
  • 求解一个类似的题目
  • 列出所有可能跟问题有关的定理或性质
  • 考察反面,考察其他所有情况
  • 将问题泛化,并求解这个泛化后的
  • 意识孵化法,持续思考,让潜意识想到解决办法
  • 烫手山芋法,问别人
  • 联想的法则
    • 突破范畴陷阱
    • 获取知识优势的同时,防止被知识束缚住:抽象
  • 积累知识!
  • 好题目
    • 不需要未知的知识
    • 需要的未知知识可以从题目中分析出来
    • 考察解题的一般性思路,而不是特定技巧
    • 考察思维能力,联想、类比、抽象、演绎、归纳、观察、发散
    • 考察一般性思维方法,特例启发、试错、泛化、倒推…
  • 坏题目
    • 完全依赖特定知识
    • 搜索空间无限
  • 一个好习惯:把自己的思考过程清晰地写在纸上
  • 练习:把外显记忆转化为内隐记忆,增加领域知识
  • 总结的意义,练习解题最重要的目的是反思解题过程中的一般性的、跨问题的思维法则

锤子和钉子

  • 如果你手里有一把锤子,所有东西看上去都像钉子
  • 软件开发方法、工具、框架、范式,都不要走极端,应该掌握应用场景,按需使用
  • 任何工具都有其适用范畴和前提,仅仅将它看作我们工具箱中的一件工具,客观评估它,视具体情况而使用
  • 不要忘记自己要解决的问题是什么,why 永远在 how 之前
  • 如果你想钉一个钉子,所有东西看上去都像锤子
  • 专注于想要解决的问题,所看到的东西会呈现出以往看不到的一面
  • 持续思考,让潜意识持续思考,很可能获得顿悟

鱼是最后一个看到水的

  • 人倾向于在既有框架下去解决问题,在这个过程中很难察觉到框架约束的存在
  • 忽视既有框架的约束很容易导致 sub-optimal 的解决方案
  • 普通人遵守规则,牛人无视规则,伟人创造规则
  • first-class 的内建支持(简洁)永远优于补丁式的解决方案(绕来绕去)
  • 不要觉得不用设计模式就不够好不够强大,以尽可能简单地方式完成任务才是王道
  • 学习编程重在学习基本的概念和素养,这些是长期稳定不变的东西
  • 脱离语言思考,使用语言实现

知其所以然

  • 欧几里得式/瀑布流式/自上而下的解题/算法书,直接讲解结论,讲解算法,不讲解法产生的过程,不讲思维过程,弊病很多:只授鱼不授渔;记忆成本高;……
  • 人的思维形式有两种
    • 联想
      • 先枚举知识,取决于知识量
      • 对知识的加工方法,是否抽象到本质
      • 对问题的理解,是否抽象到本质
    • 演绎 & 归纳
      • 是一种“必然”的推理,但不“必然”引向问题的结论
  • 讲述思维过程而非结果的重要价值
    • 內隐化:思维法则也是知识,是内隐的记忆,要将思维方法内隐化,需要不断练习
    • 跨情境运用:思维法则也是知识记忆,是问题的解决策略,收到提取线索的制约,也需要练习时加工、运用时联想
    • 对问题解的更多提取线索:过程虽然内容更多,但是更容易记忆
    • 包含了更多的知识,解决问题的思想、方法论
    • 重在分析推理,而不是联想,从问题本质入手,逐步分析推理,比生搬硬套联想要好得多
  • 怎么操作
    • 寻找算法的原始出处
    • 原始出处也许也不到位,那就参考讲得好的,也许也没有,那就要自己揣摩,自己问,自己思考,自己回答
    • 不仅学习别人的思路,整理自己的思路也是极其重要的
  • 波利亚《如何解题》,《数学的发现》
《暗时间》读书笔记 - 简书
这本书是作者刘未鹏的博客文章摘录,篇幅不长,内容却异常多。首先,不要被书名迷惑。书名叫暗时间,只不过是第一篇文章的名字叫暗时间。这本书讲的其实是:
  • 人类基本的大脑(情绪与理性)思维运作方式
  • 自学
  • 自我管理
我非常惊讶作者和我看的书很相似,但显然在深度和广度上都比我强太多。每一篇都是满满的干货,但只读这本书其实并不够。用书中的观点来说,是要知其然并知其所以然,我认为,如果将本书当作目录进行主题阅读,有针对性地看扩展阅读的书会更有收获。
我不知道这篇读书笔记应该怎样写,因为如果要摘录的话,那就太多了,还不如看原书。我姑且简单介绍书中三个部分的主要内容。

暗时间

作者非常注重所谓的暗时间,即充分利用各种碎片时间来思考学习。但由于不同任务之间的切换,大脑需要一定时间才能进入状态。因此要充分利用暗时间,需要锻炼自己快速进入状态的能力,保持状态的思维体力和抗干扰能力。
另外,要适时给自己投入的时间一定"回报",避免畏难过早退出。

知识的偏见 - 读《暗时间》的思考
『如果你手里有把锤子,所有东西看上去都想钉子』
每种语言的开发者,对其所掌握的语言都会有一种无法抑制的执着。
『用合适的语言取做合适的事情』

TDD
『软件开发没有银弹,方法论同样也适用』

如果你对面向对象还保持着封装,继承,多态,教条的遵循 SOLID 原则,可能仅对 OOP,可能还需要更多的思考。
『OOP 不是万能的』

『Design Pattern 是我们重构代码时的参考,不是我们写代码的准则』

使用合适的语言解决合适的事情。
使用 DSL 处理特定的领域
Read full article from 《暗时间》读书笔记 - 简书

Labels

Review (572) System Design (334) System Design - Review (198) Java (189) Coding (75) Interview-System Design (65) Interview (63) Book Notes (59) Coding - Review (59) to-do (45) Linux (43) Knowledge (39) Interview-Java (35) Knowledge - Review (32) Database (31) Design Patterns (31) Big Data (29) Product Architecture (28) MultiThread (27) Soft Skills (27) Concurrency (26) Cracking Code Interview (26) Miscs (25) Distributed (24) OOD Design (24) Google (23) Career (22) Interview - Review (21) Java - Code (21) Operating System (21) Interview Q&A (20) System Design - Practice (20) Tips (19) Algorithm (17) Company - Facebook (17) Security (17) How to Ace Interview (16) Brain Teaser (14) Linux - Shell (14) Redis (14) Testing (14) Tools (14) Code Quality (13) Search (13) Spark (13) Spring (13) Company - LinkedIn (12) How to (12) Interview-Database (12) Interview-Operating System (12) Solr (12) Architecture Principles (11) Resource (10) Amazon (9) Cache (9) Git (9) Interview - MultiThread (9) Scalability (9) Trouble Shooting (9) Web Dev (9) Architecture Model (8) Better Programmer (8) Cassandra (8) Company - Uber (8) Java67 (8) Math (8) OO Design principles (8) SOLID (8) Design (7) Interview Corner (7) JVM (7) Java Basics (7) Kafka (7) Mac (7) Machine Learning (7) NoSQL (7) C++ (6) Chrome (6) File System (6) Highscalability (6) How to Better (6) Network (6) Restful (6) CareerCup (5) Code Review (5) Hash (5) How to Interview (5) JDK Source Code (5) JavaScript (5) Leetcode (5) Must Known (5) Python (5)

Popular Posts