为了更好的梳理相关知识,咱们先看纯手绘知识体系图

1.1 Kafka知识体系大纲

由于我手绘这些知识体系大纲是用的xmind软件,无法上传,所以都以截图的形式展示,细节处不清楚(毕竟图片形式有限)

1.2 RabbitMQ知识体系大纲

1.3 RocketMQ知识体系大纲

看完知识大纲,该刷面试了

2.1 刷刷Kafka面试

  1. Kafka的用途有哪些?使用场景如何?
  2. Kafka中的ISR、AR又代表什么?ISR的伸缩又指什么
  3. Kafka中的HW、LEO、LSO、LW等分别代表什么?
  4. Kafka中是怎么体现消息顺序性的?
  5. Kafka中的分区器、序列化器、拦截器是否了解?它们之间的处理顺序是什么?
  6. Kafka生产者客户端的整体结构是什么样子的?
  7. Kafka生产者客户端中使用了几个线程来处理?分别是什么?
  8. Kafka的旧版Scala的消费者客户端的设计有什么缺陷?
  9. “消费组中的消费者个数如果超过topic的分区,那么就会有消费者消费不到数据”这句话是否正确?如果正确,那么有没有什么hack的手段?
  10. 有哪些情形会造成重复消费?
  11. 哪些情景下会造成消息漏消费?
  12. KafkaConsumer是非线程安全的,那么怎么样实现多线程消费?
  13. 简述消费者与消费组之间的关系
  14. 当你使用kafka-topics.sh创建(删除)了一个topic之后,Kafka背后会执行什么逻辑?
  15. topic的分区数可不可以增加?如果可以怎么增加?如果不可以,那又是为什么?
  16. topic的分区数可不可以减少?如果可以怎么减少?如果不可以,那又是为什么?
  17. 创建topic时如何选择合适的分区数?
  18. Kafka目前有哪些内部topic,它们都有什么特征?各自的作用又是什么?
  19. 优先副本是什么?它有什么特殊的作用?
  20. Kafka有哪几处地方有分区分配的概念?简述大致的过程及原理
  21. 简述Kafka的日志目录结构
  22. Kafka中有哪些索引文件?
  23. 如果我指定了一个offset,Kafka怎么查找到对应的消息?
  24. 如果我指定了一个timestamp,Kafka怎么查找到对应的消息?
  25. 聊一聊你对Kafka的Log Retention的理解
  26. 聊一聊你对Kafka的Log Compaction的理解
  27. 聊一聊你对Kafka底层存储的理解
  28. 聊一聊Kafka的延时操作的原理
  29. 聊一聊Kafka控制器的作用
  30. Kafka的旧版Scala的消费者客户端的设计有什么缺陷?
  31. 消费再均衡的原理是什么?(提示:消费者协调器和消费组协调器)
  32. Kafka中的幂等是怎么实现的?
  33. Kafka中的事务是怎么实现的?
  34. 失效副本是指什么?有哪些应对措施?
  35. 多副本下,各个副本中的HW和LEO的演变过程
  36. Kafka在可靠性方面做了哪些改进?(HW, LeaderEpoch)
  37. 为什么Kafka不支持读写分离?
  38. Kafka中的延迟队列怎么实现
  39. Kafka中怎么实现死信队列和重试队列?
  40. Kafka中怎么做消息审计?
  41. Kafka中怎么做消息轨迹?
  42. 怎么计算Lag?(注意read_uncommitted和read_committed状态下的不同)
  43. Kafka有哪些指标需要着重关注?
  44. Kafka的哪些设计让它有如此高的性能?

2.2 刷刷ActiveMQ面试

1.什么是 ActiveMQ?
2. ActiveMQ 服务器宕机怎么办?
3. 丢消息怎么办?
4. 持久化消息非常慢
5. 消息的不均匀消费
6. 死信队列
7. ActiveMQ 中的消息重发时间间隔和重发次数吗?

2.3 刷刷RabbitMQ面试

  1. RabbitMQ 中的 broker 是指什么?cluster 又是指什么?
  2. 什么是元数据?元数据分为哪些类型?包括哪些内容?与 cluster 相关的元数据有哪些?元数据是如何保存的?元数据在 cluster 中是如何分布的?
  3. RAM node 和 disk node 的区别?
  4. RabbitMQ 上的一个 queue 中存放的 message 是否有数量限制?
  5. RabbitMQ 概念里的 channel、exchange 和 queue 这些东东是逻辑概念,还是对应着进程实体?这些东东分别起什么作用?
  6. vhost 是什么?起什么作用?
  7. 在单 node 系统和多 node 构成的 cluster 系统中声明 queue、exchange ,以及进行 binding 会有什么不同?
  8. 客户端连接到 cluster 中的任意 node 上是否都能正常工作?
  9. 若 cluster 中拥有某个 queue 的 owner node 失效了,且该 queue 被声明具有durable 属性,是否能够成功从其他 node 上重新声明该 queue ?
  10. cluster 中 node 的失效会对 consumer 产生什么影响?若是在 cluster 中创建了mirrored queue ,这时 node 失效会对 consumer 产生什么影响?
  11. 能够在地理上分开的不同数据中心使用 RabbitMQ cluster 么?
  12. 为什么 heavy RPC 的使用场景下不建议采用 disk node ?
  13. 向不存在的 exchange 发 publish 消息会发生什么?向不存在的 queue 执行consume 动作会发生什么?
  14. routing_key 和 binding_key 的最大长度是多少?
  15. RabbitMQ 允许发送的 message 最大可达多大?
  16. 什么情况下 producer 不主动创建 queue 是安全的?
  17. “dead letter”queue 的用途?
  18. 为什么说保证 message 被可靠持久化的条件是 queue 和 exchange 具有durable 属性,同时 message 具有 persistent 属性才行?
  19. 什么情况下会出现 blackholed 问题?
  20. 如何防止出现 blackholed 问题?
  21. Consumer Cancellation Notification 机制用于什么场景?
  22. Basic.Reject 的用法是什么?
  23. 为什么不应该对所有的 message 都使用持久化机制?
  24. RabbitMQ 中的 cluster、mirrored queue,以及 warrens 机制分别用于解决什么问题?存在哪些问题?

全部刷题的答案已经整理好,如下题所示的PDF文件了,篇幅原因就不再一一的截图了,需要看答案的可以在文末领取

看完体系大纲+面试刷题,有知识漏洞那就继续往下看学习笔记

3.1 Kafka源码解析与实战

第1章 Kafka简介
1.1 Kafka诞生的背景
1.2 Kafka在LinkedIn内部的应用
1.3 Kafka的主要设计目标
1.4 为什么使用消息系统
第2章 Kafka的架构
2.1 Kafka的基本组成
2.2 Kafka的拓扑结构
2.3 Kafka内部的通信协议
第3章 Broker概述
3.1 Broker的启动
3.2 Broker内部的模块组成
第4章 Broker的基本模块
4.1 SocketServer
4.2 KafkaRequestHandlerPool
4.3 KafkaApis
4.4 KafkaHealthcheck
第5章 Broker的控制管理模块
5.1 KafkaController的选举策略
5.2 KafkaController的初始化
5.3 Topic的分区状态转换机制
5.4 Topic分区的领导者副本选举策略
5.5 Topic分区的副本状态转换机制
5.6 KafkaController内部的监听器
5.7 Kafka集群的负载均衡流程
5.8 Kafka集群的Topic删除流程
5.9 KafkaController的通信模块
第6章 Topic的管理工具
6.1 kafka-topics.sh
6.2 kafka-reassign-partitions.sh
6.3 kafka-preferred-replica-election.sh
第7章 生产者
7.1 设计原则
7.2 示例代码
7.3 模块组成
7.4 发送模式
第8章 消费者
8.1 简单消费者
8.2 高级消费者
第9章 Kafka的典型应用
9.1 Kafka和Storm的集成
9.2 Kafka和ELK的集成
9.3 Kafka和Hadoop的集成
9.4 Kafka和Spark的集成
第10章 Kafka的综合实例
10.1 安防大数据的主要应用
10.2 Kafka在安防整体解决方案中的角色
10.3 典型业务

3.2 手写RocketMQ笔记

第一节:RocketMQ介绍
1.1 核心概念
1.2 RocketMQ的设计理念和目标
第二节:RocketMq中消息的发送
2.1 单向(OneWay)发送
2.2 可靠同步发送
2.3 可靠异步发送
2.4 RocketMQ中消息发送的权衡
第三节:RocketMQ消息消费
3.1 集群消费和广播消费
3.2 消费方式
第四节:深入消息发送
4.1 消息生产者流程
4.2 批量消息发送
4.3 消息重试机制
第五节:深入消息模式
5.1 拉模式 5.2 推模式
第六节:顺序消息
6.1 全局顺序消息
6.2 部分顺序消息
第七节:延时消息
7.1 概念介绍
7.2 适用场景
7.3 使用方式
第八节:死信队列
8.1 概念介绍
8.2 适用场景
第九节:消费幂等
9.1 什么是消息幂等
9.2 需要处理的场景
9.3 处理方法
第十节:消息过滤
10.1 概念介绍
10.2 表达式过滤
10.3 类过滤
第十一节:RocketMQ存储概要设计
11.1 消息存储结构
11.2 内存映射
11.3 文件刷盘机制
11.4 过期文件删除
第十二节:RocketMQ中的事务消息
12.1 事务消息实现思想
12.2 两阶段提交
12.3 事务状态回查机制
12.3 代码实现
第十三节:RocketMQ主从同步(HA)机制
13.1 RocketMQ集群部署模式
13.2 主从复制原理
13.3 读写分离机制
13.4 与Spring集成
13.5 与SpringBoot集成
第十四节:限时订单实战
14.1 什么是限时订单
14.2 如何实现限时订单
14.3 用RocketMQ实现限时订单
第十五节:RocketMQ源码分析
15.1 RocketMQ整体架构
15.2 NameServer
15.3 RocketMQ 服务启动
15.4 源码分析之消息的来龙去脉

3.3 RabbitMQ实战学习指南

第1章 RabbitMQ简介
1.1 什么是消息中间件
1.2 消息中间件的作用
1.3 RabbitMQ的起源
1.4 RabbitMQ的安装及简单使用
第2章 RabbitMQ入门
2.1 相关概念介绍
2.2 AMQP协议介绍
第3章 客户端开发向导
3.1 连接RabbitMQ
3.2 使用交换器和队列
3.3 发送消息
3.4 消费消息
3.5 消费端的确认与拒绝
3.6 关闭连接
第4章 RabbitMQ进阶
4.1 消息何去何从
4.2 过期时间(TTL)
4.3 死信队列
4.4 延迟队列
4.5 优先级队列
4.6 RPC实现
4.7 持久化
4.8 生产者确认
4.9 消费端要点介绍
4.10 消息传输保障
第5章 RabbitMQ管理
5.1 多租户与权限
5.2 用户管理
5.3 Web端管理
5.4 应用与集群管理
5.5 服务端状态
5.6 HTTPAPI接口管理
第6章 RabbitMQ配置
6.1 环境变量
6.2 配置文件
6.3 参数及策略
第7章 RabbitMQ运维
7.1 集群搭建
7.2 查看服务日志
7.3 单节点故障恢复
7.4 集群迁移
7.5 集群监控
第8章 跨越集群的界限
8.1 Federation
8.2 Shovel
第9章 RabbitMQ高阶
9.1 存储机制
9.2 内存及磁盘告警
9.3 流控
9.4 镜像队列
第10章 网络分区
10.1 网络分区的意义
10.2 网络分区的判定
10.3 网络分区的模拟
10.4 网络分区的影响
10.5 手动处理网络分区
10.6 自动处理网络分区
10.7 案例:多分区情形
第11章 RabbitMQ扩展
11.1 消息追踪
11.2 负载均衡

Spring全套教学资料

Spring是Java程序员的《葵花宝典》,其中提供的各种大招,能简化我们的开发,大大提升开发效率!目前99%的公司使用了Spring,大家可以去各大招聘网站看一下,Spring算是必备技能,所以一定要掌握。

资料领取方式:点击这里前往蓝色传送门

目录:

部分内容:

Spring源码

  • 第一部分 Spring 概述
  • 第二部分 核心思想
  • 第三部分 手写实现 IoC 和 AOP(自定义Spring框架)
  • 第四部分 Spring IOC 高级应用
    基础特性
    高级特性
  • 第五部分 Spring IOC源码深度剖析
    设计优雅
    设计模式
    注意:原则、方法和技巧
  • 第六部分 Spring AOP 应用
    声明事务控制
  • 第七部分 Spring AOP源码深度剖析
    必要的笔记、必要的图、通俗易懂的语言化解知识难点

脚手框架:SpringBoot技术

它的目标是简化Spring应用和服务的创建、开发与部署,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用的微服务功能,可以和spring cloud联合部署。

Spring Boot的核心思想是约定大于配置,应用只需要很少的配置即可,简化了应用开发模式。

  • SpringBoot入门
  • 配置文件
  • 日志
  • Web开发
  • Docker
  • SpringBoot与数据访问
  • 启动配置原理
  • 自定义starter

微服务架构:Spring Cloud Alibaba

同 Spring Cloud 一样,Spring Cloud Alibaba 也是一套微服务解决方案,包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。

  • 微服务架构介绍
  • Spring Cloud Alibaba介绍
  • 微服务环境搭建
  • 服务治理
  • 服务容错
  • 服务网关
  • 链路追踪
  • ZipKin集成及数据持久化
  • 消息驱动
  • 短信服务
  • Nacos Confifig—服务配置
  • Seata—分布式事务
  • Dubbo—rpc通信

Spring MVC

目录:

部分内容:

Confifig—服务配置

  • Seata—分布式事务
  • Dubbo—rpc通信

[外链图片转存中…(img-VImyTsMO-1626866382878)]

[外链图片转存中…(img-o8vppI21-1626866382879)]

Spring MVC

目录:

[外链图片转存中…(img-sNNtzQSy-1626866382880)]

[外链图片转存中…(img-L6LmUM3V-1626866382881)]

[外链图片转存中…(img-Kn7iwRmt-1626866382881)]

部分内容:

[外链图片转存中…(img-70jRm1gZ-1626866382882)]

[外链图片转存中…(img-ouqDIkBf-1626866382883)]

java电商项目描述面试,看完跪了相关推荐

  1. 电商项目介绍面试的时候会问到

    JAVA电商项目简介 面试的时候如何进行项目讲解? 我们这个项目是基于SOA的架构来实现的.采用的是dubbo中间件来实现表现层跟服务层之间的通信.我们项目分为前台后台,前台提供内容展示,商品展示,商 ...

  2. 电商项目相关面试问题及答案

    请描述一下这个系统? [回答技巧] 从3个方面来回答这个问题: |–系统背景及系统概述 |–系统包括的业务模块及主业务流程 |–责任模块 [回答示例] 第一个方面:系统背景及系统概述 优购时尚商城是香 ...

  3. 简历里写了电商项目 ,面试的时候怎么回答

    商项目里的技术特点? ①技术更新较快:根据市场的需求,不断迭代更新. ②技术涉及面广:除了 PHP,还会用到 Python,GO 等其他的一些语言:数据库中 MySQL,nosql 是最频繁使用的(当 ...

  4. java电商项目模块介绍,请查收

    拼多多一面 首先自我介绍 参加过哪些项目 并发编程三要素? 实现可见性的方法有哪些? 多线程的价值? 创建线程的三种方式的对比? 画出线程的状态流转图 常用的并发工具类有哪些? CyclicBarri ...

  5. java电商项目搭建-------商品详情页模块

    努力好了,时间会给你答案.--------magic_guo 在一个电商项目中,访问频率最高的是商品详情页页面,而且商品详情页的变化评率不会太高(除非是搞活动的时候):那么访问频率高,然后再使用数据库 ...

  6. Facebook电商新尝试:看完广告想买马上就可以买

    在过去多年的试验中,所谓的"社交电商"未成气候,不过社交网络巨头Facebook仍在不停尝试,日前其推出一种新广告,鼓励用户在看完广告之后立刻购买商品. 媒体指出,Facebook ...

  7. hadoop集群搭建完整教程,java电商项目面试技巧

    前言 本系列的目的是明明白白.彻彻底底的搞定日期/时间处理的几乎所有case.上篇文章铺设所有涉及到的概念解释,例如GMT.UTC.夏令时.时间戳等等,若你还没看过,不仅强烈建议而是强制建议你前往用花 ...

  8. java电商项目面试话术,不可思议!

    前言 其实前几篇文章已经写了好多有关于Spring源码的文章,事实上,很多同学虽然一直在跟着阅读.学习这些Spring的源码教程,但是一直都很迷茫,这些Spring的源码学习,似乎只是为了面试吹逼用, ...

  9. java电商项目的项目描述_Java电商项目-6.实现门户首页数据展示_Redis数据缓存

    需求介绍 为了缩短用户看到首页信息的时间, 我们把首页显示的类目信息, 广告等数据放到Redis缓存中, 这样就不用通过耗时的数据库操作获取数据, 而是直接从Redis缓存中获取. 在开始之前先记录一 ...

最新文章

  1. gensim中word2vec使用
  2. spring-boot启动源码学习-1
  3. CentOS下升级python2.7.10过程记录
  4. jpa 定义中间表实体_Spring Data JPA实体详解
  5. linkin大话设计模式--单例模式
  6. 开源的49款Java 网络爬虫软件
  7. jdk AbstractStringBuilder实现
  8. HTML期末大作业~简洁的个人博客网站前台页面HTML模板7个页面(html+css+js)
  9. html5制作学学课件,如何制作教学课件视频
  10. 多核处理器_胶水多核等于Low?处理器封装没有那么简单!
  11. 深度解析“中国制造2025”VS德国“工业4.0”,一场没有硝烟战争
  12. ZYT and LBC
  13. oracle12c用plsql连不上,PLSQL连接oracle12c
  14. 初中三年级数学可以用计算机吗,不到3分钟,这份初中数学攻略被家长和学生疯狂转发!太实用了!...
  15. 数据库编程:存储过程和储存函数
  16. 《信息化项目软件运维费用测算规范》等两项北京地标正式报批
  17. 项目外包网Elance承包商使用手册中文版
  18. QT QSS教程-QTabWidget
  19. 人要像树一样活着--俞敏洪
  20. Java判断一个正整数是否为质数(素数)。

热门文章

  1. 北京理工大学计算机学院研究生招生官网,李元章 - 北京理工大学 - 计算机学院...
  2. 内置安全芯片 硬件加密手机VEB第三代发布
  3. 关于计算机的总结-2018 Java
  4. 手把手教你写游戏修改器(终极版)
  5. java计算机毕业设计农村信息化管理系统源码+程序+lw文档+mysql数据库
  6. 宁愿写两遍代码,也不用C++跨iOS、Android平台开发?
  7. excel自动排班表_巧用常见工具:怎样将图片格式数据转换成EXCEL表格
  8. 最新《煤矿井下人员定位系统安全标志管理方案(试行)》等通知,助力煤矿新进程
  9. EffNet: An Efficient Structure for Convolutional Neural Networks
  10. step 文件在sw怎么编辑_SolidWorks如何编辑STEP文件?