前言
说起来开始进行面试是11月倒数第二周,上午9点,我还在去公司的公交上,突然收到蚂蚁的面试电话,其实算不上真正的面试。面试官只是和我聊了下他们在做的事情(主要是做双十一这里大促的稳定性保障,偏中间件吧),说的很详细,然后和我沟通了下是否有兴趣,我表示有兴趣,后面就收到正式面试的通知,最后没选择去蚂蚁表示抱歉。
当时我自己也准备出去看看机会,顺便看看自己的实力。当时我其实挺纠结的,一方面现在部门也正需要我,还是可以有一番作为的,另一方面觉得近一年来进步缓慢,没有以前飞速进步的成就感了,而且业务和技术偏于稳定,加上自己也属于那种比较懒散的人,骨子里还是希望能够突破现状,持续在技术上有所精进。
进入正题,先后进行了蚂蚁、拼多多和字节跳动的面试。
第1章快速入门
1.1 Kafka简介
1.2 以Kafka为中心的解决方案
1.3 Kafka核心概念
1.4 Kafka源码环境
第2章生产者
2.1 KafkaProducer 使用示例
2.2 KafkaProducer 分析
- ProducerInterceptors&cProducerInterceptor
- Kafka 集群元数据
- Serializer&Deserializer
- Partitioner
2.3 RecordAccumulator分析
- MemoryR ecords
- RecordBatch
- BufferPool
- RecordAccumulator
2.4 Sender分析
- 创建请求
- KSelector
- InFlightRequests
- MetadataUpdater
- NetworkClient
第3章消费者
3.1 KafkaConsumer 使用示例
3.2 传递保证语义( Delivery guarantee semantic )
3.3 Consumer Group Rebalance设计
3.4 KafkaConsumer 分析
- ConsumerNetworkC lient
- SubscriptionState
- ConsumerCoordinator.
- PartitionAssignor 分析
- Heartbeat 分析
- Rebalance 实现
- offset 操作
- Fetcher
- KafkaConsumer 分析总结
第4章Kafka服务端
4.1 网络层
- Reactor模式
- SocketServer
- AbstractServer Thread
- Acceptor
- Processor
- RequestChannel
4.2 API层
KafkaR equestHandler
KafkaApis
4.3 日志存储
- 基本概念
- FileMessageSet
- ByteBufferMessageSet
- OfsetIndex
- LogSegment
- Log
- LogManager
4.4 DelayedOperationPurgatory 组件
- TimingWheel
- SystemTimer
- Delayed Dperation
- DelayedOperationPurgatory
- DelayedProduce
- DelayedFetch
4.5 副本机制
- 副本
- 分区
- ReplicaManager
4.6 KafkaController
- ControllerChannelManager
- ControllerContext
- ControllerBrokerRequestBatch
- PartitionStateMachine
- PartitionLeaderSelector
- ReplicaStateMachine
- ZooKeeper Listener
- KafkaController 初始化与故障转移
- 处理ContolledShutdownRequest
4.7 GroupCoordinator
- GroupMetadataManager
- GroupCoordinator分析
4.8 身份认证与权限控制
- 配置SASL/PLAIN认证
- 身份认证
- 权限控制
4.9 Kafka 监控
- JMX 简介
- Metrics简介
- Kafka中的Metrics
- Kafka的监控功能
- 监控KSelector的指标
第5章Kafka Tool
5.1 kafka-server-start 脚本
5.2 kafka-topics 脚本
- 创建Topic
- 修改Topic
5.3kafka-preferred-replica-election脚本
5.4 kafka-reassign-partitions 脚本
5.5 kafka-console -producer脚本
5.6 kafka-console-consumer脚本
5.7 kafka-consumer-groups脚本
5.8 DumpLogSegments
5.9 kafka-producer-perf-test 脚本
5.10 kafka-consumer-perf-test脚本
5.11kafka-mirror-maker脚本
最后
每年转战互联网行业的人很多,说白了也是冲着高薪去的,不管你是即将步入这个行业还是想转行,学习是必不可少的。作为一个Java开发,学习成了日常生活的一部分,不学习你就会被这个行业淘汰,这也是这个行业残酷的现实。
如果你对Java感兴趣,想要转行改变自己,那就要趁着机遇行动起来。或许,这份限量版的Java零基础宝典能够对你有所帮助。
领取这份Java零基础宝典,只需要点击这里即可免费下载
这也是这个行业残酷的现实。
如果你对Java感兴趣,想要转行改变自己,那就要趁着机遇行动起来。或许,这份限量版的Java零基础宝典能够对你有所帮助。
领取这份Java零基础宝典,只需要点击这里即可免费下载
[外链图片转存中…(img-SreBS4sy-1622041749502)]