平时的大数据架构师岗位面试中,想知道我怎么安排的嘛?
我总会在 Kafka 这块,埋上 无数的坑 ,独门狠招之一,常常 死伤无数, 我每次都这么问,屡试不爽!
一般来讲,常见的面试题有以下几种:
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进阶训练营,当时报名人数高达12621+人次,现在奈学已经将录播课程资料全部打包, 价值 2699 元的 Kafka 源码剖析课,现免费赠送! 这波羊毛,不薅白不薅,相信你跟我一样,听完干货满满的内容绝对会从容应对面试官的灵魂拷问,让你轻松玩转 Kafka 底层原理!
扫码领吧!趁现在免费
再领一套干货满满的视频
阅读原文,领零更多资料!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 万维网之父新使命:把互联网数据控制权归还给网民
- 博士应届毕业的算法工程师们,年薪最高可达90万!平均年薪57.6万元
- CEO 的 1 元年薪起源
- 写给期待年薪百万的IT同学
- 做 DevOps 的我,年薪翻了2倍
- 年薪45W在阿里是什么样的级别?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Introduction to Tornado
Michael Dory、Adam Parrish、Brendan Berg / O'Reilly Media / 2012-3-28 / USD 23.99
Tornado is a scalable, non-blocking web server and web application framework written in Python. It is also light-weight to deploy, fun to write for, and incredibly powerful. Tornado was written with p......一起来看看 《Introduction to Tornado》 这本书的介绍吧!