『Java』2020上半年Java面试题总结,20多类1100道面试题含答案解析!( 五 )


如果你说还玩过 Redis Module , 像 BloomFilter , RedisSearch , Redis-ML , 面试官的眼睛就开始发亮了 。



Memcached面试题24道
1、Memcached 是什么 , 有什么作用?
Memcached 是一个开源的 , 高性能的内存绶存软件 , 从名称上看 Mem 就是内存的意思 , 而 Cache 就是缓存的意思 。 Memcached 的作用:通过在事先规划好的内存空间中临时绶存数据库中的各类数据 , 以达到减少业务对数据库的直接高并发访问 , 从而达到提升数据库的访问性能 , 加速网站集群动态应用服务的能力 。
2、Memcached 服务分布式集群如何实现?
特殊说明:Memcached 集群和 web 服务集群是不一样的 , 所有 Memcached 的数据总和才是数据库的数据 。 每台 Memcached 都是部分数据 。 (一台 memcached 的数据 , 就是一部分 mysql 数据库的数据)
a、程序端实现
程序加载所有 mc 的 ip 列表 , 通过对 key 做 hash (一致性哈希算法)
例如:web1 (key)===>对应 ABCDEFG…..若干台服务器 。 (通过哈希算法实现)
b、负载均衡器
通过对 key 做 hash (一致性哈希算法)一致哈希算法的目的是不但保证每个对象只请求一个对应的服务器 , 而且当节点宕机 , 缓存服务器的更新重新分配比例降到最低 。
MongoDB面试题95道
1、mongodb是什么?
MongoDB 是由 C++语言编写的 , 是一个基于分布式文件存储的开源数据库系统 。在高负载的情况下 , 添加更多的节点 , 可以保证服务器性能 。MongoDB 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案 。
MongoDB 将数据存储为一个文档 , 数据结构由键值(key=>value)对组成 。MongoDB 文档类似于 JSON 对象 。 字段值可以包含其他文档 , 数组及文档数组 。


2、mongodb有哪些特点?
(1)MongoDB 是一个面向文档存储的数据库 , 操作起来比较简单和容易 。
(2)你可以在 MongoDB 记录中设置任何属性的索引 (如: FirstName=\"Sameer\"Address=\"8 Gandhi Road\")来实现更快的排序 。
(3)你可以通过本地或者网络创建数据镜像 , 这使得 MongoDB 有更强的扩展性 。
(4)如果负载的增加(需要更多的存储空间和更强的处理能力), 它可以分布在计算机网络中的其他节点上这就是所谓的分片 。
(5)Mongo 支持丰富的查询表达式 。 查询指令使用 JSON 形式的标记 , 可轻易查询文档中内嵌的对象及数组 。
(6)MongoDb 使用 update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段。
(7)Mongodb 中的 Map/reduce 主要是用来对数据进行批量处理和聚合操作 。
(8)Map 和 Reduce 。Map 函数调用 emit(keyvalue)遍历集合中所有的记录 , 将key与value传给Reduce 函数进行处理 。
(9)Map 函数和 Reduce 函数是使用 Javascript 编写的 , 并可以通过 db.runCommand 或mapreduce 命令来执行 MapReduce 操作 。
(10) GridFS 是 MongoDB 中的一个内置功能 , 可以用于存放大量小文件 。
(11) MongoDB 允许在服务端执行脚本 ,可以用 Javascript 编写某个函数 , 直接在服务端执行 , 也
可以把函数的定义存储在服务端 , 下次直接调用即可 。


Spring面试题131道
1、不同版本的 Spring Framework 有哪些主要功能?


推荐阅读