2019年一线大厂20个长问mongo面试题和答案

以下是新入职场和有经验的开发人员在面试中经常被问到mongo面试问题。

1)解释什么是MongoDB?


Mongo-DB是一种提供高性能、高可用性和易于扩展的文档数据库。

2) MongoDB中的“Namespace”是什么?


MongoDB在集合中存储BSON(二进制交换和结构对象表示法)对象。集合名称和数据库名称的连接称为命名空间。

3) MongoDB中的分片是什么?


跨多台机器存储数据记录的过程称为分片。它是一种MongoDB方法,以满足数据增长的需求。它是数据库或搜索引擎中的数据的水平分区。每个分区都称为切分或数据库切分。

4)你如何看到Mongos使用的连接?


要查看Mongos使用的连接,请使用db_adminCommand(“connPoolStats”);

5)解释什么是副本集?


副本集是一组承载相同数据集的mongo实例。在副本集中,一个节点是主节点,另一个节点是辅助节点。从主节点到辅助节点,所有数据都进行复制。

6) MongoDB中的复制是如何工作的?


跨多个服务器,同步数据的过程称为复制。它在不同的数据库服务器上提供数据的多个副本,从而提供冗余并提高数据可用性。复制有助于保护数据库不丢失单个服务器。

7)在MongoDB中创建模式时,需要考虑哪些要点?


有几点需要考虑

  • 根据用户需求设计模式

  • 如果将对象组合在一起使用,则将它们组合到一个文档中。否则,将其分开

  • 连接是在写的时候进行的,而不是在读取的时候进行的

  • 对于大多数常见的用例,优化您的架构模式

  • 在架构中进行复杂聚合

8)在MongoDB中创建集合和删除集合的语法是什么?


在MongoDB中创建集合的语法是db.createCollection(名称、选项)

在MongoDB中删除集合的语法是db.collection.drop()

9)解释分析器在MongoDB中的作用是什么?


MongoDB数据库分析器显示的是针对数据库的每个操作的性能特征,如果使用profiler查询时,比实际速度慢。

10)简要说明你能移动moveChunk目录下的旧文件吗?


是的,可以移动moveChunk目录中的旧文件,在正常的碎片操作期间,这些文件作为备份,一旦操作完成就可以删除。

11)为了进行安全备份,您可以使用MongoDB的哪些特性?


日志是MongoDB中可用于执行安全备份的功能。

12)说明Objecld由什么组成?


Objectld由


  • 时间戳

  • 客户机ID

  • 客户端进程ID

  • 3字节递增计数器

13)说明插入文档的命令语法是什么?


用于插入文档命令语法的是database.collection.insert(文档)。

14)简要说明如何检查函数的源代码?


检查函数的源代码,不带任何括号,必须调用该函数。

15)什么是命令语法,告诉您是否在主服务器上?MongoDB允许多少个master?


命令语法Db.isMaster()将告诉您是否在主服务器上。MongoDB只允许一个主服务器,而couchDB允许多个主服务器。

17)解释一下MongoDB中的索引是什么?


索引是MongoDB中的特殊结构,它以易于遍历的形式存储一小部分数据集。索引按索引中指定的字段的值排序,存储特定字段或一组字段的值。

18)提到在MongoDB中使用索引的基本语法是什么?


MongoDB中使用的基本语法是>

db.COLLECTION_NAME。ensureIndex ({KEY:1})。

在这里,键是文档中出现的列(或KEY:VALUE对)的名称。

19)解释一下什么是MongoDB中的GridFS ?


为了存储和检索大文件,例如图像,视频文件和音频文件,使用GridFS。默认情况下,它使用两个文件fs.files和fs.chunks来存储文件的元数据和块。

20)MongoDB有哪些替代方案?


Cassandra, CouchDB, Redis, Riak, Hbase都是不错的选择。

聚焦程序员面试

长按订阅↓

如有收获,帮我点个在看吧????,谢谢↓