以下是新入职场和有经验的开发人员在面试中经常被问到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中创建模式时,需要考虑哪些要点?有几点需要考虑
根据用户需求设计模式
如果将对象组合在一起使用,则将它们组合到一个文档中。否则,将其分开
连接是在写的时候进行的,而不是在读取的时候进行的
对于大多数常见的用例,优化您的架构模式
在架构中进行复杂聚合
在MongoDB中创建集合的语法是db.createCollection(名称、选项)
在MongoDB中删除集合的语法是db.collection.drop()
9)解释分析器在MongoDB中的作用是什么?MongoDB数据库分析器显示的是针对数据库的每个操作的性能特征,如果使用profiler查询时,比实际速度慢。
10)简要说明你能移动moveChunk目录下的旧文件吗?是的,可以移动moveChunk目录中的旧文件,在正常的碎片操作期间,这些文件作为备份,一旦操作完成就可以删除。
11)为了进行安全备份,您可以使用MongoDB的哪些特性?日志是MongoDB中可用于执行安全备份的功能。
12)说明Objecld由什么组成?Objectld由
时间戳
客户机ID
客户端进程ID
3字节递增计数器
用于插入文档命令语法的是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都是不错的选择。
长按二维码 ▲
订阅「架构师小秘圈」公众号
如有启发,帮我点个在看,谢谢↓