高性能架构面试题系列:Zookeeper+Redis+MongoDB

一、Zookeeper

1.ZooKeeper是什么?

2.ZooKeeper提供了什么?

3.Zookeeper文件系统

4.四种类型的znode

5.Zookeeper通知机制

6.Zookeeper做了什么?

7.zk的命名服务(文件系统)

8.zk的配置管理(文件系统、通知机制)

9.Zookeeper集群管理(文件系统、通知机制)

10.Zookeeper分布式锁(文件系统、通知机制)

11.获取分布式锁的流程

12.Zookeeper队列管理(文件系统、通知机制)

13.Zookeeper数据复制

14.Zookeeper工作原理

15.zookeeper是如何保证事务的顺序一致性的?

16.Zookeeper 下 Server工作状态

17.zookeeper是如何选取主leader的?

18.Zookeeper同步流程

19.分布式通知和协调

20.机器中为什么会有leader?

21.zk节点宕机如何处理?

22.zookeeper负载均衡和nginx负载均衡区别

23.zookeeper watch机制

二、Redis

1、什么是Redis?简述它的优缺点?

2、Redis相比memcached有哪些优势?

3、Redis支持哪几种数据类型?

4、Redis主要消耗什么物理资源?

5、Redis的全称是什么?

6、Redis有哪几种数据淘汰策略?

7、Redis官方为什么不提供Windows版本?

8、一个字符串类型的值能存储大容量是多少?

9、为什么Redis需要把所有数据放到内存中?

10、Redis集群方案应该怎么做?都有哪些方案?

11、Redis集群方案什么情况下会导致整个集群不可用?

12、MySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据?

13、Redis有哪些适合的场景?

14、Redis支持的Java客户端都有哪些?官方推荐用哪个?

15、Redis和Redisson有什么关系?

16、Jedis与Redisson对比有什么优缺点?

17、Redis如何设置密码及验证密码?

18、说说Redis哈希槽的概念?

19、Redis集群的主从复制模型是怎样的?

20、Redis集群会有写操作丢失吗?为什么?

21、Redis集群之间是如何复制的?

22、Redis集群大节点个数是多少?

23、Redis集群如何选择数据库?

24、怎么测试Redis的连通性?

25、Redis中的管道有什么用?

26、怎么理解Redis事务?

27、Redis事务相关的命令有哪几个?

28、Redis key的过期时间和有效分别怎么设置?

29、Redis如何做内存优化?

30、Redis回收进程如何工作的?

三、MongoDB

1. 你说的NoSQL数据库是什么意思?NoSQL与RDBMS直接有什么区别?为什么要使用和不使用NoSQL数据库?说一说NoSQL数据库的几个优点?

2. NoSQL数据库有哪些类型?

3. MySQL与MongoDB之间基本的差别是什么?

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

5. MongoDB成为好NoSQL数据库的原因是什么?

6.32位系统上有什么细微差别?

7. journal回放在条目(entry)不完整时(比如恰巧有一个中途故障了)会遇到问题吗?

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

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

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

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

12. 允许空值null吗?

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

14. 如何执行事务/加锁?

15. 为什么我的数据文件如此庞大?

16. 启用备份故障恢复需要多久?

17. 什么是master或primary?

18. 什么是secondary或slave?

19. 我必须调用getLastError来确保写操作生效了么?

20. 我应该启动一个集群分片(sharded)还是一个非集群分片的 MongoDB 环境?

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

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

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

24. 如果在一个分片(shard)停止或者很慢的时候,我发起一个查询会怎样?

25. 我可以把moveChunk目录里的旧文件删除吗?

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

27. 如果块移动操作(moveChunk)失败了,我需要手动清除部分转移的文档吗?

28. 如果我在使用复制技术(replication),可以一部分使用日志(journaling)而其他部分则不使用吗?

29.当更新一个正在被迁移的块(Chunk)上的文档时会发生什么?

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

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

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

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

以上就是高性能架构常见面试题(可私信我免费领取答案),以下新总结的BAT面试题及答案及更多关于Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术资料,有需要的朋友可以找我免费领取!

领取方式:点赞+关注我+私信【面试】即可领取!

相关文章