yungo8

为什么 Java 面试对中间件就 redis 喜欢问的深入

  •  
  •   yungo8 · Jun 3, 2020 · 6459 views
    This topic created in 2352 days ago, the information mentioned may be changed or developed.

    是因为它太优秀了?

    没遇到问 mq 里面的东西,以及 es 等。

    其实不知道为什么就喜欢问这个,你问问 juc JVM 线程池 集合之类的底层实现我还比较理解……

    突然感觉其实面试来面试去就那些东西了,项目经历很重要,然后学历、稳定性,过了简历关,面试通过后就是个在不在公司的预算之内的问题了。

    26 replies  •  2020-06-06 15:32:43 +08:00
    zhgg0
    zhgg0
    Jun 3, 2020
    1
    你列举的这些貌似对 redis 深入最简单。
    SpringCC
    SpringCC
    Jun 3, 2020
    2
    用的很多,源码简洁易懂,原理和设计很巧妙。
    optional
    optional
    Jun 3, 2020 via iPhone
    3
    因为 redis 最具有普世性,而且这是送分题,基本上都接触过。
    leeg810312
    leeg810312
    Jun 3, 2020 via Android
    4
    redis 相对其他比较简单,MQ 实践还挺复杂,关联技术也多,比如 Kafka 做消息队列就有不少部署、配置的技术点可以问,还可以衍生问题至大数据流式计算
    yungo8
    yungo8
    OP
    Jun 3, 2020 via Android
    5
    @zhgg0 没看懂……是说 redis 深入更简单?可能吧,我说的那些东西几天不看就忘了……
    @SpringCC 嗯,用的最多的就是缓存吧,很多人连分布式锁、队列都很少用到。看来还是得细细研究原理,面试的重点了……不懂 C 语言,很多面试官我估计他也不会懂的太多。
    @optional 就接触到一点使用,问深一点就不懂,哎……背面试题去
    yungo8
    yungo8
    OP
    Jun 3, 2020 via Android
    6
    @leeg810312 嗯,那些应用的问题,可以问出来使用经验多不多。说实话我 mq 用的很少而且很简单,他要是问我都回答不出什么,很多项目 mq 都用不到吧,面试官也不懂什么所以就不问。kafka 相对而言用的还多点
    ab11800222
    ab11800222
    Jun 3, 2020
    7
    可能因为这是最多人接触过的中间件吧,虽然我觉得 MQ 、注册中心需要留心的地方更多
    niubee1
    niubee1
    Jun 3, 2020
    8
    网上 redis 的文章多
    inwar
    inwar
    Jun 3, 2020 via Android
    9
    源码少,原理入手简单
    ArtIsPatrick
    ArtIsPatrick
    Jun 3, 2020 via iPhone
    10
    看岗位吧,问的多的大概率进去之后用的多。
    HuHui
    HuHui
    Jun 3, 2020 via Android
    11
    因为现在喜欢有事没事就上 redis
    yungo8
    yungo8
    OP
    Jun 3, 2020 via Android
    12
    @niubee1 赞同,文章多,面试题也多……
    yungo8
    yungo8
    OP
    Jun 3, 2020 via Android
    13
    @ab11800222 嗯,zk 其实能问的更多。但其实分布式系统真的懂的人太少了
    yungo8
    yungo8
    OP
    Jun 3, 2020 via Android
    14
    @HuHui 互联网项目如果请求量大,搞集群的话还是应用挺多的
    syasuker
    syasuker
    Jun 3, 2020 via iPad
    15
    redis 最有效吧,但是缓存是个大的学问
    SpringCC
    SpringCC
    Jun 3, 2020❤️1
    16
    @yeqizhang 数据结构不懂语言也可以了解。面试肯定要问原理,不然就背 api 了。redis 数据结构就那么几个,还有持久化,集群,过期策略,都可以考察,所以大家喜欢面试问这个吧。
    micolore
    micolore
    Jun 3, 2020 via iPhone❤️1
    17
    主要还是 redis 的使用场景更广,相对来说就需要深入研究。
    InkAndBanner
    InkAndBanner
    Jun 3, 2020
    18
    涉及 redis 一般都是签到题
    wupher
    wupher
    Jun 3, 2020
    19
    因为用的最多。

    从一开始的缓存,到后面的队列,分布式锁,使用相对广泛。

    反之,如 ZooKeeper 、ETCD 、RabbitMQ 之类,用的就少得多了。
    axbx
    axbx
    Jun 3, 2020❤️1
    20
    因为基本上每个项目都会用到 redis,ZooKeeper,消息队列则就不一定了
    yungo8
    yungo8
    OP
    Jun 3, 2020 via Android
    21
    @wupher 嗯,早点明白就不会先花时间在 zk mq 上去准备面试了
    nicebird
    nicebird
    Jun 3, 2020
    22
    redis 核心源码 几万行又好懂,进阶题吧。
    wupher
    wupher
    Jun 3, 2020❤️2
    23
    @yeqizhang 嗯,看个人喜好。

    不同价值观下,技术抉择不一样。比如,我有个前同事兼好友,他就是喜欢自己折腾。以队列和分布式锁为例,能用数据库的用数据库,能用 Redis 的就用 Redis 。好处是产品依赖少,坏处是什么都在库上,使用上可能存在总总不尽人意。

    我喜好能用 1 行代码解决的,就不要用 2 行,能用中间件解决问题的,我就不自己折腾了。假如公司有 ZK,那我就用 ZK,没有的话,可以建议,嗯,要不我们试试 ETCD ?

    但是你解决的问题是不变的,所谓万变不离其宗,那是那些分布式常见的场景。只是我们选择了这个,于是就牺牲了那个,如此而已。以我来说,上次分享就检讨过,代码是省了,中间件是多了。虽然这些中间件原来就有用,但是假如要做云迁移,就会碰到新的麻烦。

    所以会就是会,不会也不用沮丧。常见的问题,你碰到过哪些,大致研究过,可以用 A 解决,但是会有 B 代价,说清楚即可。

    祝面试好运。

    嗯,以个人招聘经验而论。其实面试并不是,“哦,A 问题你会,那你能入职,然后进来就解决 A”。你在工作中总会碰到之前没遇到的问题,碰到之前没见到过的场景。你会怎么解决?常见的策略如何?是否知晓选择的代价?可能还有,价值观大家是否一致?一般大致如此吧。
    wysnylc
    wysnylc
    Jun 3, 2020❤️1
    24
    因为要用 redis 和队列解决并发,redis 还能做缓存对性能提高明显
    相对来讲其他的东西就可有可无或者没法直观体现在业务上
    luckyyD
    luckyyD
    Jun 4, 2020 via Android❤️1
    25
    确实优秀。消息队列、分布式锁、页面上的浏览次数、我关注的人、可能认识的人(要用 MySQL 实现这个功能想想都头大)、可能还有别的需要保证业务原子性的东西都可以用它轻松解决。而且 java 需要的就是一个队列,因为高并发和多线程是天然矛盾的,但是这两样 java 都想要,所以 java 做不好的事情就交给能高性能实现队列的工具人去做了。
    dJ4232i1CPlr690R
    dJ4232i1CPlr690R
    Jun 6, 2020
    26
    redis 在项目应用度应该是在 mysql 之下,不多问是不可能,持久化 /双写 /集群架构 /可用方案那些实际项目也用得多啊
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4426 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 72ms · UTC 08:02 · PVG 16:02 · LAX 00:02 · JFK 03:02
    ♥ Do have faith in what you're doing.