准备跳槽的小伙伴你们都准备好了吗,重点知识都掌握了吗?面试题背得怎么样了?别急,我给你们想法子来了,面试可不是小事,咱们还是要做好准备,有把握了之后再去面试,这样也不浪费时间,利用空余得时间去背题刷题,面试得时候就更自信一些,今天给大家整理了关于MQ(RabbitMQ+ActiveMQ)、ZK、MongoDB、Nginx、Kafk等分布式技术,这些小伙伴们都掌握得怎么样了呢?别担心,跟着一起学!
注意注意:需要MQ、ZK、Nginx、Kafk等分布式学习笔记的(都已整理如下)【学习笔记】滴我即可
MQ、ZK、Nginx、Kafk等分布式学习笔记
01 第一个闪亮登场的是Nginx
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等
1.1 关于Nginx面试官最爱问哪些问题?
- 请解释 Nginx 如何处理 HTTP 请求?
- 请解释是否有可能将Nginx 的错误替换为 2 502 错误?
- 在 Nginx 中,如何使用未定义的服务器名称来阻止处理请求?
- 请解释 Nginx 服务器上的 r Master 和 和 r Worker 进程分别是什么?
- 请解释你如何通过不同于 0 80 的端口开启 Nginx?
- 请解释什么是 K C10K 问题?用 Nginx 服务器解释s -s 的目的是什么?
- 在 Nginx 中,解释如何在 L URL 中保留双斜线?
- 使用 “ 反向代理服务器 ”
- 解释Nginx 是否支持将请求压缩到上游?
- 解释如何在 Nginx 中获得当前的时间?如何在 Nginx 服务器上添加模块?
- ...
Nginx:详细解答如下
Nginx:详细解答如下
1.2 Nginx学习必须推荐的书籍
(1)深入理解Nginx模块开发与架构解析
深入理解Nginx模块开发与架构解析
02 第二个是Kafka
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。
2.1 Kafka面试问题?
- Kafka 的设计时什么样的呢?
- 数据传输的事物定义有哪三种?
- Kafka 判断一个节点是否还活着有那两个条件?
- producer 是否直接将数据发送到 broker 的 leader(主节点)?
- Kafa consumer 是否可以消费指定分区消息?
- Kafka 消息是采用 Pull 模式,还是 Push 模式?Kafka 存储在硬盘上的消息格式是什么?
- 消费者负载均衡策略,kafaka 生产数据时数据的分组策略?
- Kafka 创建 Topic 时如何将分区放置到不同的 Broker 中?
- partition 的数据如何保存到硬盘?
- Kafka 的消费者如何消费数据?
- ...
Kafka:详细解答如下
Kafka:详细解答如下
2.2 学习Kafka必备
(1)Kafka学习大纲图
Kafka学习大纲图
03 第三个是ZK
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
3.1 ZK面试必备
- ZooKeeper 提供了什么?
- zk 的配置管理(文件系统、通知机制)
- Zookeeper 集群管理(文件系统、通知机制)?Zookeeper 分布式锁(文件系统、通知机制)?
- 获取分布式锁的流程?分布式通知和协调?
- Zookeeper 队列管理(文件系统、通知机制)
- Zookeeper 数据复制?Zookeeper 工作原理?
- zookeeper 是如何保证事务的顺序一致性的?
- zookeeper 是如何选取主 leader 的?
- zk 节点宕机如何处理?
- zookeeper 负载均衡和 nginx 负载均衡区别?
- ...
ZK:详细解答如下
ZK:详细解答如下
3.2 ZK学习推荐书籍
(1)ZooKeeper-分布式过程协同技术详解
ZooKeeper-分布式过程协同技术详解
04 第四个是MongoDB
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
4.1 面试官最常问的MongoDB问题有哪些?
- 你说的 NoSQL 数据库是什么意思?NoSQL 与 RDBMS 直接有什么区别?为什么要使用和不使用NoSQL 数据库?说一说 NoSQL 数据库的几个优点?
- MongoDB 支持存储过程吗?如果支持的话,怎么用?
- 如何理解 MongoDB 中的 GridFS 机制,MongoDB 为何使用 GridFS 来存储文件?
- journal 回放在条目(entry)不完整时(比如恰巧有一个中途故障了)会遇到问题吗?
- 如果用户移除对象的属性,该属性是否从存储层中删除?
- 我应该启动一个集群分片(sharded)还是一个非集群分片的 MongoDB 环境?
- 如果我在使用复制技术(replication),可以一部分使用日志(journaling)而其他部分则不使用吗?
- 如果在一个分片(shard)停止或者很慢的时候,我发起一个查询会怎样?
- 如果块移动操作(moveChunk)失败了,我需要手动清除部分转移的文档吗?
- 如果一个分片(Shard)停止或很慢的时候,发起一个查询会怎样?
- ...
MongoDB:详细解答如下
MongoDB:详细解答如下
4.2 MongoDB学习必须推荐的书籍
(1)MongoDB权威指南
MongoDB权威指南
05 最后压轴出场的是MQ(RabbitMQ+ActiveMQ)
5.1 ActiveMQ
ActiveMQ是Apache软件基金会所研发的开放源代码消息中间件;由于ActiveMQ是一个纯Java程序,因此只需要操作系统支持Java虚拟机,ActiveMQ便可执行。
(1)ActiveMQ面试常备
- 什么是 ActiveMQ?
- ActiveMQ 中的消息重发时间间隔和重发次数吗?
- ActiveMQ 服务器宕机怎么办?
- 丢消息怎么办?
- 持久化消息非常慢?
- 消息的不均匀消费?
- ...
ActiveMQ:详细解答如下
ActiveMQ:详细解答如下
5.2 RabbitMQ
RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。
(1)RabbitMQ面试常备
- RabbitMQ 中的 broker 是指什么?cluster 又是指什么?
- 什么是元数据?元数据分为哪些类型?包括哪些内容?与 cluster 相关的元数据有哪些?元数据是如何保存的?元数据在 cluster 中是如何分布的?
- RabbitMQ 中的 cluster、mirrored queue,以及 warrens 机制分别用于解决什么问题?存在哪些问题?
- RAM node 和 disk node 的区别?
- cluster 中 node 的失效会对 consumer 产生什么影响?若是在 cluster 中创建了mirrored queue ,这时 node 失效会对 consumer 产生什么影响?
- 向不存在的 exchange 发 publish 消息会发生什么?向不存在的 queue 执行consume 动作会发生什么?
- 为什么说保证 message 被可靠持久化的条件是 queue 和 exchange 具有durable 属性,同时 message 具有 persistent 属性才行?
- RabbitMQ 上的一个 queue 中存放的 message 是否有数量限制?
- 在单 node 系统和多 node 构成的 cluster 系统中声明 queue、exchange ,以及进行 binding 会有什么不同?
- RabbitMQ 允许发送的 message 最大可达多大?
- ...
RabbitMQ:详细解答如下
RabbitMQ:详细解答如下
[中文]分布式系统原理与范型
[中文]分布式系统原理与范型
总结
本文所整理得这些MQ(RabbitMQ+ActiveMQ)、ZK、MongoDB、Nginx、Kafk等分布式技术笔记因为篇幅有限就不一一展示了.
互联网大厂高频面试题
版权归原作者 Java_ttcd 所有, 如有侵权,请联系我们删除。