登录
  • #美国面经
  • #码农类general
  • #面试经验
  • #facebook

关于系统设计的一个忠告

ericLaw
7925
20
刚刚面完F家,其他轮都还好。不过系统设计基本上是面崩了。

题是一道经典的关于search engine设计。不过,哪道题并不重要。重要的是我要跟大家讲一下的策略问题。

千万,绝对,一定不要太早地涉及到数据结构或者任何一部分你认为复杂的部分,我的意思是尽量不要提。

到你要提的时候,你要有一直讨论到结束的觉悟。

不要觉得能一笔带过就把它提出来,想着以后再优化。因为,你是在卖,破,绽。

我就着了道。。。

面试的人是南亚你懂的国人。一开始看到题目,心里打了顿,擦,没有仔细写过这题啊。不过不怕,原理还是知道的,咱还有套路。

然后就开始做各种估算,然后又随手画了几个框框表示了一下,不过画得很不精细。想着还能回头来细化。

然后我就开始作死,要不我们先看一下该怎么存index数据,看一下容量,再回头来优化内存的存储吧。然后,就开始一条不归路。

当我写下一第一个数据结构,准备估算的时候。面试的那位就打住了我,说,你这个数据结构不是最优的,速度可能不够。然后就开始讨论起数据结构。

我以为只是他比较重视数据结构。然后开始讨论。搜索引擎实在不是很熟悉的东西,做得磕磕绊绊,不过他一直要求讨论这个,我也就只好跟着一起讨论。每次我想跳到下一步,他就说我们再看一下数据结构。

花了一些时间讨论出了一个大家都接受数据结构。然后心想,终于能往下走了。

这个时候,他突然跟我,还剩五分钟,你问问题吧。这时候,我大吃一惊。时间过的这么快。然后就匆匆忙忙的算了一下内存容量,说装不下,要不只装最hot的(还要分片,我知道,太紧张没说出来,不过不要紧,因为他已经没在听我说话)。最后我想,也差不多了吧。就说,就这样吧。问问题吧。这时他说还有三分钟。问问题这地方也可以说道说道,我感觉问问题的时间绝对不止3分钟,因为我问完一个问题,他说,还有时间你还要不要问。我又问了一个。

最后高潮来了,他就站起来准备走的时候说,虽然你没有给出一解决办法,但是我知道你懂的东西了。EXO me?!没有解决办法?我们讨论了半天的数据结构难道不是一个解决办法吗?

至此,一套组合拳打完。LZ直接GG。。。

看着满黑板的数字和几个孤零零的框框。我觉得我准备的心血,都喂了狗了。什么互相交流,什么螺旋式讨论,什么先粗后细,全是狗屁。我见识少,玩不过你。

最后再说几句。我一路面过来其实已经用自己亲身经历打破了很多关于面试的迷思,什么一轮要做几道,做不到就挂了。要bug free,有个bug就挂了。都不是一定的。最重要是要把问题说明白了。

说明白了,就算少做那么一道题,有那么一个两个小bug,其实是不影响的。毕竟对面的是个人,不是一台机器。不过人心难测,因为面试外因(对面那个)是不可控的,那归结内因(自己)就是最自然的想法了。

还有一句话,世界很小的,今天对面虐你的,明天可能就来被你虐。都很难说,最重要是记住他的名字。哈哈哈哈。

补充内容 (2017-2-7 06:40):

已掛,已投訴,有沒有用不知道。反正我要噁心一下他。
20条回复
热度排序

发表回复