软件随想录阅读笔记

挺有意思的一本书,虽然是20多年写的,但是里面的很多内容还是很有意思的,丝毫不落伍

抽象必漏定理

抽象就是隐藏复杂的内部机制,对外部提供简化使用的接口

计算机科学里面有超多的抽象,也就是有了这么多的抽象,才能让普通人轻松的使用计算机

但是所有重要的抽象,都具有某种程度的不严密性

书中举的例子是下雨天开车,本来坐在车子里了,不应该担心外面到底是天晴还是下雨,但是雨中开车必须放慢车速

虽然程序员可用抽象的,封装好了的工具来节省开发时间

但是这并不能节约你的学习时间

mybatis_plus这个工具可以简单的帮你实现crud,但是并不意味着你不用去学习sql

漏洞百出的抽象意味着编程学习曲线是呈指数形态的

90%的东西一周就能学会,但是剩下10%要你学踏马的34年

而且更要命的是这10%的知识决定了程序员的价值

给面试官的指南

挑选那些曾经通过某种非常困难的选拔过程的人才,比如考上985大学,或者曾经是大厂的员工


用电话面试鉴别,并且剔除那些不够聪明的候选者,省下面对面会谈需要的时间和金钱,现在的线上会议软件很方便了,估计在正式见面之前都会先线上面试一遍吧


面试要多搞几次,因为有些水货不一定能在一次面试中看出来,多面试几次就一定会露馅


聪明并不意味着上知天文下知地理,而是能够快速学会新技术的人,因为现在掌握的东西在未来都有可能失效,学得快,才是核心竞争力

聪明的特征:

  1. 面试过程中沟通顺畅,有自己的见解
  2. 有激情,沉浸在技术之中,仿佛忘记了在面试
  3. 能把复杂的东西讲得深入浅出,明明白白

面试官不要留下先入为主的印象


问一些没有标准答案的问题,主要是考察面试者的,思维,逻辑

比如昆明有几个验光师

任务切换有害论

两个结论:

  1. 串行处理的平均速度更快
  2. 任务切换花费的时间越长,多任务并行处理的性能下降越明显

对于程序员编程这件事情来说,切换任务花费的时间是很多的

在编程的时候,程序员满脑子都是各种变量的名称,重要的API用法,各个包的路径....

一旦打断,或者放个几天假再回来处理,就估计得花点时间才能看懂自己以前写的代码


所以作为领导,永远不要把>1的任务交给同一个人做

一次只做一件事情,并且做到最好

这才是最优解

永远不要做的事

编程法则:读代码比写代码难

也就是好传说中的💩山


旧代码不如新代码的观点是十分荒谬的

因为旧代码经过使用和测试,bug基本都被修复了

把旧的代码丢了==自废武功

属于是把曾经的经验,补丁全丢了

扔掉旧代码==抛弃自己公司的市场领导地位,送给对手两到三年的时间

比如网景浏览器

posted @ 2022-11-25 13:14  yangstar  阅读(18)  评论(0编辑  收藏  举报