暂时未有相关云产品技术能力~
咕泡科技联合创始人。著有畅销书《Spring 5核心原理与30个类手写实战》、《Netty 4核心原理与手写RPC框架实战》、《设计模式就该这样学》、《Java面试八股文》。一个从美术生转型Java开发的程序员,3年内做到架构师,5年内做到CTO。14年Java从业经验,6年线上教学经验。
有位粉丝被 问到这样一个问题,说在Spring中,如果有两个ID相同的Bean,会不会报错?如果报错,会在哪个阶段报错? 这个问题也要分析具体的情况,才能完整的回答。我从三个方面来回答你的问题吧。
问:Tom老师,请问短信验证码接口被狂刷,搞得服务都快要崩溃了,我该怎么办? 答:我想都到云时代了,我想这个问题不应该出现吧?现在,都有非常多的短信服务提供商,应该自带防火墙功能的。
在互联网公司面试中,很多小伙伴都被问到过关于锁的问题。 今天,我给大家一次性把Java并发锁的全家桶彻底讲明白。包括互斥锁、读写锁、重入锁、公平锁、悲观锁、自旋锁、偏向锁等等等等。视频有点长,大家一定要全部看完,保证你会醍醐灌顶。
一位工作4年的小伙伴,去某东面试时被问到这样一道题,说请你简述一下雪花算法的实现原理。屏幕前的小伙伴,如果你遇到这个问题,你会怎么回答?
1位工作5年的小伙伴被问到这样一道面试题,说谈谈你对OAuth的理解。当时,这位小伙伴感觉回答得不是很理想,希望我拍一期视频详细地介绍一下。 今天,我给大家讲一讲,我对这个问题的理解。
Nacos作为阿里的开源中间件在Spring Cloud生态以后,不管是作为配置中心,还是作为注册中心,因为它简单易用的特性,在互联网公司被广泛运用。随后,大家会发现Nacos相关的面试题也就越来越多了。
一个8年工作经验的小伙伴,被问到这样一个问题,说如何保证RabbitMQ的高可用。关于这个问题呢,这位小伙伴倒是有个实操经验,就是不知道如何组织语言。所以,当时面试结果不太理想。今天,我给大家分享一下我的理解。
在互联网公司面试中,很多小伙伴都被问到关于锁的理解。今天,我给小伙伴们来聊一聊我对锁的理解,不管我们互斥锁、自旋锁、重入锁、读写锁、行锁、表锁等等等等这些概念,我把他们都归纳为两种类型,乐观锁和悲观锁。
你都工作3年了,怎么还不知道MyISAM和InnoDB有什么区别?一位粉丝被面试官这样一个问题。当时,这位粉丝直接回复“不知道”,这位粉丝自己也怪不好意思的。
ThreadLoca在并发场景中,应用非常多。前几天有位小伙伴问我一个问题,说ThreadLocal是不是真的会造成内存泄漏?今天给大家做一个分享,个人见解,仅供参考。如果大家有其他见解可以在评论区讨论。
ConcurrentHashMap相当于是HashMap的多线程版本,它的功能本质上和HashMap没什么区别。因为HashMap在并发操作的时候会出现各种问题,比如死循环问题、数据覆盖等问题。而这些问题,只要使用ConcurrentHashMap就可以完美地解决。那问题来到了,ConcurrentHashMap它是如何保证线程安全的呢?
HashMap死循环是一个比较常见、也是比较经典的面试题,在大厂的面试中也经常被问到。HashMap的死循环问题只在JDK1.7版本中会出现,主要是HashMap自身的工作机制,再加上并发操作,从而导致出现死循环。JDK1.8以后,官方彻底解决了这个问题。
今天给大家分享一道大厂面试真题,Spring为何需要三级缓存解决循环依赖,而不是二级缓存?我一共分为五个部分来给大家介绍: 1、什么是循环依赖? 循环依赖就是指循环引用,是两个或多个Bean相互之间的持有对方的引用。在代码中,如果将两个或多个Bean互相之间持有对方的引用,因为Spring中加入了依赖注入机制,也就是自动给属性赋值。Spring给属性赋值时,将会导致死循环。那么,哪些情况会出现循环依赖呢?
大家好,我是被编程耽误的文艺Tom。今天能给大家介绍一下Spring Bean生命周期全过程,这道题呢也是大厂高频面试题。接下来我给大家做一个详细的分析和解答。
在阅读面试题之前,小伙伴们可以先看看我之前发布的系列文章,Spring核心原理包括源码分析和用30个类手写。面试刷题固然很重要,但是知其然知其所以然更重要。
Design Patterns: Elements of Reusable Object-Oriented Software(以下简称《设计模式》),一书由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides合著(Addison-Wesley,1995)。这四位作者常被称为“四人组(Gang of Four)”,而这本书也就被称为“四人组(或 GoF)”书。他们首次给我们总结出一套软件开发可以反复使用的经验,帮助我们提高代码的可重用性、系统的可维护性等,解决软件开发中的复杂问题。
状态模式的UML类图如下图所示。
有个粉丝问到手机APP扫码登录是如何实现的,能讲讲给我讲讲吗? 扫码登录的本质,其实是通过已经登录的APP,扫描Web页面生成的二维码, 获取到一个Token作为登录凭证,然后再写入到Web端的登录认证程序。Token写入成功以后,会回调刷新Web页面跳转到登录成功的界面。
解决这个问题的关键是要找到Java代码的位置。下面分享一下排查思路,以CentOS为例,总结为4步。 第1步,使用top命令找到占用CPU高的进程。 第2步,使用ps –mp命令找到进程下占用CPU高的线程ID。 第3步,使用printf命令将线程ID转换成十六进制数。 第4步,使用jstack命令输出线程运行状态的日志信息。
一位应届毕业生被问到这样一道面试题,说Spring用到了哪些设计模式?其实只要Spring使用得够熟练,回答这道题还是非常轻松的。因为Spring的命名非常规范,基本上从类名就可以看得出来用到了哪些设计模式。 今天,我给大家分享一下我的理解。
ES全称是Elastic Search,它是一个建立在全文搜索引擎库Lucene基础上的开源搜索和分析引擎。ES它本身具有分布式存储、检索速度快的特性。所以,我们经常会用它来实现全文检索的功能。 Elastic官网对ES的定义已经不再是ElasticSearch这一个组件,而是指Elastic Stack生态。
有位工作5年的小伙伴,面试的时候被问到这样一道题,说在DCL单例写法中,为什么要做两次检查。要回答好这个问题,需要知道DCL单例的写法以及为什么要这样写? 今天,我给大家详细分析一下。
1位工作6年的小伙伴去某里P6一面,被问到这样一道面试题,说,为什么启动一个线程不直接调用run()方法,而要调用start()方法来启动,如果调用两次start()会有什么后果?
一位应届生在面试的时候把所有的八股文都答对了。没成想,有位面试官出了个奇招,面试官问了一句说,请你对比一下Java和JavaScript的区别。我这想这样入门级别的问题,应该每一个后端开发人员都能答得上吧。没成想,有位应届毕业生竟然没有答出来,还说JavaScript是对Java的升级。这样的回答,实在是有点不应该。
今天,有位工作5年的小伙伴被问到这样一道面试题,说谈谈你对Java线程5种状态流转原理的理解。当时,平时只关注过线程如何定义和使用,对于线程状态流转脑海一片空白,完全懵了。于是找到我,希望我拍一期视频。 今天,我给大家分享一下我的理解。
有位工作五年的小伙伴在面试的时候被问到RocketMQ的分布式事务实现原理。他说他只知道RocketMQ能够支持事务,但是没有了解过它的事务实现原理。 今天,我给大家分享一下我对这个问题的理解。
一位3年工作经验的小伙伴面试时被问到,说请你谈一谈ArrayList自动扩容机制的实现原理。这个问题对于稍微看过一点源码的小伙伴来说,其实非常简单。下面我给大家分享一下我对这个问题的理解。
一位2年工作经验的小伙伴面试时被问到,说,HashMap什么时候扩容,为什么要扩容?这个问题本身不是很难,但是这位小伙伴对底层实现原理没有太多关注,所以,被这个问题难住了。 下面我给大家分析一下这个问题的底层逻辑。
有位粉丝私信我说,说想让我拍一期Pulsar的视频,那今天满足一下这位粉丝要求,谈一谈我对Pulsar的理解。
一位7年工作经验的小伙伴去面架构师岗位,被问到这样一道面试题,说”RocketMQ为什么要放弃Zookeeper“。然后,想了很久好像没关注过,也不敢瞎猜。 那么今天,我给大家来聊一聊我对这个问题的理解。
Seata在大厂也是属于高频的面试题,有一位3年工作经验的小伙伴被问到一道这样的面试题,说“谈谈你对Seata的理解”。那么,今天我给大家来聊一聊。
技术的变革,一定是思想先行,云原生是一种构建和运行应用程序的方法,是一套技术体系和方法论。伴随云计算的滚滚浪潮,云原生(CloudNative)的概念应运而生,而且还很火。 今天,我给大家讲一讲,我对云原生的理解。
有一位粉丝问私信问我的面试题,他说“什么是服务网格”? 服务网格这个概念出来很久了,从 2017 年被提出来,到 2018 年正式爆发,很多云厂商和互联网企业都在纷纷向服务网格靠拢。像蚂蚁集团、美团、百度、网易等一线互联网公司,都有服务网格的落地应用。
面试过程中,场景类的问题更容易检测出一个开发人员的基本能力。这不,有一位小伙伴去阿里面试,第一面就遇到了关于“CPU 飙高系统反应慢怎么排查”的问题?当时这位小伙伴不知从何下手。 今天,我给大家分享一下我的解决思路。
最近一位3年工作经验的小伙伴去某厂面试,被问到这样一个问题,说:”请你简单说一下Kafka的零拷贝原理“。然后,这位小伙伴突然愣住了,什么是零拷贝,零拷贝跟Kafka有关系吗?
一个应届生去面试,可能没有什么实战经验,今天被问到一个这样的面试题,说“RabbitMQ是如何实现消息路由的?“一下子竟然不知道如何组织语言了。今天我给大家分享一下我的理解。
一位工作4年的程序员 , 简历上写了精通并发编程 , 并且还阅读过AQS( AbstractQueuedSynchronizer)的源码,然后面试官只问了这样一个问题:“AQS 为什么要采用双向链表结构”?,然后就垮了! 其实AQS 大家都不陌生,它是 J.U.C 包里面一个非常重要的线程同步器。今天,我给大家聊聊我的理解。
一个在传统行业工作了 7 年的粉丝私信我。说他最近去很多互联网公司面试,遇到的很多技术和概念都没听过。其中就有一道题是:”什么是幂等、如何解决幂等性问题“?他说,这个概念听都没听过,怎么可能回答出来。 接下来,我借这位同学的问题,给大家分享一下我对这个问题的理解。
一位在传统行业工作了 5 年的程序员。去一个互联网公司面试,被问到一个秒杀的场景题。因为之前完全没接触过分布式相关的项目,单单只是问了限流算法都没有回答不上来,于是向我来求助。
什么情况?一位工作了 5 年的 Java 程序员,竟然回答不出这个问题?说“Dubbo注册中心挂了, 服务之间还可以继续通信吗”?今天,我话2分钟时间给大家来聊一聊。
最近有小伙伴来问我,说让我分享一起关于负载均衡的理解,我说,网上有这么多资料了, 怎么还需要我来分享,他说网上的很多资料不系统,难理解。因此就做了这个视频。
一位6年工作经验的小伙伴,在某厂面试时被问到“实现分布式锁,Zookeeper 和 Redis 哪种更好?“,这其实是一个开放性的问题。并没有标准答案。那今天呢,我给大家分享一下我的理解,希望能够帮助到大家。
今天分享一道一线大厂公司高频面试题。“基于Redis和MySQL的架构,如何保证数据一致性”。这个问题难倒了不少工作5年以上的程序员,难的不是问题本身,而是解决这个问题的思路。
一个6年工作经验的小伙伴,被问到这样一个问题,说Kafka是如何避免消息重复消费的?面试完之后,这位小伙伴来找到我,希望我能给一个思路。今天,我给大家分享一下我的思路。
一个5年工作经验的小伙伴,在面试的时候被这样一个问题。说”存储MD5值应该用VARCHAR还是用CHAR“,他一时间不只如何选择,感觉用VARCHAR也可以,用CHAR也行。希望我来帮忙分析一下。
一位3年工作经验的小伙伴,去一家互联网公司面试,结果被面试官怼了。面试官说:”这么简单的问题你都不知道?没法聊了,回去等通知吧“。然后,回来跟我是一阵诉苦。
曾经有一道面试题掀起了劲爆的浪潮,说如果不使用Spring,我们将如何开发?好多家公司都模仿提问了这么一道面试题,而且好多人也都在各个社区给出了自己的答案。接下来看看网友们是怎么说的。
最近,有很多优秀的程序员从大厂毕业, 再加上大环境的影响,很多正在找工作的小伙伴也感觉技术面试越来越难,基本上都会问技术底层原理,甚至有些还会问到操作系统层面的知识。 如果技术功底不扎实,确实很难找到合适的岗位。
最近,有很多应届生也挺焦虑的,说大家都卷,不卷也不行。很多应届生在面试过程中八股文背得不错,但是一聊到项目经验就不知如何说起。 有位小伙伴来问我,说面试被问到对Spring Cloud的理解,自己也回答了,但感觉面试官不满意,说是没有结合项目经验来回答。 今天,我给大家分享一下我的理解,希望能够帮助到各位小伙伴。
NoSQL呢常见的解释有Non-Relational SQL或者Not Only SQL,不过Not Only SQL被更多人接受,一般泛指非关系型数据库。它和关系型数据库不同的是,不保证关系数据的ACID特性。