V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zxc1234
V2EX  ›  程序员

关于面试准备(spring 与分布式)

  •  
  •   zxc1234 · 2020-04-09 16:13:53 +08:00 · 3194 次点击
    这是一个创建于 1688 天前的主题,其中的信息可能已经有所发展或是发生改变。

    关于大厂面试准备

    1.最近面试会被问到分布式,答的不好,想问下需要准备哪些内容呢?要会到什么程度呢?

    比如 cap 要懂?哪些场景下 c 和 a 不能一起存在?

    比如分布式事务,要能说出 2 阶段提交协议的过程?三阶段提交需要了解吗?

    还有哪些一定要掌握的呢?要掌握到什么程度呢?

    2.关于 spring bean 生命周期

    最近老是背了然后过了会就忘了,想理解性记忆,可是实际开发中这些又没涉及到?怎么掌握呢?

    各位大神们,你们有什么好办法记住 spring 生命周期吗

    3.APPEND:关于 Rocketmq

    工作好几年了,面试总是被问到中间件,想问下 Rocketmq 有经典书籍可以推荐下吗

    谢谢各位大佬

    14 条回复    2020-04-10 21:23:52 +08:00
    chihiro2014
        1
    chihiro2014  
       2020-04-09 16:20:43 +08:00   ❤️ 4
    Spring 这块完全可以去看知秋的视频啊。讲的深入而且不难。而且他也在翻译 mit 6.824 也就是分布式这块的内容。你可以去 B 站搜下,讲的肯定比培训机构更好,而且实战中更能应用得到,可以去这个上面看
    https://space.bilibili.com/2494318
    DebugTy
        2
    DebugTy  
       2020-04-09 16:24:21 +08:00
    spring bean 生命周期不用背,你看下 AbstractBeanFactory#getBean 方法,仔细看下你就了解了一系列的问题。
    l8g
        3
    l8g  
       2020-04-09 16:41:35 +08:00
    1. 我理解,在任何分布式的场景下,对于 CAP 理论,在 P 的前提下,C 和 A 是不能同时满足的。
    分布式事务的这些东西,按你的描述你应该没有什么实践的经验,对于面试多背几种肯定是更好一些的。
    2. 怎么记住生命周期不会忘,这个确实没啥办法,一般去看源码、自己再做一些总结记录印象会深刻一些。CRUD 一般不会关注这个。面试中问 Spring 确实挺烦的。
    3. 消息中间件有很多种,不一定非要是 RocketMQ 。不同的消息中间件在功能和设计理念上会有一定的差别。比如 RocketMQ 和 Kafka 的差别你要知道,然后对于你项目中使用的消息中间件要深究一些。
    zxc1234
        4
    zxc1234  
    OP
       2020-04-09 18:25:54 +08:00
    @l8g 第一点对于 CAP 理论,在 P 的前提下,C 和 A 是不能同时满足的

    我是不是可以理解成 由于 P,C 和 A 是不能同时满足的

    第二点,分布式事务没有实践经验,靠背可以?

    第三点,目前项目中没用过消息中间件,我是打算选择 RocketMQ 作为学习对象
    h123123h
        5
    h123123h  
       2020-04-09 18:59:47 +08:00 via iPhone
    大厂不会只问你表面的。
    mtrec
        6
    mtrec  
       2020-04-09 20:25:12 +08:00 via Android
    @zxc1234
    在出现故障的时候 CAP 只能 3 选 2 而一般 p 都是必选的 所以只在 c 跟 a 中选择

    没有经验可以自己写点小 demo 有个感觉总比背强

    可以 这些消息中间件都是互相借鉴 原理差不多
    zxc1234
        7
    zxc1234  
    OP
       2020-04-09 23:02:10 +08:00
    @h123123h 那会问啥,能举个例子吗
    Takamine
        8
    Takamine  
       2020-04-09 23:03:07 +08:00 via Android
    CAP 的话我是拿 Eureka 和 Zookeeper 作比较来看的。

    ……Bean 的生命周期估计就得打断点跟进去看源码吧,各种处理器和 aware 的_(:з」∠)_,顺道还有三级缓存和解决循环依赖问题。

    MQ 的话,感觉会和分布式事务放到一起谈,还有各种消息传达的可靠性,跟 Kafka 的比较之类的。
    chihiro2014
        9
    chihiro2014  
       2020-04-09 23:20:58 +08:00
    @Takamine 打断点不是最佳办法啊。。。而且跟来跟去很容易迷失方向。Spring 的循环依赖问题,其实文档里面有讲,可以去看下。他们翻译了部分 Spring 文档来着,应该是在核心容器那里面
    https://www.simviso.com/doc/spring-framework-5.2.x-cn/
    Takamine
        10
    Takamine  
       2020-04-09 23:31:15 +08:00 via Android
    @chihiro2014 我之前就是跟着断点进去的,然后再看看博客和流程图。_(:з」∠)_
    感谢文档。:doge:
    chihiro2014
        11
    chihiro2014  
       2020-04-09 23:36:55 +08:00
    @Takamine 端点感觉无用信息太多了,之前我也是端点,但有时候也走不明白。后来看了知秋的源码解读。。过于清晰,推荐一看
    tiankongzhe
        12
    tiankongzhe  
       2020-04-10 10:43:58 +08:00
    spring bean 原理,建议多 debug 源码,印象会加深,理解的更准。我都是一步一步 debug 过来的,形成了轨迹系列,记录下来 https://juejin.im/post/5de363a5f265da060a521897 https://yaoyuanyy.github.io/2019/12/11/springboot%20%E6%AD%A3%E7%BB%8F%E7%9A%84bean%E4%B8%8E%E4%B8%8D%E6%AD%A3%E7%BB%8F%E7%9A%84bean%E5%AE%9E%E4%BE%8B%E5%8C%96%E8%BF%87%E7%A8%8B%E5%8C%BA%E5%88%AB/ 希望对你帮助
    amiwrong123
        13
    amiwrong123  
       2020-04-10 19:31:47 +08:00 via Android
    @chihiro2014
    感觉好视频的播放量而且还这么高
    chihiro2014
        14
    chihiro2014  
       2020-04-10 21:23:52 +08:00
    @amiwrong123 其实都没啥人看的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1045 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 19:02 · PVG 03:02 · LAX 11:02 · JFK 14:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.