前些天面试,被问了 kafka 的原理,包括为什么快,如何不丢数据,怎么处理分区间的乱序问题,这些都是老生长谈的。然后就让我自己设计一个 mq.
我就问了这个 mq 要用在什么场景,需要哪些特性,需要支持多少吞吐量和并发,对方回答,功能越丰富越好。
然后我就有点懵了,感觉问题太大了,不知道从何说起,随便从存储、接入、数据结构 3 个方面乱说了一通。
现在想起来,那个时候我是不是应该拿出笔开始画思维导图,做个尽可能全面的分析呢?
1
Jooooooooo 2022-04-21 20:48:23 +08:00 1
只要你说的有条理, 有逻辑就行.
比如你说从存储, 接入, 数据三个方面考虑, 然后分别说, 没问题. 这种问题很能看出来你是否真的懂这一块内容, 不懂的人至少条理性上就会差很多 |
2
unregister 2022-04-21 20:50:52 +08:00 1
就先回答一个 mvp ,然后对方提具体的问题,你在这个问题上在扩展。
|
3
unregister 2022-04-21 20:54:50 +08:00
事先声明,我是小菜鸟,你可以回答一个最小可行的方案,然后尽量引导对方提出问题,最后在他的问题上完善方案。答得好了能体现你们很合得来。如果你一下子都答完了,感觉不太好。
|
4
mikulch 2022-04-22 08:30:04 +08:00 via iPhone
工作 10 来年了不知道怎么回答,感觉要被淘汰了,好伤心。
|
5
sadfQED2 2022-04-22 10:21:52 +08:00 via Android
直接回答 fork kafka ,缺啥功能加啥功能
|
6
night98 2022-04-22 23:28:10 +08:00
正常来说应该和面试官确认整体预期,一个好的项目必然是解决某一类需求的,说什么功能越丰富越好那些都是扯屁,很多需求就是你遇到了才会想办法去解决,so 我的建议是和面试官沟通确认预期,然后再简述你的设计思路,但无奈现在好像比较流行背诵?很多面试官必须给一个完整的解决方案才行,中间也很少引导面试者
|