• 【金九银十必问Java面试题】面试遇到宽泛的问题,这么回答就稳了,谈谈你对Redis的理解


    “谈谈你对Redis的理解”!

    面试的时候遇到这类比较宽泛的问题,是不是很抓狂?

    是不是不知道从何开始说起?

    没关系,今天我用3分钟教你怎么回答。

    大家好,我是Mic,一个工作了14年的Java程序员。

    这个问题面试官考察的目的是什么?希望得到什么样的回答?

    需要高手面试文档面试文档的小伙伴可以扫描文章底部二维码

    考察目标

    对于某某技术的理解这一类问题,它是一种比较宽泛的问题

    在面试过程中,考察这类问题有两个很重要的目的:

    1. 在面试的过程中,面试官希望求职者能多说一些东西,从而更好的对你的整体情况和能力有一个清晰的判断,因此这类问题,可以找到一些了解你的突破口。

    2. 这种问题其实没有标准答案,更多的是基于你对它的理解的一个总结,这反而能够更好的考察你的技术积累和逻辑表达能力。

    所以,求职者在回答的过程中,需要尽可能逻辑清晰,简单明了的表述出来。

    否则很难得到认可。

    问题解析

    关于Redis是什么,想必大部分人都能脱口而出。

    它是一个分布式缓存中间件?可这样回答有问题吗?当然有

    准确来说,Redis是一个基于内存实现的Key-Value数据结构的Nosql数据库

    注意,这里有三个关键点。

    • 内存存储

    • key-value结构

    • Nosql

    所谓内存存储,是指所有数据是存储在内存里面,数据的IO性能比较高。

    当然,Redis也提供了持久化策略来避免内存数据丢失的问题

    key-value结构表示数据的存储方式,除了redis以外,还有像LevelDB、Scalaris等。

    而Nosql,它指的是一种非关系型数据库,相比于传统的关系型数据库而言。

    更多的考虑到扩展性、性能、大数据量的存储等,弥补了关系型数据库的短板

    像列式存储ClickHouse、Cassandra;

    文档存储MongoDB

    图形存储Neo4J等都是属于Nosql范畴。

    好的,下面看看高手该如何回答。

    高手:

    Redis是一个基于Key-Value存储结构的Nosql开源内存数据库。

    它提供了5种常用的数据类型,String、Map、Set、ZSet、List。

    针对不同的结构,可以解决不同场景的问题。

    因此它可以覆盖应用开发中大部分的业务场景,比如top10问题、好友关注列表、热点话题等。

    其次,由于Redis是基于内存存储,并且在数据结构上做了大量的优化所以IO性能比较好,在实际开发中,会把它作为应用与数据库之间的一个分布式缓存组件。

    并且它又是一个非关系型数据的存储,不存在表之间的关联查询问题,所以它可以很好的提升应用程序的数据IO效率。

    最后,作为企业级开发来说,它又提供了主从复制+哨兵、以及集群方式实现高可用

    在Redis集群里面,通过hash槽的方式实现了数据分片,进一步提升了性能。

    如果你喜欢我的作品,记得点赞收藏加关注!

    另外,我将所有Java面试系列制作成了完整的面试文档。它的便捷之处在于,可以通过检索的方式,找到你想要的面试题,目前已经更新180期,总计超过15W字!

    【想领取面试文档的小伙伴可以点击文章底部名片无套路免费赠送给大家!】

    需要高手面试文档面试文档的小伙伴可以扫描下方二维码
    ↓↓↓↓↓↓↓↓↓↓↓↓↓

  • 相关阅读:
    vue2 + element-ui,前端配置化表单封装(2024-06-14)
    linux环境下安装运行环境JDK、Docker、Maven、MySQL、RabbitMQ、Redis、nacos、Elasticsearch
    Sui发布RPC2.0 Beta,拥抱GraphQL并计划弃用JSON-RPC
    【图数据库中的”分布式”和“切图”】
    yolo v5 坐标相关的判断与转换,评价指标,训练结果解析
    RAM(recognize anything)—— 论文详解
    关于400G光模块的常见问题解答
    C++ 同构字符串/ 单词规律
    MySQL之事务隔离级别和MVCC
    【从头构筑C#知识体系】0.2 面向对象
  • 原文地址:https://blog.csdn.net/q331464542/article/details/126832715