yungo8

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

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

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

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

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

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

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

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

    祝面试好运。

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