AQS是AbstractQueuedSynchronizer的简称,是并发编程中比较核心的组件. 在很多大厂的面试中,面试官对于并发编程的考核要求相对较高,简单来说,如果你不懂并发编程,那么你很难通过大厂高薪岗位的面试. 今天来和大家聊聊并发编程中的AQS组件. 我们来看一下,关于"谈谈你对AQS的理解",看看普通人和高手是如何回答的! 先来看看普通人的回答: AQS全称是AbstractQueuedSynchronizer,它是J.U.C包中Lock锁的底层实现,可以用它来实现多线程…
很多面试官都喜欢问一些"谈谈你对xxx技术的理解". 大家遇到这种问题时,是不是完全不知道从何说起. 那么我们来看一下,普通人和高手是如何回答这个问题的? 普通人: Seata是用来解决分布式事务问题的框架.是阿里开源的中间件. 实际项目中我没有用过,我记得Seata里面有几种事务模型,有一种AT模…
数据结构与算法问题,困扰了无数的小伙伴. 很多小伙伴对数据结构与算法的认知有一个误区,认为工作中没有用到,为什么面试要问,问了能解决实际问题? 图灵奖获得者: Niklaus Wirth 说过: 程序=数据结构+算法, 也就说我们无时无刻都在和数据结构打交道. 只是作为Java开发,由于技术体系的成熟度较高,使得大部分人认为:程序应该等于 框架 + SQL 呀? 今天我们就来分析一道数据结构的题目:"B树和B+树". 关于这个问题,我们来看看普通人和高手的回答! 普通人: 嗯. 我想想…
前段时间一个小伙伴去面试,遇到这样一个问题. "Fail-safe机制与Fail-fast机制分别有什么作用" 他说他听到这个问题的时候,脑子里满脸问号.那么今天我们来看一下,关于这个问题,普通人和高手应该如何回答吧. 普通人的回答 额- . 嗯 - 高手的回答Fail-safe和Fail-fast,是多线程并发操作集合时的一种失败处理机制. Fail-fast : 表示快速失败,在集合遍历过程中,一旦发现容器中的数据被修改了,会立刻抛出ConcurrentModificationEx…
对于Spring Boot约定优于配置这个问题,看看普通人和高手是如何回答的? 普通人的回答: 嗯, 在Spring Boot里面,通过约定优于配置这个思想,可以让我们少写很多的配置, 然后就只需要关注业务代码的编写就行.嗯! 高手的回答: 我从4个点方面来回答. 1.首先, 约定优于配置是一种软件…
常用数据结构基本上是面试必问的问题,比如HashMap.LinkList.ConcurrentHashMap等. 关于HashMap,有个学员私信了我一个面试题说: "HashMap是怎么解决哈希冲突的?" 关于这个问题,我们来模拟一下普通人和高手对于这个问题的回答. 普通人: 嗯.... HashMap我好久之前看过它的源码,我记得好像是通过链表来解决的! 高手: 嗯,这个问题我从四个方面来回答. 1.要了解Hash冲突,那首先我们要先了解Hash算法和Hash表. (1)Hash算…
昨天一个3年Java经验的小伙伴私信我,他说现在面试怎么这么难啊! 我只是面试一个业务开发,他们竟然问我: 什么叫阻塞队列的有界和无界.现在面试也太卷了吧! 如果你也遇到过类似问题,那我们来看看普通人和高手的回答吧! 普通人 有界队列就是说队列中的元素个数是有限制的,而无界对接表示队列中的元素个数没有限制! 嗯!!! 高手 阻塞队列,是一种特殊的队列,它在普通队列的基础上提供了两个附加功能 当队列为空的时候,获取队列中元素的消费者线程会被阻塞,同时唤醒生产者线程. 当队列满了的时候,向队列中添加…
今天分享的面试题,几乎是90%以上的互联网公司都会问到的问题. "Dubbo的服务请求失败怎么处理"? 对于这个问题,我们来看一下普通人和高手的回答. 普通人: 嗯- 我记得, Dubbo请求处理失败以后,好像是会重试. 嗯! 高手: Dubbo是一个RPC框架,它为我们的应用提供了远程通信能力的封装,同时,Dubbo在RPC通信的基础上,逐步在向一个生态在演进,它涵盖了服务注册.动态路由.容错.服务降级.负载均衡等能力,基本上在微服务架构下面临的问题,Dubbo都可以解决. 而对于D…
之前分享过一期HashMap的面试题,然后有个小伙伴私信我说,他遇到了一个ConcurrentHashMap的问题不知道怎么回答. 于是,就有了这一期的内容!! 我是Mic,一个工作了14年的Java程序员,今天我来分享关于 "ConcurrentHashMap 底层实现原理" 这个问题, 看看普通人和高手是如何回答的! 普通人: 嗯.. ConcurrentHashMap是用数组和链表的方式来实现的,嗯- 在JDK1.8里面还引入了红黑树.然后链表和红黑树是解决hash冲突的.嗯--…
今天分享一道一线互联网公司高频面试题. "Redis和Mysql如何保证数据一致性". 这个问题难倒了不少工作5年以上的程序员,难的不是问题本身,而是解决这个问题的思维模式. 下面来看看普通人和高手对于这个问题的回答. 普通人: 嗯.... Redis和Mysql的数据一致性保证是吧?我想想. 嗯 , 就是,Mysql的数据发生变化以后,可以同步修改Redis里面的数据. 高手: 一般情况下,Redis用来实现应用和数据库之间读操作的缓存层,主要目的是减少数据库IO,还可以提升数据的I…