前言

爱因斯坦说过“耐心和恒心总会得到报酬的”,我也一直把这句话当做自己的座右铭,这句箴言在今年也彻底在“我”身上实现了。

每一个程序员都拥有一座大厂梦,我也不例外,去年面试蚂蚁金服,竟然被MySQL问倒了,很多相关性的问题都没有答上来,才2面就凉凉了。回去之后也潜心复习了,准备了二战,如今终于进入了蚂蚁金服,被录用。

以下展示的阿里面试题(含答案)、学习包、实战文档等,均可以分享给大家!


一、对Kafka的认识

1.Kafka的基本概念

java金融项目的模块 java金融项目面试题_后端

2.安装与配置

java金融项目的模块 java金融项目面试题_java金融项目的模块_02

3.生产与消费

java金融项目的模块 java金融项目面试题_java_03

4.服务端参数配置

java金融项目的模块 java金融项目面试题_后端_04

二、生产者

1.客户端开发

  • 必要的参数配置
  • 消息的发送
  • 序列化
  • 分区器
  • 生产者拦截器

java金融项目的模块 java金融项目面试题_java_05

2.原理分析

  • 整体架构
  • 元数据的更新

java金融项目的模块 java金融项目面试题_java_06

3.重要的生产者参数

java金融项目的模块 java金融项目面试题_java_07

三、消费者

1.消费者与消费组

java金融项目的模块 java金融项目面试题_面试_08

2.客户端开发

  • 必要的参数配置
  • 订阅主题与分区
  • 反序列化
  • 消息消费
  • 位移提交
  • 控制或关闭消费
  • 指定位移消费
  • 再均衡
  • 消费者拦截器
  • 多线程实现
  • 重要的消费者参数

java金融项目的模块 java金融项目面试题_java金融项目的模块_09

四、主题与分区

1.主题的管理

  • 创建主题
  • 分区副本的分配
  • 查看主题
  • 修改主题
  • 配置管理
  • 主题端参数
  • 删除主题

java金融项目的模块 java金融项目面试题_后端_10

2.初识KafkaAdminCilent

  • 基本使用
  • 主题合法性验证

java金融项目的模块 java金融项目面试题_java_11

3.分区的管理

  • 优先副本的选举
  • 分区重分配
  • 复制限流
  • 修改副本因子

java金融项目的模块 java金融项目面试题_Streaming_12

4.如何选择合适的分区数

  • 性能测试工具
  • 分区数越多吞吐量就越高吗
  • 分区数的上限
  • 考量因素

java金融项目的模块 java金融项目面试题_java金融项目的模块_13

五、日志存储

1.文件目录布局

java金融项目的模块 java金融项目面试题_面试_14

2.日志格式的演变

  • v0版本
  • v1版本
  • 消息压缩
  • 变长字段
  • v2版本

java金融项目的模块 java金融项目面试题_面试_15

3.日志索引

  • 偏移量索引
  • 时间戳索引

java金融项目的模块 java金融项目面试题_Streaming_16

4.日志清理

  • 日志删除
  • 日志压缩

java金融项目的模块 java金融项目面试题_面试_17

5.磁盘存储

  • 页缓存
  • 磁盘I/O流程
  • 零拷贝

java金融项目的模块 java金融项目面试题_java_18

六、深入服务端

1.协议设计

java金融项目的模块 java金融项目面试题_后端_19

2.时间轮

java金融项目的模块 java金融项目面试题_后端_20

3.延时操作

java金融项目的模块 java金融项目面试题_面试_21

4.控制器

java金融项目的模块 java金融项目面试题_面试_22

5.参数解密

java金融项目的模块 java金融项目面试题_Streaming_23

七、深入客户端

1.分区分配策略

java金融项目的模块 java金融项目面试题_java金融项目的模块_24

2.消费者协调器和组协调器

java金融项目的模块 java金融项目面试题_java金融项目的模块_25

3._consumer_offsets剖析

java金融项目的模块 java金融项目面试题_java金融项目的模块_26

4.事务

java金融项目的模块 java金融项目面试题_java金融项目的模块_27

八、可靠性探究

1.副本剖析

java金融项目的模块 java金融项目面试题_后端_28

2.日志同步机制

java金融项目的模块 java金融项目面试题_面试_29

3.可靠性分析

java金融项目的模块 java金融项目面试题_后端_30

九、Kafka应用

1.命令行工具

java金融项目的模块 java金融项目面试题_java金融项目的模块_31

2.Kafka Connect

java金融项目的模块 java金融项目面试题_后端_32

3.Kafka Mirror Maker

java金融项目的模块 java金融项目面试题_java金融项目的模块_33

4.Kafka Streams

java金融项目的模块 java金融项目面试题_面试_34

十、Kafka监控

1.监控数据的来源

java金融项目的模块 java金融项目面试题_java金融项目的模块_35

2.消费滞后

java金融项目的模块 java金融项目面试题_面试_36

3.同步失效分区

java金融项目的模块 java金融项目面试题_Streaming_37

4.监控指标说明

java金融项目的模块 java金融项目面试题_Streaming_38

5.监控模块

java金融项目的模块 java金融项目面试题_java_39

十一、高级应用

1.过期时间(TTL)

java金融项目的模块 java金融项目面试题_面试_40

2.延时队列

java金融项目的模块 java金融项目面试题_后端_41

3.死信队列和重试队列

java金融项目的模块 java金融项目面试题_Streaming_42

4.消息路由

java金融项目的模块 java金融项目面试题_Streaming_43

5.消息轨迹

java金融项目的模块 java金融项目面试题_面试_44

6.消息审计

java金融项目的模块 java金融项目面试题_Streaming_45

7.消息代理

java金融项目的模块 java金融项目面试题_Streaming_46

8.消息中间件选型

java金融项目的模块 java金融项目面试题_java_47

十二、Kafka与Spark的集成

1.Spark的安装及简单应用

java金融项目的模块 java金融项目面试题_Streaming_48

2.Spark编程模型

java金融项目的模块 java金融项目面试题_Streaming_49

3.Spark的运行结构

java金融项目的模块 java金融项目面试题_Streaming_50

4.Spark Streaming简介

java金融项目的模块 java金融项目面试题_java_51

5.Kafka与Spark Streaming的整合

java金融项目的模块 java金融项目面试题_java_52

6.Spark SQL

java金融项目的模块 java金融项目面试题_java_53

7.Structured Streaming

java金融项目的模块 java金融项目面试题_java金融项目的模块_54

8.Kafka与Structured Streaming的整合

java金融项目的模块 java金融项目面试题_面试_55