Tom弹架构_社区达人页

个人头像照片
Tom弹架构
已加入开发者社区941

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
初入江湖
初入江湖

成就

已发布192篇文章
12条评论
已回答0个问题
0条评论
已发布0个视频
github地址

我关注的人 更多

技术能力

兴趣领域
  • Spring
  • 分布式
  • 微服务
  • Java架构
  • 设计模式
擅长领域
技术认证

暂时未有相关云产品技术能力~

咕泡科技联合创始人。著有畅销书《Spring 5核心原理与30个类手写实战》、《Netty 4核心原理与手写RPC框架实战》、《设计模式就该这样学》、《Java面试八股文》。一个从美术生转型Java开发的程序员,3年内做到架构师,5年内做到CTO。14年Java从业经验,6年线上教学经验。

暂无精选文章
暂无更多信息

2023年09月

  • 09.01 17:12:16
    发表了文章 2023-09-01 17:12:16

    如果Spring中有两个ID相同的Bean,会报错吗?

    有位粉丝被 问到这样一个问题,说在Spring中,如果有两个ID相同的Bean,会不会报错?如果报错,会在哪个阶段报错? 这个问题也要分析具体的情况,才能完整的回答。我从三个方面来回答你的问题吧。
  • 09.01 17:09:38
    发表了文章 2023-09-01 17:09:38

    Java场景面试题:短信验证码接口被狂刷,怎么办?

    问:Tom老师,请问短信验证码接口被狂刷,搞得服务都快要崩溃了,我该怎么办? 答:我想都到云时代了,我想这个问题不应该出现吧?现在,都有非常多的短信服务提供商,应该自带防火墙功能的。
  • 09.01 17:01:33
    发表了文章 2023-09-01 17:01:33

    彻底讲明白Java中眼花缭乱的各种并发锁

    在互联网公司面试中,很多小伙伴都被问到过关于锁的问题。 今天,我给大家一次性把Java并发锁的全家桶彻底讲明白。包括互斥锁、读写锁、重入锁、公平锁、悲观锁、自旋锁、偏向锁等等等等。视频有点长,大家一定要全部看完,保证你会醍醐灌顶。
  • 09.01 16:53:49
    发表了文章 2023-09-01 16:53:49

    雪花算法的实现原理

    一位工作4年的小伙伴,去某东面试时被问到这样一道题,说请你简述一下雪花算法的实现原理。屏幕前的小伙伴,如果你遇到这个问题,你会怎么回答?
  • 09.01 16:46:49
    发表了文章 2023-09-01 16:46:49

    谈谈你对Spring MVC中的九大组件的理解?

    一位应届毕业生被问到这样一道面试题,说谈谈你对Spring MVC中的九大组件的理解。 今天,我给大家分享一下我的理解。
  • 09.01 16:38:23
    发表了文章 2023-09-01 16:38:23

    Java高频面试题,谈谈你对OAuth的理解,这道题你会了吗?

    1位工作5年的小伙伴被问到这样一道面试题,说谈谈你对OAuth的理解。当时,这位小伙伴感觉回答得不是很理想,希望我拍一期视频详细地介绍一下。 今天,我给大家讲一讲,我对这个问题的理解。
  • 09.01 16:34:20
    发表了文章 2023-09-01 16:34:20

    谈谈你对Nacos配置动态更新原理的理解,这道题一定要会

    Nacos作为阿里的开源中间件在Spring Cloud生态以后,不管是作为配置中心,还是作为注册中心,因为它简单易用的特性,在互联网公司被广泛运用。随后,大家会发现Nacos相关的面试题也就越来越多了。
  • 09.01 16:29:31
    发表了文章 2023-09-01 16:29:31

    工作八年?是高级开发?竟然答不出:如何保证RabbitMQ的高可用?

    一个8年工作经验的小伙伴,被问到这样一个问题,说如何保证RabbitMQ的高可用。关于这个问题呢,这位小伙伴倒是有个实操经验,就是不知道如何组织语言。所以,当时面试结果不太理想。今天,我给大家分享一下我的理解。
  • 09.01 16:25:42
    发表了文章 2023-09-01 16:25:42

    什么是乐观锁,什么是悲观锁?

    在互联网公司面试中,很多小伙伴都被问到关于锁的理解。今天,我给小伙伴们来聊一聊我对锁的理解,不管我们互斥锁、自旋锁、重入锁、读写锁、行锁、表锁等等等等这些概念,我把他们都归纳为两种类型,乐观锁和悲观锁。
  • 09.01 16:18:37
    发表了文章 2023-09-01 16:18:37

    MySQL存储引擎MyISAM和InnoDB的区别

    你都工作3年了,怎么还不知道MyISAM和InnoDB有什么区别?一位粉丝被面试官这样一个问题。当时,这位粉丝直接回复“不知道”,这位粉丝自己也怪不好意思的。
  • 09.01 16:10:35
    发表了文章 2023-09-01 16:10:35

    ThreadLocal真的会造成内存泄漏吗?

    ThreadLoca在并发场景中,应用非常多。前几天有位小伙伴问我一个问题,说ThreadLocal是不是真的会造成内存泄漏?今天给大家做一个分享,个人见解,仅供参考。如果大家有其他见解可以在评论区讨论。
  • 09.01 16:06:25
    发表了文章 2023-09-01 16:06:25

    ConcurrentHashMap是如何保证线程安全的?

    ConcurrentHashMap相当于是HashMap的多线程版本,它的功能本质上和HashMap没什么区别。因为HashMap在并发操作的时候会出现各种问题,比如死循环问题、数据覆盖等问题。而这些问题,只要使用ConcurrentHashMap就可以完美地解决。那问题来到了,ConcurrentHashMap它是如何保证线程安全的呢?
  • 09.01 15:59:27
    发表了文章 2023-09-01 15:59:27

    为什么HashMap会产生死循环?

    HashMap死循环是一个比较常见、也是比较经典的面试题,在大厂的面试中也经常被问到。HashMap的死循环问题只在JDK1.7版本中会出现,主要是HashMap自身的工作机制,再加上并发操作,从而导致出现死循环。JDK1.8以后,官方彻底解决了这个问题。
  • 09.01 15:54:46
    发表了文章 2023-09-01 15:54:46

    Spring为何需要三级缓存解决循环依赖,而不是二级缓存?

    今天给大家分享一道大厂面试真题,Spring为何需要三级缓存解决循环依赖,而不是二级缓存?我一共分为五个部分来给大家介绍: 1、什么是循环依赖? 循环依赖就是指循环引用,是两个或多个Bean相互之间的持有对方的引用。在代码中,如果将两个或多个Bean互相之间持有对方的引用,因为Spring中加入了依赖注入机制,也就是自动给属性赋值。Spring给属性赋值时,将会导致死循环。那么,哪些情况会出现循环依赖呢?
  • 09.01 15:51:26
    发表了文章 2023-09-01 15:51:26

    Spring Bean的生命周期全过程

    大家好,我是被编程耽误的文艺Tom。今天能给大家介绍一下Spring Bean生命周期全过程,这道题呢也是大厂高频面试题。接下来我给大家做一个详细的分析和解答。
  • 09.01 15:46:26
    发表了文章 2023-09-01 15:46:26

    肝了30天总结,史上最全面透彻的Spring核心原理分析和27道高频面试题

    在阅读面试题之前,小伙伴们可以先看看我之前发布的系列文章,Spring核心原理包括源码分析和用30个类手写。面试刷题固然很重要,但是知其然知其所以然更重要。
  • 09.01 15:20:33
    发表了文章 2023-09-01 15:20:33

    花了30天才肝出来,史上最全面Java设计模式总结,看完再也不会忘

    Design Patterns: Elements of Reusable Object-Oriented Software(以下简称《设计模式》),一书由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides合著(Addison-Wesley,1995)。这四位作者常被称为“四人组(Gang of Four)”,而这本书也就被称为“四人组(或 GoF)”书。他们首次给我们总结出一套软件开发可以反复使用的经验,帮助我们提高代码的可重用性、系统的可维护性等,解决软件开发中的复杂问题。
  • 09.01 14:39:01
    发表了文章 2023-09-01 14:39:01

    彻底搞懂Spring状态机原理,实现订单与物流解耦

    状态模式的UML类图如下图所示。
  • 09.01 14:32:35
    发表了文章 2023-09-01 14:32:35

    没有性能瓶颈的无限级菜单树应该这样设计

    以一门网络课程为例,我们设计一个课程的关系结构。比如,我们有Java入门课程、人工智能课程、Java设计模式、源码分析、软技能等,而Java设计模式、源码分析、软技能又属于Java架构师系列课程包,每个课程的定价都不一样。但是,这些课程不论怎么组合,都有一些共性,而且是整体和部分的关系,可以用组合模式来设计。首先创建一个顶层的抽象组件CourseComponent类。
  • 09.01 14:14:09
    发表了文章 2023-09-01 14:14:09

    Java场景面试题:手机扫码登录到底是怎么实现的?

    有个粉丝问到手机APP扫码登录是如何实现的,能讲讲给我讲讲吗? 扫码登录的本质,其实是通过已经登录的APP,扫描Web页面生成的二维码, 获取到一个Token作为登录凭证,然后再写入到Web端的登录认证程序。Token写入成功以后,会回调刷新Web页面跳转到登录成功的界面。
  • 09.01 14:12:04
    发表了文章 2023-09-01 14:12:04

    【手绘算法】力扣 1 两数之和(Two Sum)

    Hi,大家好,我是Tom。一个美术生转到Java开发的程序员。从今天开始,我将带大家每天刷一道题。我会用手绘的方式给大家讲解解题思路。在解题过程中,也会手写一些伪代码。当然,如果想要完整的源码的话,可以到我的个人主页简介中获取。 今天给大家分享的是力扣启蒙题第1题,求两数之和。虽然很简单,但是它的通过率只有52%。
  • 09.01 14:08:03
    发表了文章 2023-09-01 14:08:03

    【手绘算法】力扣 2 两数相加(Add Two Numbers)

    Hi,大家好,我是Tom。一个美术生转到Java开发的程序员。今天给大家分享的是力扣题第2题,求两数相加。在解题过程中,也会手写一些伪代码。当然,如果想要完整的源码的话,可以到我的个人主页简介中获取。 这道题属于中等难度,通过率只有42%。
  • 09.01 14:02:51
    发表了文章 2023-09-01 14:02:51

    【手绘算法】力扣 3 无重复的最长字符串(Longest Substring Without Repeating Characters)

    Hi,大家好,我是Tom。一个美术生转到Java开发的程序员。今天给大家分享的是力扣题第3题,无重复的最长字符串。在解题过程中,也会手写一些伪代码。当然,如果想要完整的源码的话,可以到我的个人主页简介中获取。 这道题呢属于中等难度,评估为四颗星,它的通过率只有39%。
  • 09.01 13:58:04
    发表了文章 2023-09-01 13:58:04

    【手绘算法】力扣 20 有效的括号(Valid Parentheses)

    Hi,大家好,我是Tom。一个美术生转到Java开发的程序员。今天给大家分享的是力扣题第20题,有效的括号。在解题过程中,也会手写一些伪代码。当然,如果想要完整的源码的话,可以到我的个人主页简介中获取。 这道题呢比较简单,但是曾经成为B站的算法面试题,而且通过率只有44.5%。
  • 09.01 13:50:50
    发表了文章 2023-09-01 13:50:50

    Java 经典面试解析:服务器卡顿、CPU飙升、接口负载剧增

    解决这个问题的关键是要找到Java代码的位置。下面分享一下排查思路,以CentOS为例,总结为4步。 第1步,使用top命令找到占用CPU高的进程。 第2步,使用ps –mp命令找到进程下占用CPU高的线程ID。 第3步,使用printf命令将线程ID转换成十六进制数。 第4步,使用jstack命令输出线程运行状态的日志信息。
  • 09.01 13:34:43
    发表了文章 2023-09-01 13:34:43

    Swagger工作流程的理解

    现在的Java开发,一般都会用到API生成工具Open API,今天一位工作2年的小伙伴突然被问到Swagger工作流程,一下子无言以对。于是,来找到我,希望我能科普一下。 今天,我给大家分享一下我的理解。
  • 09.01 13:30:55
    发表了文章 2023-09-01 13:30:55

    Java经典面试题:Spring中用到了哪些设计模式?

    一位应届毕业生被问到这样一道面试题,说Spring用到了哪些设计模式?其实只要Spring使用得够熟练,回答这道题还是非常轻松的。因为Spring的命名非常规范,基本上从类名就可以看得出来用到了哪些设计模式。 今天,我给大家分享一下我的理解。
  • 09.01 13:25:23
    发表了文章 2023-09-01 13:25:23

    Java中,4种对象引用之间的区别是什么?

    一位工作4年的小伙伴面试被问到这样一道题,说Java中,4种对象引用之间的区别是什么?这道面试题问得比较偏门,更多应用在一些底层类库或者是框架中,涉及到的知识点包括JVM、GC等,一般人确实很少关注。
  • 09.01 13:21:23
    发表了文章 2023-09-01 13:21:23

    「Java面试」一次性带你搞明白面试必问题,谈谈你对ES的理解

    ES全称是Elastic Search,它是一个建立在全文搜索引擎库Lucene基础上的开源搜索和分析引擎。ES它本身具有分布式存储、检索速度快的特性。所以,我们经常会用它来实现全文检索的功能。 Elastic官网对ES的定义已经不再是ElasticSearch这一个组件,而是指Elastic Stack生态。
  • 09.01 13:17:40
    发表了文章 2023-09-01 13:17:40

    Java高频面试题:在DCL单例写法中,为什么主要做两次检查?

    有位工作5年的小伙伴,面试的时候被问到这样一道题,说在DCL单例写法中,为什么要做两次检查。要回答好这个问题,需要知道DCL单例的写法以及为什么要这样写? 今天,我给大家详细分析一下。
  • 09.01 13:11:17
    发表了文章 2023-09-01 13:11:17

    难倒了80%程序员的题,谈谈你对Netty中,Pipeline工作原理的理解

    1位工作8年的小伙伴,去某东面试IM部门,被问到这样一道面试题。说,请你谈一谈你对Netty Pipeline设计原理的理解。当时,他说只是用过Netty的Pipline,原理没有深入了解过,然后就没有然后了。
  • 09.01 12:04:06
    发表了文章 2023-09-01 12:04:06

    为什么启动线程不直接调用run(),而要调用start(),如果调用两次start()方法会有什么后果

    1位工作6年的小伙伴去某里P6一面,被问到这样一道面试题,说,为什么启动一个线程不直接调用run()方法,而要调用start()方法来启动,如果调用两次start()会有什么后果?
  • 09.01 11:59:22
    发表了文章 2023-09-01 11:59:22

    如何应对面试官的刁难,请你对比一下 Java 和 JavaScript的区别?

    一位应届生在面试的时候把所有的八股文都答对了。没成想,有位面试官出了个奇招,面试官问了一句说,请你对比一下Java和JavaScript的区别。我这想这样入门级别的问题,应该每一个后端开发人员都能答得上吧。没成想,有位应届毕业生竟然没有答出来,还说JavaScript是对Java的升级。这样的回答,实在是有点不应该。
  • 09.01 11:54:06
    发表了文章 2023-09-01 11:54:06

    谈谈你对Java线程5种状态流转原理的理解?

    今天,有位工作5年的小伙伴被问到这样一道面试题,说谈谈你对Java线程5种状态流转原理的理解。当时,平时只关注过线程如何定义和使用,对于线程状态流转脑海一片空白,完全懵了。于是找到我,希望我拍一期视频。 今天,我给大家分享一下我的理解。
  • 09.01 11:47:57
    发表了文章 2023-09-01 11:47:57

    毕业季高频面试题String,StringBuffer好和StringBuilder的区别

    可能是因为毕业季,最近有非常多的应届生来咨询我面试相关的问题。这不,今天有一位应届生找到我,说面试被问到这样一道面试题:请谈谈String、StringBuffer和StringBuilder的区别。其实呢,这是一道老生常谈的题,光背八股文还是非常简单的。
  • 09.01 11:44:07
    发表了文章 2023-09-01 11:44:07

    工作两年单靠这题拿到offer!Spring中的事务传播行为有哪些?

    1位工作2年的小伙伴面试的时候被问到这样一个问题,说,Spring中的事务传播行为有哪些?他说他在面试的时候能想起来一些,但在实际项目开发中又基本不需要配置。所以,在面试的时候回答不全,最后被拒了,觉得有些遗憾。
  • 09.01 11:40:36
    发表了文章 2023-09-01 11:40:36

    跳槽高级开发就这么答:谈谈你对RocketMQ分布式事务原理的理解

    有位工作五年的小伙伴在面试的时候被问到RocketMQ的分布式事务实现原理。他说他只知道RocketMQ能够支持事务,但是没有了解过它的事务实现原理。 今天,我给大家分享一下我对这个问题的理解。
  • 09.01 11:35:55
    发表了文章 2023-09-01 11:35:55

    这么回答offer拿到手软,谈谈你对IO多路复用机制的理解

    一位工作5年的小伙伴面试时被问到IO相关的问题,说,谈谈你对IO多路复用机制的理解。当时他说只是听过多路复用,具体细节没有了解过。今天,我给大家分享一下我的理解。
  • 09.01 11:29:04
    发表了文章 2023-09-01 11:29:04

    十人面试就我通过,只因我答对了这题TCP协议为什么需要三次握手

    一位5年工作经验的小伙伴面试被问到这样一道面试题,说,TCP协议为什么要设计三次握手。当时这位小伙伴被问得哑口无言。后来,他找到我,说希望做一期视频分享一下。今天,我给大家分享一下我的理解。
  • 09.01 11:26:24
    发表了文章 2023-09-01 11:26:24

    谈谈你对JVM中主要GC算法的理解,这么回答offer拿到手软

    有位工作五年的小伙伴面试被问到JVM相关的问题,说请你谈谈你对JVM中主要GC算法的理解,我给大家分享一下我的理解。
  • 09.01 11:21:14
    发表了文章 2023-09-01 11:21:14

    面试被问:ArrayList自动扩容机制的实现原理?怎么答?

    一位3年工作经验的小伙伴面试时被问到,说请你谈一谈ArrayList自动扩容机制的实现原理。这个问题对于稍微看过一点源码的小伙伴来说,其实非常简单。下面我给大家分享一下我对这个问题的理解。
  • 09.01 11:17:00
    发表了文章 2023-09-01 11:17:00

    HashMap什么时候扩容,如何扩容?怎么轻松化解?

    一位2年工作经验的小伙伴面试时被问到,说,HashMap什么时候扩容,为什么要扩容?这个问题本身不是很难,但是这位小伙伴对底层实现原理没有太多关注,所以,被这个问题难住了。 下面我给大家分析一下这个问题的底层逻辑。
  • 09.01 11:11:56
    发表了文章 2023-09-01 11:11:56

    看技术总监如何带你了解:Spring Bean的定义包含哪些内容?

    昨天,有几位同学就私信我,说老师能不能发一期关于Spring Bean定义的详细介绍,今天我就来满足大家的要求。关于Spring Bean的定义我一共分为三部分来介绍,首先,介绍Spring Bean声明式配置内容;然后,介绍BeanDefinition与配置文件的关系;最后,介绍Spring如何解析配置文件?
  • 09.01 11:05:57
    发表了文章 2023-09-01 11:05:57

    7年工作经验面试被问:谈谈你对Kafka副本Leader选举原理的理解?

    一位7年工作经验的小伙伴,面试被问到这样一道题,说:”谈谈你对Kafka副本Leader选举原理的理解“。当时,他想,这Kafka用的不就是Zookeeper 的选举吗?难道Kafka又自己搞了一套。没错,这回Kafka自己造了一个轮子。 那么今天,我给大家来聊一聊我对Kafka副本Leader选举原理的理解。
  • 09.01 11:02:04
    发表了文章 2023-09-01 11:02:04

    带你迅速理解,下⼀代云原生分布式消息流平台Pulsar到底是什么?

    有位粉丝私信我说,说想让我拍一期Pulsar的视频,那今天满足一下这位粉丝要求,谈一谈我对Pulsar的理解。
  • 09.01 10:55:17
    发表了文章 2023-09-01 10:55:17

    看完这篇文章告诉你RocketMQ为什么要放弃Zookeeper?

    一位7年工作经验的小伙伴去面架构师岗位,被问到这样一道面试题,说”RocketMQ为什么要放弃Zookeeper“。然后,想了很久好像没关注过,也不敢瞎猜。 那么今天,我给大家来聊一聊我对这个问题的理解。
  • 09.01 10:51:37
    发表了文章 2023-09-01 10:51:37

    花了三个小时打磨这道JAVA面试题,谈谈你对Seata的理解?

    Seata在大厂也是属于高频的面试题,有一位3年工作经验的小伙伴被问到一道这样的面试题,说“谈谈你对Seata的理解”。那么,今天我给大家来聊一聊。
  • 09.01 10:45:47
    发表了文章 2023-09-01 10:45:47

    都在说云原生,那云原生到底是什么?

    技术的变革,一定是思想先行,云原生是一种构建和运行应用程序的方法,是一套技术体系和方法论。伴随云计算的滚滚浪潮,云原生(CloudNative)的概念应运而生,而且还很火。 今天,我给大家讲一讲,我对云原生的理解。
  • 09.01 10:42:08
    发表了文章 2023-09-01 10:42:08

    什么是服务网格?在微服务体系中又是如何使用的?

    有一位粉丝问私信问我的面试题,他说“什么是服务网格”? 服务网格这个概念出来很久了,从 2017 年被提出来,到 2018 年正式爆发,很多云厂商和互联网企业都在纷纷向服务网格靠拢。像蚂蚁集团、美团、百度、网易等一线互联网公司,都有服务网格的落地应用。
  • 09.01 10:35:32
    发表了文章 2023-09-01 10:35:32

    这是面试官最想听到的回答:谈谈你对Kafka数据存储原理的理解?

    一位5年工作经验的小伙伴面试的时候被问到这样一个问题,说”谈谈你对Kafka数据存储原理的理解“。然后,这位小伙伴突然愣住了,什么是零拷贝,零拷贝跟Kafka有关系吗? 那么今天,我给大家来聊一聊我对Kafka零拷贝原理的理解。
  • 发表了文章 2023-09-01

    如果Spring中有两个ID相同的Bean,会报错吗?

  • 发表了文章 2023-09-01

    Java场景面试题:短信验证码接口被狂刷,怎么办?

  • 发表了文章 2023-09-01

    彻底讲明白Java中眼花缭乱的各种并发锁

  • 发表了文章 2023-09-01

    雪花算法的实现原理

  • 发表了文章 2023-09-01

    谈谈你对Spring MVC中的九大组件的理解?

  • 发表了文章 2023-09-01

    Java高频面试题,谈谈你对OAuth的理解,这道题你会了吗?

  • 发表了文章 2023-09-01

    谈谈你对Nacos配置动态更新原理的理解,这道题一定要会

  • 发表了文章 2023-09-01

    工作八年?是高级开发?竟然答不出:如何保证RabbitMQ的高可用?

  • 发表了文章 2023-09-01

    什么是乐观锁,什么是悲观锁?

  • 发表了文章 2023-09-01

    MySQL存储引擎MyISAM和InnoDB的区别

  • 发表了文章 2023-09-01

    ThreadLocal真的会造成内存泄漏吗?

  • 发表了文章 2023-09-01

    ConcurrentHashMap是如何保证线程安全的?

  • 发表了文章 2023-09-01

    为什么HashMap会产生死循环?

  • 发表了文章 2023-09-01

    Spring为何需要三级缓存解决循环依赖,而不是二级缓存?

  • 发表了文章 2023-09-01

    Spring Bean的生命周期全过程

  • 发表了文章 2023-09-01

    肝了30天总结,史上最全面透彻的Spring核心原理分析和27道高频面试题

  • 发表了文章 2023-09-01

    花了30天才肝出来,史上最全面Java设计模式总结,看完再也不会忘

  • 发表了文章 2023-09-01

    彻底搞懂Spring状态机原理,实现订单与物流解耦

  • 发表了文章 2023-09-01

    没有性能瓶颈的无限级菜单树应该这样设计

  • 发表了文章 2023-09-01

    Java场景面试题:手机扫码登录到底是怎么实现的?

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息