在https://acecodeinterview.com/intro这篇文章里(还有第一节课),老师说见过深不见底的candidate,我有点好奇怎么样的candidate什么样的设计才是深不见底(不违反NDA前提下)
我自己读Google三驾马车这些优秀的设计也没有感觉惊为天人……是我有病吗?
在https://acecodeinterview.com/intro这篇文章里(还有第一节课),老师说见过深不见底的candidate,我有点好奇怎么样的candidate什么样的设计才是深不见底(不违反NDA前提下)
我自己读Google三驾马车这些优秀的设计也没有感觉惊为天人……是我有病吗?
这个问题很有意思。要理解系统设计的美感可以多看一些讲座,结合实际工作的经验,去了解当时做出这个设计背后的思考,而不是只看设计本身。实际做设计过程中,中间花掉的调查 Use Case,总结抽象,最后做出应用广泛又容易使用的设计,当中有很多有意思的取舍。
比如说,看论文的时候,先看个简介,了解一下 requirement,然后自己花一天时间设计一下自己想象中的系统,然后对比一下论文中的系统,可能就更容易体会要设计出这些优秀的设计所需要的知识和技能。
Candidate 深不见底的设计就是你随便深挖什么地方都能挖到无数的细节,即使你在不断地向下挖,这时候你就知道他的知识储备有多大,需要多少经验才能做到。这时候我就会感慨。
论文是没有细节的 所以你可能没有感觉
很少有人能从头到尾实现出来这样的工业级系统 一般程序员能实现个论文中的 demo program就已经很牛了
老师这个说的很好,看论文之前先自己想想如果是我,我会怎么做,然后再对比论文中的设计,才能体会出精妙之处。