再见!Kafka!

hello,大家好,我是鱼哥!

最近一个大数据读者和我反馈,大数据目前这么火,有没有进阶的干货。比如面试中经常问的Kafka。经常被面试官问的懵逼,即使对于工作多年的老码农来说,没有经过系统复盘总结,也很容易就被挂了。从而与优秀的公司、高薪职位失之交臂。我认识不少以前履历普通的,通过对系统复盘总结改变了自己进入大厂的轨迹,从而走向更高的平台。

高能预警:本文有【两个福利+一个彩蛋】你能找全吗?

在热招的大数据架构师岗位面试中,Kafka 面试题被面试官选中的几率非常大,也是HR的杀手锏和狠招之一。

一般来讲,常见的面试题有以下几种:

1. Kafka 为什么这么快?

2. 如何对 Kafka 集群进行调优?

3. Kafka 的高性能网络架构是如何设计的?

4. Kafka 集群资源如何评估?

大多数人遇到这样的问题,不假思索就快速给出了下面的答案:

1.  Kafka 是基于磁盘顺序写的设计。

2. 将 Kafka 的副本因子调大,提高数据的安全性,把生产者程序的 ack 调整为0,提高数据写入的效率等。

3. Kafka 的高性能网络架构设计方案包含批处理,高效的序列化方式。

4. Kafka 的集群资源评估主要看 topic 的数量以及每个 topic 的数据量规模。

这样看似“突出要点式”的简短回答,其实正好不知不觉陷入了几个雷区,我们来分析一下这几个回答究竟踩中了哪些“”?

1. 回答太过于简洁,而且不完整,明显感觉不全面,欠思考。

2. 回答不够全面,调优一般基于某种业务场景给出最佳方案,毕竟脱离了业务场景而干谈技术和参数调优,那就是耍流氓呀。

3. Kafka 的网络架构设计,应该从已有方案的痛点,其他类似组件的成功设计方案进行设计参考,这样会显得系统全面。

4. 集群资源评估,除了数据规模一样,也还要考虑副本,考虑压缩,考虑生命周期。

那么,避免踩坑,应该怎么回答面试官的问题呢?别着急,我来先给大家做个正确示范。

问题:Kafka 为什么那么快?

示范如下:

首先,Kafka通过把message顺序写入磁盘来提高写入和读取效率。

其次,kafka利用操作系统的页存储来提高写入效率

再次,Kafka也通过zero copy技术来提高了数据的写入效率。

最后,Kafka的message传输支持压缩技术。

总结一下:Kafka 速度的秘诀在于,它把所有的消息都变成一个批量的文件,并且进行合理的批量压缩,减少网络 IO 损耗,通过 mmap 提高 IO 速度,写入数据的时候由于单个 partition 是末尾添加所以速度最优;读取数据的时候配合 sendfile 直接暴力输出。

你看,这样的回答,是不是就更全面了?挑不出毛病的满分答案是完全能让面试官眼前一亮的,这样就离接到 offer 大大地迈进了一步。

其实,大多数人掌握了一定的面试技巧会有一些小幅度提升。然而,多数同学还会表示,在自学过程中,缺乏“系统性的知识讲解”和“真实案例的实操经验”才是他们真正的痛点。针对这部分有一定自学困难的同学呢,很适合接下来送出的这套 免费 且互动感十足的视频教程——《Kafka源码深度剖析》。

微信扫码添加小助手,领取课程

这是我上周刚刚参加过的奈学教育— Kafka进阶训练营,当时报名人数高达12621+人次,现在奈学已经将录播课程资料全部打包,价值2699元的Kafka源码剖析课,现免费赠送!这波羊毛,不薅白不薅,相信你跟我一样,听完干货满满的内容绝对会从容应对面试官的灵魂拷问,让你轻松玩转 Kafka 底层原理!

接下来,给大家预览一下干货满满的课程安排!

微信扫码添加小助手,领取课程

当然,仅仅如此远没有诚意,针对爱看书的小伙伴,接下来这波福利一定不容错过!

618 福利大放送

活动介绍:6.18福利来袭,【奈学教育】与【当当网】强强联合为大家献上奈学购书专属优惠!

参与方式:微信搜索关注“奈学教育”公众号,回复“当当”,领取购书福利!

福利内容:在当当每满100元立减50元的基础上,叠加实付150元立减30元,即120元购买300元的图书!

活动日期:2020/6/15-2020/6/20 

快转发你的小伙伴领取专属好礼吧!

阅读原文 畅享干货

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值