“谈谈你对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面试资料、简历模板扫下方!

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Mic带你学架构

如果本篇文章对您有帮助,还请帮忙点个关注和赞,您的坚持是我不断创作的动力。欢迎关注「跟着Mic学架构」公众号公众号获取更多技术干货!

【Java面试】面试遇到宽泛的问题,这么回答就稳了,谈谈你对Redis的理解的更多相关文章

  1. Java开发面试总结

    Java开发面试总结.. ----------------------- java 基础知识点这一块: 1.面向对象的三大特征.(继承,封装,多态) 1.1 在什么样的场合下面会使用到继承 1.2 什 ...

  2. Java GC 面试问题

    转自:http://icyfenix.iteye.com/blog/715301 这个帖子的背景是今晚看到je上这张贴:http://www.iteye.com/topic/715256,心血来潮写下 ...

  3. 2014广州Java岗位面试汇总

    本文记录了最近一些朋友提供的面试经历,真实数据,仅供广州求职的朋友参考.为行文方便,一律用主语”我“进行.部分词语可能造成读者不良反应,敬请留意. 1  广州沣首信息科技有限公司 公司所在区域相对较偏 ...

  4. java异常面试常见题目

    在Java核心知识的面试中,你总能碰到关于 处理Exception和Error的面试题.Exception处理是Java应用开发中一个非常重要的方面,也是编写强健而稳定的Java程序的关键,这自然使它 ...

  5. Java 笔试面试 基础篇 一

    1. Java 基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法, 线程的语法,集合的语法,io 的语法,虚拟机方面的语法. 1.一个".java& ...

  6. Java高级工程师——面试总结

    面试技巧 1.背熟你的简历 原因:面试的第一个问题,一般都是让你简单介绍下你自己,或者介绍一下你最近的项目,而一个面试者,如果连自己的简历都无法熟知,对里面提到的项目.技术都无法描述清楚的话,我想没有 ...

  7. JAVA工程师面试常见问题集锦

    集锦一: 一.面试题基础总结 1. JVM结构原理.GC工作机制详解 答:具体参照:JVM结构.GC工作机制详解     ,说到GC,记住两点:1.GC是负责回收所有无任何引用对象的内存空间. 注意: ...

  8. Java后台面试 常见问题

    Java后台面试 常见问题   从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米.百度.阿里.京东.新浪.CVTE.乐视家的研发岗offer.我找的是java后台开发,把常见的问题分享 ...

  9. 两年Java的面试经验

    前言:从过年前就萌生出要跳槽的想法,到过年来公司从3月初提出离职到23号正式离职,上班的时间也出去面试过几家公司,后来总觉的在职找工作总是得请假,便决心离职后找工作.到4月10号找到了一家互联网公司成 ...

随机推荐

  1. C语言动态输出等腰三角形

    C语言动态输出等腰三角形 题目要求:输入行数 打印出对应行数的等腰三角形,要求使用for循环嵌套. 思路 while语句写外层死循环 用于判断输出的数据: 分析: 最外层for,来控制最外层行数,存储 ...

  2. 强化学习-学习笔记7 | Sarsa算法原理与推导

    Sarsa算法 是 TD算法的一种,之前没有严谨推导过 TD 算法,这一篇就来从数学的角度推导一下 Sarsa 算法.注意,这部分属于 TD算法的延申. 7. Sarsa算法 7.1 推导 TD ta ...

  3. 研发效能|Kubernetes核心技术剖析和DevOps落地经验

    本文主要介绍Kubernetes 的核心组件.架构.服务编排,以及在集群规模.网络&隔离.SideCar.高可用上的一些使用建议,尤其是在CICD中落地,什么是 GitOps. 通过此文可彻底 ...

  4. Java 中的对象池实现

    点赞再看,动力无限.Hello world : ) 微信搜「程序猿阿朗 」. 本文 Github.com/niumoo/JavaNotes 和 未读代码博客 已经收录,有很多知识点和系列文章. 最近在 ...

  5. Spring知识点详解

    1.Spring 概述 1.1.Spring 的概念和特点 Spring 是一个轻量级的控制反转(IoC)和面向切面(AOP)的开源容器框架,它是由 Rod Johnson(音乐学博士)所创建,其核心 ...

  6. 4-3 Spring MVC框架-02

    Spring MVC框架-02 Ⅰ.RESTful基础 是一种设计风格和开发方式 1.get和post请求区别: get post 获取请求 上传请求 请求参数在地址栏URL 请求参数在请求体里面 U ...

  7. Centos7安装最新docker

    Centos7安装最新docker(root身份运行) 环境查看 CentOS 需要7版本以上,内核最好3.10以上 1.查看Linux版本:rpm -q centos-release 2.查看内核版 ...

  8. treap(大根堆)模板

    大根堆与小根堆性质相比简单很多,不用加特判 直接上代码: //treap(大根堆性质) #include<bits/stdc++.h> #define rint register int ...

  9. SpringBoot使用CORS的addCorsMappings中会遇到的问题

    跨域需要后端需要设置响应的跨域头 如下 public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/ ...

  10. 多表查询_子查询概述和多表查询_子查询情况1&情况2&情况3

    子查询 概念:查询中嵌套查询,称嵌套查询为子查询 -- 查询工资最高的员工信息 -- 1.查询最高的工资是多少 9000 select max(salary) from emp; -- 查询员工信息, ...