mongodb 面试题总结

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

  NoSQL是非关系型数据库,NoSQL = Not Only SQL。

  关系型数据库采用的结构化的数据,NoSQL采用的是键值对的方式存储数据。      
     在处理非结构化/半结构化的大数据时;在水平方向上进行扩展时;随时应对动态增加的数据项时可以优先考虑使用NoSQL数据库。      
  在考虑数据库的成熟度;支持;分析和商业智能;管理及专业性等问题时,应优先考虑关系型数据库。

2 nosql数据库有哪些
redis mongodb  hbase
3 MySQL与mongodb本质之间最基本的差别是什么
    差别在多方面  例如 数据的表示,查询 关系 事务 模式的设计和定义 速度和性能
4. 你怎么比较MongoDB、CouchDB及CouchBase?
    不知道
5 使用mongodb的优点
面向文件
高性能
高可用
易扩展
可分片
对数据存储友好
8. 分析器在MongoDB中的作用是什么?
分析器就是explain 显示每次操作性能特点的数据库分析器。通过分析器可能查找比预期慢的操作
9名字空间(namespace)是什么?
    在collection中,数据库名+集合名叫做名字空间。也就是一个集合的完整名
10. 如果用户移除对象的属性,该属性是否从存储层中删除?
是的,用户移除属性然后对象会重新保存(re-save())。
11. 能否使用日志特征进行安全备份?
是的。
13. 更新操作立刻fsync到磁盘?
一般磁盘的写操作都是延迟执行的
14如何执行事务/加锁?
因为mongodb设计就是轻量高性能,所以没有传统的锁和复杂的事务的回滚
15为什么mongodb的数据文件那么庞大
mongodb会积极的预分配预留空间,防止文件系统碎片
17. 什么是master或primary?
当前备份集群负责所有的写入操作的主要节点,在集群中,当主节点(master)失效,另一个成员会变为master
18 getLastError的作用
调用getLastError 可以确认当前的写操作是否成功的提交
19. 分片(sharding)和复制(replication)是怎样工作的?
分片可能是单一的服务器或者集群组成,推荐使用集群
20. 数据在什么时候才会扩展到多个分片(shard)里?
mongodb分片是基于区域的,所以一个集合的所有对象都放置在同一个块中,只有当存在多余一个块的时候,才会有多个分片获取数据的选项
21. 当我试图更新一个正在被迁移的块(chunk)上的文档时会发生什么?
会立即更新旧的分片,然后更改才会在所有权转移前复制到新的分片上
22. 我怎么查看 Mongo 正在使用的链接?
db._adminCommand("connPoolStats");
23mongodb的结构介绍
数据库中存储的对象设计bson,一种类似json的二进制文件,由键值对组成
24 数据库的整体结构
键值对–》文档–》集合–》数据库
 
 

mongodb 面试题的更多相关文章

  1. mongodb 面试题总结

    mongodb 面试题总结 1 nosql和关系型数据库的区别 2 nosql数据库有哪些 redis mongodb hbase 3 MySQL与mongodb本质之间最基本的差别是什么 差别在多方 ...

  2. 全网最全95道MongoDB面试题1万字详细解析

    1.mongodb是什么? MongoDB 是由 C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在给 WEB ...

  3. MongoDB面试题

    1.什么是MongoDB MongoDB是一个文档数据库,提供好的性能,领先的非关系型数据库.采用BSON存储文档数据.BSON()是一种类json的一种二进制形式的存储格式,简称Binary JSO ...

  4. redis和mongodb面试题(一)

    ● 请你回答一下mongodb和redis的区别 参考回答: 内存管理机制上:Redis 数据全部存在内存,定期写入磁盘,当内存不够时,可以选择指定的 LRU 算法删除数据.MongoDB 数据存在内 ...

  5. 105道BAT最新Java面试题(MySQL+Redis+nginx+ookeeper+MongoDB)

    MySQL面试题 1. 主键 超键 候选键 外键 2.数据库事务的四个特性及含义 3. 视图的作用,视图可以更改么? 4. drop,delete与truncate的区别 5. 索引的工作原理及其种类 ...

  6. 面试阿里被分布式“搞懵”,Redis、MongoDB、memcached没答上来

    都说大厂面试难,一点也没有错,一线大厂的面试究竟怎么样还得自己亲身经历了才知道.小白面试阿里,就被面试官吊打,一问分布式就被“搞懵”了,Redis.MongoDB.Memcached都没答好,很多没有 ...

  7. MongoDB的安装,mongod和mongo的区别

    一. mongoDB安装路径 安装路径(最新4.0.11):https://www.mongodb.com/download-center/community?jmp=nav 建议另外找路径下载,外网 ...

  8. 别人开发三年30k,而我才12K,看完他面试前狂刷的面试题,我惊了

    朋友做Java开发三年多的时间了,在老东家勤勤恳恳工作了三年多,工资也就是从刚开始的8K涨到了12K,天天给我吐槽他的工资低.2019年中下旬开始就一直在各种地方找资源,刷面试题,想要“骑驴找马”,所 ...

  9. 2022年最强八股文《码出八股文-斩出offer线》

    宝剑锋从磨砺出,梅花香自苦寒来,大家好,我是小码哥 整理好的八股文终于完成了,希望看完对大家面试有所收获! 目录: 基础篇 javaOOP面试题 java集合/泛型面试题 java异常面试题 java ...

随机推荐

  1. Django2 + ORM

    创建模型类class UserInfo(models.Model): id = models.IntegerField() username = models.CharField(max_length ...

  2. [CF846E]Chemistry in Berland题解

    这题乍一看是一道水树形DP(其实事实上它确实是树形DP),然后设f[i]表示第i个点所多余/需要的材料,然后我们愉快的列出了式子: if(f[v]<0) f[u] += f[v] * edges ...

  3. 顺序表 C++ 类模板实现

    顺序表的C++语言描述 基本运算的算法——置空表.求表的长度.取结点.定位运算.插入运算.删除运算.建立顺序表.输出顺序表 #include <iostream>using namespa ...

  4. 学习日记14、EF 时间段查询

    m_Rep.GetList(a => System.Data.Entity.DbFunctions.DiffDays(DateTime.Now, a.EndDate) < date); 命 ...

  5. [CSP-S模拟测试92]题解

    A.数列 显然每个数的答案是互相独立的,直接扩欧求解.我们需要最小化$ax+by=gcd(a,b)$中的$|x|+|y|$,而显然当x或y靠近0时答案可能最优,列个不等式求一下即可. 能$O(1)$千 ...

  6. eclipse中maven工程添加本地库至Maven Dependencies

    1.WEB-INF文件夹下添加lib文件夹,文件夹下添加demo-client-0.1-SNAPSHOT.jar 2.pom.xml中配置如下代码: <dependency> <gr ...

  7. Vue+webpack+Element 兼容问题总结

    项目中用到了Vue.js和Elenment-UIVue官方文档中给出明确范围:Vue 不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5 特性.但它支持所有 ...

  8. 设置VsCode自动换行

    方法如下: 文件 -> 首选项 -> 设置 如果你是Mac则是右上角 Code -> 首选项 -> 设置 然后在右侧的编辑窗口中添加 1 "editor.wordWr ...

  9. leetcode 171. Excel表列序号(python)

    给定一个Excel表格中的列名称,返回其相应的列序号. 例如, A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ...

  10. php中数组的指针

    利用PHP内置的函数 key() 获得键. current()获得值, next(); prev();移动到上一个 reset();//重置,移动到第一个元素 end();//移动到最后一个元素上 注 ...