数据库 
首页 > 数据库 > 浏览文章

28个MongoDB经典面试题详解

(编辑:jimmy 日期: 2024/11/14 浏览:3 次 )

MongoDB是目前最好的面向文档的免费开源NoSQL数据库。

如果你正准备参加MongoDB NoSQL数据库的技术面试,你最好看看下面的MongoDB NoSQL面试问答。

这些MongoDB NoSQL面试问答涵盖了NoSQL数据库基本的概念,复制(Replication),分片(Sharding),事务和锁,跟踪分析工具(Profiler),Nuances和日志等特性。

让我们看看下面的这些MongoDB NoSQL数据库的面试问答吧:

1. 你说的NoSQL数据库是什么意思"color: rgb(255, 0, 0);">2. NoSQL数据库有哪些类型"color: rgb(255, 0, 0);">3. MySQL与MongoDB之间最基本的差别是什么"color: rgb(255, 0, 0);">4. 你怎么比较MongoDB、CouchDB及CouchBase"color: rgb(255, 0, 0);">5. MongoDB成为最好NoSQL数据库的原因是什么"color: rgb(255, 0, 0);">6.32位系统上有什么细微差别"color: rgb(255, 0, 0);">7. journal回放在条目(entry)不完整时(比如恰巧有一个中途故障了)会遇到问题吗"color: rgb(255, 0, 0);">8. 分析器在MongoDB中的作用是什么"color: rgb(255, 0, 0);">9. 名字空间(namespace)是什么"color: rgb(255, 0, 0);">10. 如果用户移除对象的属性,该属性是否从存储层中删除"color: rgb(255, 0, 0);">11. 能否使用日志特征进行安全备份"color: rgb(255, 0, 0);">12. 允许空值null吗"color: rgb(255, 0, 0);">13. 更新操作立刻fsync到磁盘"color: rgb(255, 0, 0);">14. 如何执行事务/加锁"color: rgb(255, 0, 0);">15. 为什么我的数据文件如此庞大"color: rgb(255, 0, 0);">16. 启用备份故障恢复需要多久"color: rgb(255, 0, 0);">17. 什么是master或primary"color: rgb(255, 0, 0);">18. 什么是secondary或slave"color: rgb(255, 0, 0);">19. 我必须调用getLastError来确保写操作生效了么"Safe Mode")服务器做的操作都一样。调用getLastError只是为了确认写操作成功提交了。当然,你经常想得到确认,但是写操作的安全性和是否生效不是由这个决定的。

20. 我应该启动一个集群分片(sharded)还是一个非集群分片的 MongoDB 环境"color: rgb(255, 0, 0);">21. 分片(sharding)和复制(replication)是怎样工作的"color: rgb(255, 0, 0);">22. 数据在什么时候才会扩展到多个分片(shard)里"color: rgb(255, 0, 0);">23. 当我试图更新一个正在被迁移的块(chunk)上的文档时会发生什么"color: rgb(255, 0, 0);">24. 如果在一个分片(shard)停止或者很慢的时候,我发起一个查询会怎样"color: rgb(255, 0, 0);">25. 我可以把moveChunk目录里的旧文件删除吗"color: rgb(255, 0, 0);">26. 我怎么查看 Mongo 正在使用的链接"connPoolStats");

27. 如果块移动操作(moveChunk)失败了,我需要手动清除部分转移的文档吗"color: rgb(255, 0, 0);">28. 如果我在使用复制技术(replication),可以一部分使用日志(journaling)而其他部分则不使用吗"color: rgb(255, 0, 0);">29.当更新一个正在被迁移的块(Chunk)上的文档时会发生什么?

更新操作会立即发生在旧的块(Chunk)上,然后更改才会在所有权转移前复制到新的分片上。

30.MongoDB在A:{B,C}上建立索引,查询A:{B,C}和A:{C,B}都会使用索引吗?

不会,只会在A:{B,C}上使用索引。

31.如果一个分片(Shard)停止或很慢的时候,发起一个查询会怎样?

如果一个分片停止了,除非查询设置了“Partial”选项,否则查询会返回一个错误。如果一个分片响应很慢,MongoDB会等待它的响应。

32. MongoDB支持存储过程吗?如果支持的话,怎么用?

MongoDB支持存储过程,它是javascript写的,保存在db.system.js表中。

33.如何理解MongoDB中的GridFS机制,MongoDB为何使用GridFS来存储文件?

GridFS是一种将大型文件存储在MongoDB中的文件规范。使用GridFS可以将大文件分隔成多个小文档存放,这样我们能够有效的保存大文档,而且解决了BSON对象有限制的问题。

更多关于MongoDB经典面试题请查看下面的相关链接

上一篇:MongoDB 数据库的命名、设计规范详解
下一篇:MongoDB常用数据库命令大全
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。