首页
学习
活动
专区
工具
TVP
发布
您找到你想要的搜索结果了吗?
是的
没有找到

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

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

81910

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

Java 中的队列有很多,例如:ArrayBlockingQueue、LinkedBlockingQueue、PriorityQueue、DelayQueue、SynchronousQueue 等,那它们的作用是什么...Oct 19 20:16:12 CST 2020 | ArrayBlockingQueue Size:3 Mon Oct 19 20:16:12 CST 2020 | ArrayBlockingQueue...端队列(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 都正常实现了延迟执行的功能。

49110

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、消息队列和多线程应该怎么选择呢?...12消息延迟推送有哪些应用场景?13、什么是拉模式和推模式?14、什么是消息持久化?15、消息持久化有什么缺点?16、什么是 JMS?17、什么是 RabbitMQ?

9.9K51

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、消息队列和多线程应该怎么选择呢?...12消息延迟推送有哪些应用场景?13、什么是拉模式和推模式?14、什么是消息持久化?15、消息持久化有什么缺点?16、什么是 JMS?17、什么是 RabbitMQ?

3K20

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、消息队列和多线程应该怎么选择呢?...12消息延迟推送有哪些应用场景?13、什么是拉模式和推模式?14、什么是消息持久化?15、消息持久化有什么缺点?16、什么是 JMS?17、什么是 RabbitMQ?

2.9K10

利用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){ //从首出并处理

78421

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

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

1K30

大型网站架构系列:分布式消息队列(一)

精彩早知道 消息队列概述 消息队列应用场景 消息中间件示例 JMS消息服务(见第二篇:大型网站架构系列:分布式消息队列(二)) 常用消息队列(见第二篇:大型网站架构系列:分布式消息队列(二)) 参考(推荐...)资料(见第二篇:大型网站架构系列:分布式消息队列(二)) 本次分享总结(见第二篇:大型网站架构系列:分布式消息队列(二)) 一、消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,...是大型分布式系统不可缺少的中间件。 目前在生产环境,使用较多的消息列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。...应用场景: 秒杀活动,一般会因为流量过大,导致流量暴增,应用挂掉。为解决这个问题,一般需要在应用前端加入消息队列。 可以控制活动的人数。 可以缓解短时间内高流量压垮应用。 ?...2.5消息通讯 消息通讯是指,消息队列一般都内置了高效的通信机制,因此也可以用在纯的消息通讯。比如实现点对点消息队列,或者聊天室等。 点对点通讯: ? 客户端A和客户端B使用同一列,进行消息通讯。

1.1K50

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时,队列有可能是空的也有可能是满的。

77410

消息队列常见的 5 个应用场景

原文链接:https://segmentfault.com/a/1190000017130224 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息...使用较多的消息列有ActiveMQ、RabbitMQ、ZeroMQ、Kafka、MetaMQ、RocketMQ。...也不影响正常下单,因为下单后,订单系统写入消息队列就不再关心其他的后续操作了。实现订单系统与库存系统的应用解耦。 3、流量削锋 流量削锋也是消息队列中的常用场景,一般在秒杀或团抢活动中使用广泛!...应用场景:秒杀活动,一般会因为流量过大,导致流量暴增,应用挂掉。为解决这个问题,一般需要在应用前端加入消息队列。 可以控制活动的人数,可以缓解短时间内高流量压垮应用。 ?...5、消息通讯 消息通讯是指,消息队列一般都内置了高效的通信机制,因此也可以用在纯的消息通讯。比如实现点对点消息队列,或者聊天室等。 点对点通讯: ? 客户端A和客户端B使用同一列,进行消息通讯。

1.8K20

分布式架构实记——消息队列(一)

一、消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。...目前在生产环境,使用较多的消息列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等。 二、消息队列应用场景 以下介绍消息队列在实际应用中常用的使用场景。...也不影响正常下单,因为下单后,订单系统写入消息队列就不再关心其他的后续操作了。实现订单系统与库存系统的应用解耦。 2.3流量削锋 流量削锋也是消息队列中的常用场景,一般在秒杀或团抢活动中使用广泛。...应用场景:秒杀活动,一般会因为流量过大,导致流量暴增,应用挂掉。为解决这个问题,一般需要在应用前端加入消息队列。 可以控制活动的人数; 可以缓解短时间内高流量压垮应用; ?...2.5消息通讯 消息通讯是指,消息队列一般都内置了高效的通信机制,因此也可以用在纯的消息通讯。比如实现点对点消息队列,或者聊天室等。 点对点通讯: ? 客户端A和客户端B使用同一列,进行消息通讯。

72730

面试官:消息队列使用场景有哪些?

Hi 大家好,我是田哥 本文给大家分享一道面试题:MQ消息列有哪些应用场景 一、消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,...目前使用较多的消息列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ 二、消息队列应用场景 以下介绍消息队列在实际应用中常用的使用场景。...应用场景:秒杀活动,一般会因为流量过大,导致流量暴增,应用挂掉。为解决这个问题,一般需要在应用前端加入消息队列。...比如实现点对点消息队列,或者聊天室等 点对点通讯: 客户端A和客户端B使用同一列,进行消息通讯。 聊天室通讯: 客户端A,客户端B,客户端N订阅同一主题,进行消息发布和接收。实现类似聊天室效果。...RocketMQ是阿里开源的消息中间件,它是纯Java开发,具有高吞吐量、高可用性、适合大规模分布式系统应用的特点。

1.8K21

死磕 java集合之ArrayDeque源码分析

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

63330

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

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

58620

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

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

77640

消息队列常见的几种使用场景介绍!

一、简介 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能、高可用、可伸缩和最终一致性架构。...使用较多的消息列有ActiveMQ、RabbitMQ、ZeroMQ、Kafka、MetaMQ、RocketMQ。...也不影响正常下单,因为下单后,订单系统写入消息队列就不再关心其他的后续操作了。实现订单系统与库存系统的应用解耦。 3、流量削锋 流量削锋也是消息队列中的常用场景,一般在秒杀或团抢活动中使用广泛!...应用场景:秒杀活动,一般会因为流量过大,导致流量暴增,应用挂掉。为解决这个问题,一般需要在应用前端加入消息队列。 可以控制活动的人数,可以缓解短时间内高流量压垮应用。 ?...5、消息通讯 消息通讯是指,消息队列一般都内置了高效的通信机制,因此也可以用在纯的消息通讯。比如实现点对点消息队列,或者聊天室等。 点对点通讯: ? 客户端A和客户端B使用同一列,进行消息通讯。

56910

消息队列常见的几种使用场景介绍!

一、简介 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能、高可用、可伸缩和最终一致性架构。...使用较多的消息列有ActiveMQ、RabbitMQ、ZeroMQ、Kafka、MetaMQ、RocketMQ。...也不影响正常下单,因为下单后,订单系统写入消息队列就不再关心其他的后续操作了。实现订单系统与库存系统的应用解耦。 3、流量削锋 流量削锋也是消息队列中的常用场景,一般在秒杀或团抢活动中使用广泛!...应用场景:秒杀活动,一般会因为流量过大,导致流量暴增,应用挂掉。为解决这个问题,一般需要在应用前端加入消息队列。 可以控制活动的人数,可以缓解短时间内高流量压垮应用。 ?...5、消息通讯 消息通讯是指,消息队列一般都内置了高效的通信机制,因此也可以用在纯的消息通讯。比如实现点对点消息队列,或者聊天室等。 点对点通讯: ? 客户端A和客户端B使用同一列,进行消息通讯。

74010
领券