专栏 | 九章算法
网址 | www.jiuzhang.com程序员
类别:极少见
是否聘用建议:一旦发现,立刻聘用面试
一个优秀的面试者,在面试系统设计题时,只需经过自主地向面试官询问并厘清系统设计需求,就能够相对独立地完成面试题,并不须要面试官的太多帮助。一般,这类优秀的面试者,他们这么答系统设计题:先描述一个大的设计框架,而后给出更多的details。这类优秀的面试者,给出的系统设计经常是很是make sense的,以至于面试官都很难“找茬”。当面试官要求该面试者解释部分的设计时,该面试者能够很是清楚、准确地描述这个设计部分是如何works的。若是面试官要求面试者拓展整个设计(expand the design),面试者也能很是清楚地修正/或从新设计他先前的设计。
算法
类型:常见
是否聘用建议:若是其余的面试轮表现得也不错,就聘用微信
一个合格的面试者会尝试跟面试官沟通并厘清系统设计需求,而后从一个high level 的层面开始系统设计。这类求职者在面试过程当中或多或少会犯一些错误。可是,一旦面试官指出他系统设计中的错误时,这类面试者能够很是快地修正他的设计。当面试官要求他解释其中的某部分设计时,这类求职者也一般能够不费力地描述和解释本身的设计。这类求职者,对于系统设计有一个high level的想法,同时也能够针对新需求进行改进。这类求职者提供的系统设计或许看起来有些蹩脚,但整体来讲,应该是一个看起来在现实中可work的产品。
框架
类型:常见
是否聘用建议:若是是一个彻底没接触过系统设计的面试者,好比New Grads,能够考虑hire优化
一个比较差的面试者,在拿到系统设计题目时,会直接开始设计,而忽略了与面试官沟通并澄清设计需求的过程。因此他们在设计时,一般会有不少错误。当面试官指出其中的设计错误时,比较差的求职者,他们每每没有能力进行修正。当面试官要求面试者修正或拓展整个设计时,比较差的求职者也没办法去改进原先的设计,或者缺少相关的知识。比较差的面试者,他们不太能给出一个完善的设计,而经常是很是蹩脚的。
设计
类型:极少见
是否聘用建议:不聘用cdn
一个糟糕的面试者在拿到系统设计题时,一般不知道如何入手。他们不能本身把系统设计问题break down,而须要面试官来帮忙。当面试官让他们只设计某一小部分时,他们能够作出很好的设计,可是没法全面、完整地考虑整个project的设计(think the project as a whole)。这类面试者须要面试官给不少不少的hints才能给出一个设计,或者他们给出的设计,在现实中彻底就是不可行的。
面试技巧
在《系统设计班》,咱们的老师反复强调,面试者在作系统设计题时,必定要先给出一个work solution,而后再去优化它。
ip
更多精彩IT求职干货:点击可阅读