面试中的很宽泛的系统设计类问题,应该以什么思路回答?

2022-04-21 20:10:09 +08:00
 billlee

前些天面试,被问了 kafka 的原理,包括为什么快,如何不丢数据,怎么处理分区间的乱序问题,这些都是老生长谈的。然后就让我自己设计一个 mq.

我就问了这个 mq 要用在什么场景,需要哪些特性,需要支持多少吞吐量和并发,对方回答,功能越丰富越好。

然后我就有点懵了,感觉问题太大了,不知道从何说起,随便从存储、接入、数据结构 3 个方面乱说了一通。

现在想起来,那个时候我是不是应该拿出笔开始画思维导图,做个尽可能全面的分析呢?

1478 次点击
所在节点    问与答
6 条回复
Jooooooooo
2022-04-21 20:48:23 +08:00
只要你说的有条理, 有逻辑就行.

比如你说从存储, 接入, 数据三个方面考虑, 然后分别说, 没问题.

这种问题很能看出来你是否真的懂这一块内容, 不懂的人至少条理性上就会差很多
unregister
2022-04-21 20:50:52 +08:00
就先回答一个 mvp ,然后对方提具体的问题,你在这个问题上在扩展。
unregister
2022-04-21 20:54:50 +08:00
事先声明,我是小菜鸟,你可以回答一个最小可行的方案,然后尽量引导对方提出问题,最后在他的问题上完善方案。答得好了能体现你们很合得来。如果你一下子都答完了,感觉不太好。
mikulch
2022-04-22 08:30:04 +08:00
工作 10 来年了不知道怎么回答,感觉要被淘汰了,好伤心。
sadfQED2
2022-04-22 10:21:52 +08:00
直接回答 fork kafka ,缺啥功能加啥功能
night98
2022-04-22 23:28:10 +08:00
正常来说应该和面试官确认整体预期,一个好的项目必然是解决某一类需求的,说什么功能越丰富越好那些都是扯屁,很多需求就是你遇到了才会想办法去解决,so 我的建议是和面试官沟通确认预期,然后再简述你的设计思路,但无奈现在好像比较流行背诵?很多面试官必须给一个完整的解决方案才行,中间也很少引导面试者

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/848433

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX