阿里P8精心整理MongoDB+RabbitMQ+Memcached面试题,100%拿offer

前言

首先,大家先了解一下三者的概念究竟是什么?有哪些功能?工作原理?

一、RabbitMQ

1.消息型中间件,用于不同应用之间的通信,基于amqp协议实现

2.功能:将一些无需要及时返回而且耗时的操作提取出来,进行解耦,利用异步处理,提高系统的吞吐量

3工作原理:A生产消息,发送给服务器的exchange

exchange收到消息根据routinkey,将消息发送给匹配的queue,

queue收到消息,将消息发送给接受方

接收方接收消息后发送给ack给queue,

queue收到ack,删除队列中缓存的消息

4.集群节点分配

集群元数据:保存集群及其节点相关信息,存储在集群的每一个节点中

disc节点

ram节点

二.memcached

1.缓存型中间件,通过解耦,减轻数据库的负担

2.优势:开源,高性能,分布式,在内存中以键值方式存在

3.流程:客户端发送请求,若请求的数据在memcached服务器,则直接将结果返回用户,若结果不在,则从数据库中找出内容返回用户,并且缓存一份在memcached中,更新数据库,也会跟新memecached,若内存不足,则替换原来的数据。

三、mongodb

mongodb是一个基于分布式文件存储的数据库,由C++语言编写。

它旨在为WEB应用提供可扩展的高性能数据存储解决方案,最大的特点是支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

其次,就是给大家分享面试必备MongoDB+RabbitMQ+Memcached面试题及答案,因为内容过多,所以只展示了部分面试题和答案!!

第二版: Memcached 23道

1. Memcached是什么,有什么作用?

2、Memcached 服务在企业集群架构中有哪些应用场景?

一、作为数据库的前端缓存应用

a.完整缓存(易)。静态缓存

b.执点缓存(难)

特殊说明:

二、作业集群的session会话共享存储-

3、Memcached 服务特点及工作原理是什么?

4、简述Memcached内存管理机制原理? ....

5. Memcached是怎么工作的?

6、Memcached 最大的优势是什么?

7、Memcached 和MySQL的qee-----

8、Memcached和服务器的local cache (比如PHP的APC、mmap 文件等)相比,有什么优缺点?

9. Memcached 的cache机制是怎样的?

10、Memcached 如何实现冗余机制?

11. Memcached 如何处理容错的?

12.如何将Memcached中item批量导入导出?

13.如果缓存数据在导出导入之间过期了,您又怎么处理这些数据呢? ...

14、Memcached 是如何做身份验证的?

15. Memcached 的多线程是什么?如何使用它们?

16. Memcached 能接受的key的最大长度是多少?

17. Memcached 最大能存储多大的单个item?

18、Memcached 能够更有效地使用内存吗?

19.什么是二进制协议。我该关注吗?

20、Memcached的内存分配器是如何工作的?为什么不适用malloc/free! ?为何要使用slabs?

21、Memcached 是原子的吗?

22、如何实现集群中的session共享存储?

23、Memcached 与redis的区别?

阿里P8精心整理MongoDB+RabbitMQ+Memcached面试题,100%拿offer

Memcached 23道面试题答案

第二版: RabbitMQ 12道

1、什么是rabbitmq

2、为什么要使用rabbitmq-

3、使用rabbitmq的场景

4、如何确保消息正确地发送至RabbitMQ?如何确保消 息接收方消费了消息?

发送方确认模式

接收方确认机制

5 ,如何避免消息重复投递或重复消费?

6、消息基于什么传输?

7、消息如何分发?

8、消息怎么路由?

9、如何确保消息不丢失?

10、使用RabbitMQ有什么好处?

11、rabbitmq的集群

12、mq的缺点:

系统可用性降低

系统复杂性提高

一致性问题

阿里P8精心整理MongoDB+RabbitMQ+Memcached面试题,100%拿offer

RabbitMQ 12道面试题答案

第二版: RabbitMQ 23道

什么是MQ:

MQ的优点

解耦、异步、削峰是什么? .

消息队列有什么缺点:

1.系统可用性降低

2. 系统复杂度提高

3.-致性问题

你们公司生产环境用的是什么消息中间件?

Kafka、ActiveMQ、RabbitMQ、 RocketMQ 有什么优缺点?

MQ有哪些常见问题?如何解决这些问题?

什么是RabbitMQ?

rabbitmq的使用场景-

(1)服务间异步通信

(2)顺序消费

(3)定时任务

(4)请求削峰-

RabbitMQ基本概念

RabbitMQ的工作模式

一.simple模式(即最简单的收发模式)

二.work工作模式(资源的竞争)-

三.publish/subscribe发布订阅(共享资源)

四.routing路由模式

五.topic主题模式(路由模式的一种)

如何保证RabbitMQ消息的顺序性?

消息如何分发?

消息怎么路由?

消息基于什么传输?

如何保证消息不被重复消费?或者说,如何保证消息消费时的幕等性?

如何确保消息正确地发送至RabbitMQ?如何确保消 息接收方消费了消息?

发送方确认模式

接收方确认机制

下面罗列几种特殊情况

如何保证RabbitMQ消息的可靠传输?

为什么不应该对所有的message 都使用持久化机制?

如何保证高可用的? RabbitMQ的集群

如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,怎么办?

设计MQ思路?

阿里P8精心整理MongoDB+RabbitMQ+Memcached面试题,100%拿offer

RabbitMQ 23道面试题答案

第二版: MongoDB 24道

1 nosql和关系型数据库的区别

2 nosql数据库有哪些

3 MySQL与mongodb本质之间最基本的差别是什么

4.你怎么比较MongoDB. CouchDB 及CouchBase?

5使用mongodb的优点.

8.分析器在MongoDB中的作用是什么?.

9名字空间(namespace) 是什么?

10.如果用户移除对象的属性.该属性是否从存储层中删除?

11.能否使用日志特征进行安全备份?

13.更新操作立刻fsync到磁盘?

14如何执行事务/加锁?

15为什么mongodb的数据文件那么庞大一

17.什么是master或primary?

18 getLastError的作用

19.分片(sharding) 和复制(replication) 是怎样工作的?

20.数据在什么时候才会扩展到多个分片(shard) 里?

21.当我试图更新-个正在被迁移的块(chunk) 上的文档时会发生什么? ....

22.我怎么查看Mongo正在使用的链接?

23mongodb的结构介绍

24数据库的整体结构.

阿里P8精心整理MongoDB+RabbitMQ+Memcached面试题,100%拿offer

MongoDB 24道面试题答案

MongoDB+RabbitMQ+Memcached面试题及答案

阿里P8精心整理MongoDB+RabbitMQ+Memcached面试题,100%拿offer

需要阿里p8大佬整理的这份面试题及答案的小伙伴,关注公众号:程序员高级码农

感谢大家支持!