07 | 系统设计能力考察:系统设计内功到底怎么考?
四火
你好,我是四火。
在上一讲,我们谈到对于数据结构和算法部分考察的把控,这一讲,我们来聊聊系统设计。
我们经常说软件工程师要注意积累工作经验,那么,年复一年的工作中,我们到底积累了哪些技术方面的经验?
我想,其中很重要的一个就是对于系统的理解。对于刚毕业和工作不久的工程师来说,我们不应苛求他们对系统具备相当深度的理解;另一方面,即便工作年数相同,不同候选人对于系统的认识深度也有着非常大的差距。
和能够明确判断出正误的算法类问题不同,系统设计我们往往没法给出丁是丁卯是卯的正误判断,因而面试中讨论的更多是可行性,以及对于不同实现方案的利弊权衡。这也是符合现实逻辑的,有一些相似的系统,它们的实现技术截然不同,有着不同的优势和短板,但是最终都解决了最核心的问题。
糟糕的例子
好,我们先来说几个典型的反面例子,和算法、数据结构的面试不同,系统设计的面试往往能遵循的简单套路更少,因而也能见到更多的“踩坑”实践。
排斥不一样的思路
最典型的例子就是面试官缺乏包容心。就像“看自己的代码越看越开心,看别人的代码越看越糟心”一样,在讨论一些经典系统设计思路的时候,如果对方的思路和常规思路明显不同,某些面试官可能会立即觉得对方的想法很“奇葩”。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
系统设计能力在面试中占据重要地位,与算法和数据结构不同,系统设计更注重候选人的思路和对系统的理解。面试官应该引导候选人深入讨论不同实现方案的利弊权衡,以获取更多关于候选人对系统理解的数据点。系统设计考察方式包括让候选人谈论做过的系统和深入挖掘候选人在项目中的具体实践经验。这种方式既考察了候选人对于“已有系统”的理解,又能反映出候选人是否能灵活地运用掌握的套路和方法来解决新问题。面试官需要丰富的经验和熟悉领域的软件系统。系统设计能力考察需要面试官引导候选人深入讨论,获取更多关于候选人对系统理解的数据点,而不是追求最佳设计或推荐方案。文章通过模拟案例介绍了面试官如何引导候选人一步步攻克系统设计问题,强调了对于系统设计的基础和选择合适的问题的重要性。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《技术面试官识人手册》,新⼈⾸单¥59
《技术面试官识人手册》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(2)
- 最新
- 精选
- fakefish关于候选人思路不一致,但遇到按照候选人第一次思路下去会在十几分钟写不完,我会让他在一开始提示换一个思路,免得后面时间不够用
作者回复: 具体是写什么写不完呢?
2021-04-2431 - qinsi所以有时候你觉得面试官没有问你很深入的问题,整个过程都在谈笑风生,结果最后还是没有被录取,可能只是因为面试官觉得你基础不行不需要深挖,给大家都留点面子。2021-04-2619
收起评论