面向Offer编程
众所周知,面向过程编程、面向对象编程和函数式编程是现代程序设计的三大范式。不过在我们大中华区,面向Offer编程才是当之无愧的全国第一。
何谓面向Offer编程?图灵完备,自解释足矣。
底层、算法与源码,是面向Offer编程的三大要素。
何谓底层?何谓算法?何谓源码?
抽象的名词,要用生动鲜明的例子做类比,方可通俗易懂。
以吃米饭为例:
- 米饭含水量多少趴?每克能量多少焦?东北米还是江南米?袁隆平米还是日本米?新米还是陈米?抛光米还是打蜡米?不了解这些底层原理,你还敢吃米饭吗?
- 吃米饭是用勺子吃?是用筷子吃?还是用吸管吃?吃米饭之前,一定要好好研究吃大米的算法。要知道,用吸管吃米饭的时间复杂度可是O(N)呐。学不好算法,吃碗米饭,吃着吃着一不小心就把自个儿给饿死了。
- 大米,学名水稻,一年生,禾本科植物,单子叶,性喜温湿,成熟时约有1到1.8米高,叶子细长,约有50到100公分长,宽约2到2.5公分。这些仅仅是我们吃大米必备的基础源码中的一小部分。搞不清楚这些,万一吃下一碗由猴子进化来的大米,那也太残忍了吧。
吃米饭,都得讲究底层、算法、源码。做软件,更得面向Offer编程。吃透底层、算法、源码,才能对得起到手的工资。
文章首发: https://baijifeilong.github.io