首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Java面试】第一章:P5级面试

_廖志伟-CSDN博客_缓存删策略 线程是什么,有几种实现方式,它们之间的区别是什么,线程池实现原理,JUC并发包,ThreadLocal与Lock和Synchronize区别 答案:理论:第八章:线程是什么...例如:传入参数为(订单id)和(优惠券id),拿(订单id)查询该订单的用户id,拿来和登录的用户id进行对比,判断是否为本人操作。拿(优惠券id)查询用户表是否领取了该优惠券,该优惠券是否可用。...索引使用的限制条件,sql优化有哪些,数据同步问题(缓存和数据库),缓存优化_廖志伟-CSDN博客 初始化Bean对象有几个步骤,它的生命周期 答案:Spring框架:第三章:对象的生命周期及单例bean生命周期的11...(幂等性),消息发送失败,消息掉包,长时间收不到消息,发送的消息太大造成接收不成功 答案:互联网 Java 工程师进阶知识完全扫盲 单点登录实现原理 答案:面试:第十章:单点登录_廖志伟-CSDN博客...讲解的真的够全面?拿下面第一题来说,面试官一般都直接问你HashMap实现原理,但是要是换一个问法,比如:影响HashMap性能有哪些因素?HashMap为什么存取效率那么高?

13.5K10

两年经验Java研发,5面拿下阿里 Offer(复盘总结)

非本科,软件工程,2年工作经验。有幸得到内推机会,参加了阿里Java岗的面试。...知道什么是内存泄露,如何手动去造成内存泄露? 线程池常见的一些参数,知道Future接口? 数据库部分 常见的索引类型有哪些? 为什么主键索引使用B+树而不去使用B树?...知道回表查询?聚集索引? 项目中有没有使用到分表分库?说一说怎么分的? 分布式/中间件部分 Redis是单线程的? 为什么Redis的性能比较高?...使用消息列有没有遇到消息丢失的情况,怎么去设计补偿行为? 说一说项目中为什么使用Kafka而不去使用其它消息队列? 说一说Zookeeper中的Zab协议 分布式锁的实现方案有哪些?...分布式限流Sentinel中线程模式与QPS模式的区别 微服务部分 有没有遇到dubbo连接数爆满的问题 dubbo如何实现使用zookeeper找到对应的服务 dubbo使用zookeeper作为分布式治理中心有什么弊端

85410
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java 面试题大全及答案大全(共 2000+,2022最新版)

    25、Dubbo 服务之间的调用是阻塞的?26、Dubbo 支持分布式事务?27、Dubbo telnet 命令能做什么?28、Dubbo 支持服务降级?29、Dubbo 如何优雅停机?...11、Zookeeper 集群支持动态添加机器?12、ZooKeeper 是如何实现分布式事务的?13、ZooKeeper 是如何实现分布式锁的?14、Zookeeper 中的文件系统怎么理解?...8、分布式系统下会遇到哪些问题?9、分布式 Session 共享怎么实现?10、分布式唯一 ID 怎么实现?11、什么是分布式事务?12、分布式事务的解决方案有哪些?13、什么是微服务?...消息队列1、消息列有什么用?2、消息列有哪些应用场景?3、消息列有什么优缺点?4、消息队列怎么选型?5、有了多线程,为什么还要消息队列?6、消息队列和多线程应该怎么选择呢?...7、使用消息队列会遇到哪些问题?8、消息队列如何处理消息重复消费问题?9、消息队列为什么会产生消息丢失?10、消息队列如何解决消息丢失问题?11消息队列如何保证消息顺序消费?

    3.1K20

    Java 面试题大全及答案大全(共 2000+,2022最新版)

    25、Dubbo 服务之间的调用是阻塞的?26、Dubbo 支持分布式事务?27、Dubbo telnet 命令能做什么?28、Dubbo 支持服务降级?29、Dubbo 如何优雅停机?...11、Zookeeper 集群支持动态添加机器?12、ZooKeeper 是如何实现分布式事务的?13、ZooKeeper 是如何实现分布式锁的?14、Zookeeper 中的文件系统怎么理解?...8、分布式系统下会遇到哪些问题?9、分布式 Session 共享怎么实现?10、分布式唯一 ID 怎么实现?11、什么是分布式事务?12、分布式事务的解决方案有哪些?13、什么是微服务?...消息队列1、消息列有什么用?2、消息列有哪些应用场景?3、消息列有什么优缺点?4、消息队列怎么选型?5、有了多线程,为什么还要消息队列?6、消息队列和多线程应该怎么选择呢?...7、使用消息队列会遇到哪些问题?8、消息队列如何处理消息重复消费问题?9、消息队列为什么会产生消息丢失?10、消息队列如何解决消息丢失问题?11消息队列如何保证消息顺序消费?

    14.2K64

    数据迁移与一致性思考与实践

    那么现在的问题就是怎么写呢??...,抛出一条消息出来,异步写存储C 写的策略是加上了,但是怎么保证数据的一致性呢?...写了存储B成功之后,再写存储C就一定能写成功,如果不成功,那两边的数据就不一致,读到了不一致的数据,又该怎么办?...对于第一种方案,如果存储支持分布式事务(如mysql),是可以做到强一致性的,我们可以通过事务的机制保证储存B和存储C要么同时成功,要么同时失败。...但是这里的影响也仅仅是短暂的看到表现不一致而已,如果用户再次使用该优惠券,写的时候写存储B就会失败,因为存储B里面的状态是已使用,不可能让已使用状态的优惠券再次使用。

    17K4017

    Java 面试题大全及答案大全(共 2000+,2022最新版,包括JVM、多线程、Redis、Spring Boot、Spring Cloud 面试题等等)

    25、Dubbo 服务之间的调用是阻塞的?26、Dubbo 支持分布式事务?27、Dubbo telnet 命令能做什么?28、Dubbo 支持服务降级?29、Dubbo 如何优雅停机?...11、Zookeeper 集群支持动态添加机器?12、ZooKeeper 是如何实现分布式事务的?13、ZooKeeper 是如何实现分布式锁的?14、Zookeeper 中的文件系统怎么理解?...8、分布式系统下会遇到哪些问题?9、分布式 Session 共享怎么实现?10、分布式唯一 ID 怎么实现?11、什么是分布式事务?12、分布式事务的解决方案有哪些?13、什么是微服务?...消息队列1、消息列有什么用?2、消息列有哪些应用场景?3、消息列有什么优缺点?4、消息队列怎么选型?5、有了多线程,为什么还要消息队列?6、消息队列和多线程应该怎么选择呢?...7、使用消息队列会遇到哪些问题?8、消息队列如何处理消息重复消费问题?9、消息队列为什么会产生消息丢失?10、消息队列如何解决消息丢失问题?11消息队列如何保证消息顺序消费?

    3K10

    利用Redis实现消息队列

    什么是消息队列 消息队列(message queue) 可以分为两部分,即消息(message)与队列(queue),它是分布式系统中重要的组件,其通用的使用场景可以简单地描述为: 当不需要立即获得结果...当前使用较多的消息列有RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMq等,而部分数据库如Redis、Mysql以及phxsql也可实现消息队列的功能。...开始实现 消息队列的本质和队列结构类似,均为先进先出(FIFO),这里利用到的是redis的List(列表).利用lpush进行入队,然后通过rpop出. class Mq{ public static...} public function proc($str){ $data = $this->redis->rpop(self::$key); //从首出并处理...public function proc($str){ while($data = $this->redis->brpop(self::$key),3600){ //从首出并处理

    86021

    【荐】成为Java高级工程师到底需要掌握什么?

    这样效果更好噢~ 高并发架构 消息队列 为什么使用消息队列?消息列有什么优点和缺点?Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么优点和缺点?...搜索引擎 es 的分布式架构原理能说一下么(es 是如何实现分布式的啊)? es 写入数据的工作原理是什么啊?es 查询数据的工作原理是什么啊?底层的 lucene 介绍一下呗?倒排索引了解?...如何保证缓存与数据库的写一致性? Redis 的并发竞争问题是什么?如何解决这个问题?了解 Redis 事务的 CAS 方案? 生产环境中的 Redis 是怎么部署的?...分布式系统 系统拆分 为什么要进行系统拆分?如何进行系统拆分?拆分后不用 Dubbo 可以分布式服务框架 说一下 Dubbo 的工作原理?注册中心挂了可以继续通信?...使用 Redis 如何设计分布式锁?使用 Zookeeper 来设计分布式锁可以?以上两种分布式锁的实现方式哪种效率比较高? 分布式事务 分布式事务了解?你们如何解决分布式事务问题的?

    1.1K30

    一个故事理解消息队列-上

    下面的内容是关于消息队列这一中间件的详细介绍。消息队列功能概述消息队列(Message Queue,简称MQ)是指保存消息的一个容器,其本质是一个保存数据的队列。...消息队列时分布式系统中重要的技术组件,主要解决应用解耦、异步消息、流量削峰等问题,实现高性能、高可用、可伸缩和最终一致性的系统架构。...目前使用较多的消息列有ActiveMQ、RabbitMQ、RocketMQ、Kafka等。...且每个环节都要进行校验,比如库存是否足够,商品是否参与会员折扣,是否有优惠券等。只要其中一个强依赖的下游应用调用超时或者失败,那这笔订单就无法创建成功。...流量削峰填谷还是以电商业务为例,每次11大促,对系统的性能和稳定性都是一大考验,很多公司的系统在面临这种高并发场景时都跪了。

    6810

    消息队列简介及 RabbitMQ 的使用方法

    本文告诉什么是消息队列,为什么需要消息队列,常见的消息列有哪些, RabbitMQ 的部署和使用。 什么是消息队列 消息队列拆开了看,就是消息 + 队列,消息是什么?...其实就是程序之间通讯所用到的数据,消息从生产者那里产生,进入队列后,安装设计好的规则出,由消费者消费。仅此而已。...RocketMQ RocketMQ 是一个分布式消息和流数据平台,具有低延迟、高性能、高可靠性、万亿级容量和灵活的可扩展性。...RocketMQ 是 2012 年阿里巴巴开源的第三代分布式消息中间件,2016 年 11 月 21 日,阿里巴巴向 Apache 软件基金会捐赠了 RocketMQ;第二年 2 月 20 日,Apache...本文简要介绍了什么是消息队列,为什么需要消息队列,常见的消息列有哪些,RabbitMQ 的部署和使用,如果对你有所帮助,请点赞支持,欢迎留言讨论。

    70120

    C++从 STL 中的队列开始说起

    进入的一端称为尾,出去的一端称为头。 队列有 2 个常规操作: 入队:进入队列,数据总是从尾进入队列。 出:从队列中取出数据,数据总是从头出来。...STL 中的队列 STL的队列有: queue(普通队列)。 priority_queue(优先队列)。 deque(端队列)。...类似的,如果禁用pop_back()和push_front()则可以模拟出普通队列的存储效果…… 可能会问,为什么选择deque作为基础组件,难道它有什么先天性优势?...( 6 ); cout<<"查看头数据 : "<<myDeque.front()<<endl; cout<<"查看尾数据: "<<myDeque.back()<<endl; //端队列支持迭代器查询...在循环队列,当入队的速度快于出速度时,rear指针是可以追上front指针的。如下图所示: 这时队列为满负荷状态。也就是说,front等于rear时,队列有可能是空的也有可能是满的。

    87710

    微服务应该这么搞,才能少踩坑!

    所以我们经常会在11这种大型促销活动期间把物流接口屏蔽掉,在页面上也关掉物流查询功能。这样就避免了我们自己的服务被拖垮,也保证了重要功能的正常运行。 降低一致性之读降级 对于读一致性要求不高的场景。...好,咱们这次就盘一盘分布式事务,最终一致,补偿机制,事务型消息!...我们以TCC分布式事务和RocketMQ事务型消息为例,做详细分享!这个弄明白了,也就清楚分布式事务,最终一致,补偿机制这些概念啦!...那么有什么问题? 答案是肯定的。没法保证数据一致性,也就是说不能保证这几步操作全部成功或者全部失败!...这些关于流程的逻辑也要手动编码?这也太麻烦了吧! 实际上TCC分布式事务框架帮我们把这些事都干了。比如我们前面提到的Hmily,ByteTCC,TCC-transaction 这些框架。

    3.7K20

    死磕 java集合之ArrayDeque源码分析

    ---- 问题 (1)什么是端队列? (2)ArrayDeque是怎么实现端队列的? (3)ArrayDeque是线程安全的? (4)ArrayDeque是有界的?...简介 端队列是一种特殊的队列,它的两端都可以进出元素,故而得名端队列。 ArrayDeque是一种以数组方式实现的端队列,它是非线程安全的。 继承体系 ?...出同样有很多方法,我们主要看两个,pollFirst()和pollLast()。...总结 (1)ArrayDeque是采用数组方式实现的端队列; (2)ArrayDeque的出入队是通过头尾指针循环利用数组实现的; (3)ArrayDeque容量不足时是会扩容的,每次扩容容量增加一倍...双重队列(Dual Queue)是指一种队列有两种用途,里面的节点分为数据节点和非数据节点,它是LinkedTransferQueue使用的数据结构。

    67330

    Java中的5大队列,你知道几个?

    Java 中的队列有很多,例如:ArrayBlockingQueue、LinkedBlockingQueue、PriorityQueue、DelayQueue、SynchronousQueue 等,那它们的作用是什么...端队列(Deque)是指队列的头部和尾部都可以同时入队和出的数据结构,如下图所示: 接下来我们来演示一下端队列 LinkedBlockingDeque 的使用: import java.util.concurrent.LinkedBlockingDeque...delayQueue.put(new MyDelay(1000, "消息1")); delayQueue.put(new MyDelay(3000, "消息2"));...1 消息2 结束执行时间:2020-10-20 20:17:31 从上述结束执行时间和开始执行时间可以看出,消息 1 和消息 2 都正常实现了延迟执行的功能。...总结 本文讲了 Java 中的 5 种队列:普通队列、端队列、优先队列、延迟队列、其他队列。

    54110

    【数据结构基础】队列简介(使用ES6)

    03 什么是端队列 端队列是一个特殊的更灵活的队列,我们可以在队列的“头”或“尾”添加和删除元素。由于端队列是实现了FIFO和LIFO这两个原则,也可以说是队列和堆栈结构的合体结构。...addBack(element):此方法用于在端队列的“尾”添加元素。 removeFront():此方法用于删除端队列的“头”元素。...removeBack():此方法用于删除端队列的“尾”元素。...peekFront():此方法用于返回端队列的“头”元素 peekBack():此方法用于返回端队列的“尾”元素 addFront(element) 由于从端队列的的“头”添加元素,稍微复杂些...其实队列在我们的实际业务场景中运用还是蛮多的,比如我们要实现一个队列的消息推送机制,我们JS的event loop的事件循环机制,浏览器的页面渲染机制等等。

    61620

    【数据结构基础】队列简介(使用ES6)

    端队列是一个特殊的更灵活的队列,我们可以在队列的“头”或“尾”添加和删除元素。...addBack(element):此方法用于在端队列的“尾”添加元素。 removeFront():此方法用于删除端队列的“头”元素。...removeBack():此方法用于删除端队列的“尾”元素。...peekFront():此方法用于返回端队列的“头”元素 peekBack():此方法用于返回端队列的“尾”元素 addFront(element) 由于从端队列的的“头”添加元素,稍微复杂些...其实队列在我们的实际业务场景中运用还是蛮多的,比如我们要实现一个队列的消息推送机制,我们JS的event loop的时间循环机制,浏览器的页面渲染机制等等。

    81640

    系统性能调优必知必会(1)note

    #14 https://github.com/ChuChencheng/note/issues/38 :长连接能减少三次握手,多个请求服用一个连接,但是无法解决头阻赛问题 task03 ,tcp不是保证安装传输...HTTP2不使用管道化的方式,而是引入了帧、消息和数据流等概念, 每个请求/响应被称为消息,每个消息都被拆分成若干个帧进行传输,每个帧都分配一个序号。...必须要等到5的Ack收到,才会把6-11的Ack发送过去。...加餐5 | 如何理解分布式系统? “分布式系统”等于 SOA、ESB、微服务这些东西? “分布式系统”等于 SOA、ESB、微服务这些东西?...维基百科对“分布式系统”的宏观定义是这样的: 分布式系统是一种其组件位于不同的联网计算机上的系统, 然后通过互相传递消息来进行通信和协调。 为了达到共同的目标,这些组件会相互作用。

    50820
    领券