大家好,又是没更新的一周。

面试界经典的「如果xx怎么办?」问题回答思路_职场和发展

周末早早爬起来写了一点字,然后发出来,文章很短。

本次是回答知识星球的一个问题。问题如下:

面试界经典的「如果xx怎么办?」问题回答思路_面试_02

前两个问题都很好回答,没什么难度。重点是后面两个问题。

「如果碰到Binlog丢失,有修复机制吗?」 「如果出现问题,如何解决?」

在面试界有一类经典的问题就是「如果」类问题,例如我们上面的那两个问题。

这个也是我在给很多同学做模拟面试时候提的问题。

首先,「如果」类问题已经预设了这个问题已经发生

所以一方面,你可以从原理上说一下Flink CDC抽取Binlog的原理,他是怎么保证不会丢失的,例如binlog position记录、CP机制等等。

这部分原理性的内容是一定要准备的,既然你提到了你在项目中使用了Flink CDC,那么原理性的知识必须要会,只到使用的程度不够。

另外一方面,既然面试官预设了问题一定发生且已经发生。那么需要你给出一套方案去修复它。这个问题就比较考验水平了。

简单的说,你可以说从重置消费位点等、增加Binlog日志的存储时间、重新进行全量扫描等方面回答。但是这个答案面试官可能并不会满意。

那么更近一步你可以从离线在线数据对账、构建离线回补链路方面入手,不影响下游的正常使用的情况下寻找根因。

其实针对这类问题,面试官主要在考察两方面内容:

首先,考察你对原理的认知。你对某个知识点的原理是否足够了解,自己是否除了简单使用主动去了解过他的原理,甚至翻一翻源代码;

其次,考察你的知识储备。你可能没有这样的知识储备,那么需要在平时多关注社区的分享,然后把它记录下来,甚至可以自己在实际工作中动手去实践。这是一个积累的过程,没有办法短时间补足。

所以你看,答案根本就都在日常的积累中,其实它并没有什么难度,你只需要稍微留意一下,答好这类问题并不难