高频面试题
文章平均质量分 52
鱼跃鹰飞
大厂小架,喜欢探索,住在海边喜欢浪!
展开
-
大厂面试真题-具体说说jdk1.7和1.8的hashmap的线程不安全都有什么问题
HashMap在JDK 1.7和JDK 1.8中都存在线程不安全的问题,但具体表现和解决方式有所不同。原创 2024-10-16 21:36:05 · 481 阅读 · 0 评论 -
大厂面试真题-说说jdk1.7和1.8的hashmap的区别以及各自的问题
JDK 1.7和JDK 1.8中的HashMap存在显著的区别,并且各自存在一些问题。原创 2024-10-16 21:34:38 · 895 阅读 · 0 评论 -
大厂面试真题-说一下推和拉的模式以及常见的使用
Pull(拉)模式和Push(推)模式是消息传递中的两种基本机制,它们在消息中间件和注册中心中的应用广泛而多样。原创 2024-10-15 21:29:06 · 1363 阅读 · 0 评论 -
大厂面试真题-说说Redis的cluster模式的故障转移和自动恢复
定义Gossip协议,又称流言协议或八卦协议,是一种分布式系统中用于节点间信息传播和状态同步的协议。功能节点发现:通过Gossip协议,Redis集群中的节点可以相互发现并建立连接。信息传播:节点之间可以传递集群的元数据(如节点状态、槽信息、主从关系等),确保集群信息的一致性。故障检测:节点可以通过Gossip协议检测到其他节点的故障状态,并触发相应的故障转移机制。原创 2024-10-15 20:36:05 · 872 阅读 · 0 评论 -
大厂面试真题-说一说rpc和http的区别?http能否代替kafka
HTTP(Hypertext Transfer Protocol,超文本传输协议)和RPC(Remote Procedure Call,远程过程调用)是两种常见的网络通信协议,它们之间存在显著的区别,并在不同的应用场景中发挥着各自的优势。原创 2024-10-14 21:09:44 · 584 阅读 · 0 评论 -
大厂面试真题-说一说Kafka的消息积压
Kafka消息积压是指Kafka中消息未能被消费者及时消费而在队列中累积的现象。原创 2024-10-14 21:06:13 · 883 阅读 · 0 评论 -
大厂面试真题-微服务有什么缺点
微服务架构在提供诸多优势的同时,也伴随着一些显著的缺点和挑战。原创 2024-10-13 20:10:16 · 547 阅读 · 0 评论 -
大厂面试真题-AQS中节点的入队时机有哪些
列的队尾,在存在竞争的场景时一般会成功。当然,如果加入失败,或者同步队列为空,就开始调。如果不成功,则开始将线程加入等待队列。自旋插入操作,直到插入成功,自旋才结束。自旋将新节点插入队列尾部。入队的插入位置在队列的尾部,并且是通过。的队列为空,新节点入队时首先进行。方法,尝试将该节点加入到同步队。方法创建队首节点,并且将。方式插入的,插入之后。原创 2024-10-13 17:05:49 · 503 阅读 · 0 评论 -
大厂面试真题-说说redis的雪崩、击穿和穿透
缓存雪崩、击穿、穿透是缓存系统中常见的三种问题,它们都会对系统的性能和稳定性造成严重影响。原创 2024-10-12 16:39:48 · 728 阅读 · 0 评论 -
大厂面试真题-说一说CyclicBarrier、CountDownLatch和Semaphore
CyclicBarrier、CountDownLatch和Semaphore是Java并发包java.util.concurrent中提供的三个重要的同步工具,它们各自具有独特的功能和使用场景。原创 2024-10-12 13:48:15 · 1170 阅读 · 0 评论 -
大厂面试真题-如果通过JVM自带的工具排查和解决线上CPU100%的问题
通过以上步骤,可以利用JVM自带的工具定位和解决线上CPU 100%的问题。在实际操作中,可能需要根据具体情况灵活调整排查步骤和解决方案。同时,也需要注意保持系统的稳定性和可靠性,避免在排查和解决问题的过程中对业务造成不必要的影响。原创 2024-10-11 21:50:27 · 464 阅读 · 0 评论 -
大厂面试真题-CPU飙升问题怎么定位
归纳原因:根据上述分析步骤,归纳出CPU飙升的原因,如软件bug、资源分配不当、硬件故障等。制定解决方案:根据原因制定相应的解决方案,如修复代码缺陷、增加硬件资源、调整系统配置等。综上所述,定位CPU飙升问题需要综合运用系统监控工具、深入分析进程、检查系统资源、系统优化与调整以及硬件检查等多个方面的知识和方法。通过全面而细致的分析和排查,才能准确找到问题的根源并制定相应的解决方案。原创 2024-10-11 21:47:56 · 500 阅读 · 0 评论 -
大厂面试真题-StringBuffer怎么实现的线程安全?所有的方法都是这么实现的吗?
String:不可变字符串,适用于不需要频繁修改字符串内容的场景。:可变字符序列,效率高但线程不安全,适用于单线程环境下需要频繁修改字符串内容的场景。:可变字符串,线程安全但效率略低,适用于多线程环境下需要频繁修改字符串内容的场景。在实际应用中,应根据具体需求选择合适的字符串处理类,以优化程序的性能和可靠性。原创 2024-10-10 21:43:56 · 291 阅读 · 0 评论 -
大厂面试真题-说说String、StringBuilder和StringBuffer的区别
String:不可变字符串,适用于不需要频繁修改字符串内容的场景。:可变字符序列,效率高但线程不安全,适用于单线程环境下需要频繁修改字符串内容的场景。:可变字符串,线程安全但效率略低,适用于多线程环境下需要频繁修改字符串内容的场景。在实际应用中,应根据具体需求选择合适的字符串处理类,以优化程序的性能和可靠性。原创 2024-10-10 21:42:53 · 672 阅读 · 0 评论 -
大厂面试真题-什么是服务的雪崩效应,怎么解决
在微服务架构系统中通常会有多个服务,在服务调用中如果出现基础服务故障,可能会导致级联故障, 即一个服务不可用,可能导致所有调用它或间接调用它的服务都不可用,进而造成整个系统不可用的情况,这种现象也被称为服务雪崩效应。服务雪崩效应是一种因服务提供者不可用(原因)导致服务调用者不可用(结果),并将不可用逐渐放大的现象。服务雪崩效应示意如图所示,A为服务提供者,B为A的服务调用者,C为B的服务调用者。当服务A因为某些原因导致不可用时,会引起服务B。原创 2024-10-09 19:10:46 · 502 阅读 · 0 评论 -
大厂面试真题-CAS的弊端和规避措施
于预期引用,以及当前印戳是否等于预期印戳,如果全部相等,就以原子方式将引用和印戳的值一。在变量前面追加上版本号,每次变量更新的时候将版。一个比较简单的规避方法为:把多个共享变量合并成一个共享变量来操作。如果长时间不成功(不成功就一直循环执行,直到成功为止),就会给。一致性流量过大,总线将成为瓶颈,这就是所谓的“总线风暴”。操作内存数据时,当数据发生过变化也能更新成功,如操作序列。类来保证引用对象之间的原子性,可以把多个变量放在一个。)只能保证一个共享变量之间的原子性操作。的方式来保证原子操作,但是对多个。原创 2024-10-08 21:50:10 · 434 阅读 · 0 评论 -
大厂面试真题:说一说CMS和G1
它通过引入分区(Region)和分治策略,将堆内存划分为多个固定大小的Region,并独立管理这些Region的垃圾回收过程。需要注意的是,虽然我们将CMS垃圾回收器的过程概括为四个主要步骤,但每个步骤内部可能还包含更细致的子步骤或优化机制。此外,CMS垃圾回收器也面临一些挑战,如浮动垃圾问题(即在并发清除阶段新产生的垃圾无法立即被回收)和空间碎片问题(由于标记-清除算法可能导致内存碎片)。综上所述,CMS和G1各有优劣,在选择垃圾回收器时,应根据具体的应用场景和性能需求进行权衡和选择。原创 2024-10-07 21:03:35 · 988 阅读 · 0 评论 -
大厂面试真题:阿里经典双重检测DCL对象半初始化问题
双重检测锁是一种用于实现单例模式的线程安全方法。在多线程环境下,它允许延迟对象的初始化,同时减少同步的开销。其基本思路是:在第一次检查对象是否已经被实例化时,不需要加锁,只有在对象尚未被实例化的情况下,才进入同步块进行加锁和实例化操作。原创 2024-10-07 20:10:16 · 633 阅读 · 0 评论 -
大厂面试真题:说一下MySQL和NoSQL数据库的区别
数据模型:扩展性:一致性:查询能力:数据类型:应用场景:原创 2024-10-07 17:49:11 · 661 阅读 · 0 评论 -
大厂面试真题-说说synchronized的锁升级过程
在Java中,关键字是实现线程同步的一种方式,但其性能受到锁开销的影响。为了减少锁带来的性能损失,Java虚拟机(JVM)设计了一套锁升级机制。这一机制使得锁可以从无锁状态逐渐升级至重量级锁,以根据竞争程度动态调整锁策略,达到最佳性能平衡。以下是。原创 2024-10-07 16:41:47 · 870 阅读 · 0 评论 -
大厂面试真题:简单说下Redis的bigkey
bigkey是指key对应的value所占的内存空间比较大,例如一个字符串类型的value可以最大存到512MB,一个列表类型的value最多可以存储23-1个元素。如果按照数据结构来细分的话,一般分为字符串类型bigkey和非字符串类型bigkey。字符串类型:体现在单个value值很大,一般认为超过10KB就是bigkey,但这个值和具体的OPS相关。非字符串类型:哈希、列表、集合、有序集合,体现在元素个数过多。bigkey无论是空间复杂度和时间复杂度都不太友好,下面我们将介绍它的危害。原创 2024-09-22 19:39:17 · 1426 阅读 · 0 评论 -
史上最全!!!大厂面试真题-SpringBoot自动装配的原理是什么?
SpringBootApplication注解这是一个组合注解,包含了@SpringBootConfiguration、@EnableAutoConfiguration和@ComponentScan三个核心注解。:表明该类是一个配置类,它实际上是一个@Configuration注解的派生注解,用于定义Bean和配置应用程序。:开启自动配置功能,通过@Import注解引入AutoConfigurationImportSelector类,该类负责扫描并加载自动配置类。原创 2024-09-22 13:04:35 · 1379 阅读 · 0 评论 -
大厂面试真题:SpringBoot的核心注解
其实理解一个注解就行了@SpringBootApplication,我们的启动类其实就加了这一个但是这么答也不行,因为面试官要的答案肯定不止这一个我们打开SpringBootApplication的源码,会发现上面加了一堆的注解相对而言比较重要是下面三个,但是ComponentScan这个是SpringContext里本身带的并不是SpringBoot引入的,这个注解的作用是我们再解释一下其他两个注解的作用。原创 2024-09-22 11:42:02 · 839 阅读 · 0 评论 -
面试真题:谈一谈Mysql的分库分表
水平分表尽管拆分了表,但子表都还是在同一个数据库实例中,只是解决了单一表数据量过大的问题,并没有将拆分后的表分。对数据分离,剥离为多个数据库,像订单、支付、会员、积分相关等表放在对应的订单库、支付库、会员库、积分库。:是把同一个表按一定规则拆分到不同的数据库中,每个库可以位于不同的服务器上,以此实现水平扩展,是一种。:针对业务上字段比较多的大表进行的,一般是把业务宽表中比较独立的字段,或者不常用的字段拆分到单。,把一张大数据量的表按一定规则,切分成多个结构完全相同表,而每个表只存原表的一。原创 2024-09-19 15:59:27 · 1143 阅读 · 0 评论 -
面试真题-IO系列概念
BIO同步并阻塞,服务器实现一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,没处理完之前此线程不能做其他操作(如果是单线程的情况下,我传输的文件很大呢?),当然可以通过线程池机制改善。BIO方式适用于连接数目比较小且固定的架构,这种方式对服务器资源要求比较高,并发局限于应用中JDK1.4以前的唯一选择,但程序直观简单易理解。NIO同步非阻塞,服务器实现一个连接一个线程,即客户端发送的连接请求都会注册到多路复用器上,多复用器轮询到连接有I/O请求时才启动一个线程进行处理。原创 2024-09-15 16:05:45 · 499 阅读 · 0 评论 -
为什么阿里开发手册不允许使用系统提供的线程池?
使用有界队列:限制任务队列的大小,避免OOM。合理配置线程池参数:根据系统资源和业务需求合理配置线程池的核心线程数、最大线程数、队列大小等参数。监控和调优:对线程池的使用情况进行监控,并根据监控结果进行调优,以确保系统稳定运行。避免使用Executors直接创建线程池:因为Executors创建的线程池可能使用无界队列或允许创建大量线程,存在风险。建议直接使用ThreadPoolExecutor类来创建线程池,以便更灵活地配置参数。原创 2024-09-14 16:59:26 · 431 阅读 · 0 评论 -
三高基本概念之-并发和并行
并行(Parallel):并行是指两个或多个事件在同一时刻发生,即这些事件在微观和宏观上都是同时进行的。在并行处理中,每个任务或指令被分配给不同的处理器(或处理器核心),这些处理器可以同时处理这些任务,从而显著提高整体处理速度。并发(Concurrency):并发则是指两个或多个事件在同一时间间隔内发生,使得在宏观上具有多个事件同时进行的效果。但实际上,在微观层面上,这些事件是交替执行的。在单处理器系统中,并发通过时间片轮转等方式实现多个任务的快速切换,使得每个任务看起来像是同时进行的。原创 2024-09-13 18:47:09 · 219 阅读 · 0 评论 -
分享面试题- DDD中事务处理放在哪一层?
不说啥厂,你们懂的原创 2024-09-11 21:09:25 · 250 阅读 · 0 评论 -
JVM调优指标
一些常见的系统指标响应时间(RT)响应时间是指系统对请求作出响应的时间。直观上看,这个指标与人对软件性能的主观感受是非常一致的,因为它完整地记录了整个计算机系统处理请求的时间。由于一个系统通常会提供许多功能,而不同功能的处理逻辑也千差万别,因而不同功能的响应时间也不尽相同,甚至同一功能在不同输入数据的情况下响应时间也不相同。所以,在讨论一个系统的响应时间时,人们通常是指该系统所有功能的平均时间或者所有功能的最大响应时间。当然,往往也需要对每个或每组功能讨论其平均响应时间和最大响应时间。原创 2024-09-11 17:01:09 · 758 阅读 · 0 评论 -
面试题-CMS和G1的区别是什么
CMS(Concurrent Mark Sweep,并发标记清除)和G1(Garbage-First Garbage Collector)是Java虚拟机(JVM)中两种不同的垃圾收集器,它们在多个方面存在显著的差异。原创 2024-09-10 14:33:30 · 604 阅读 · 0 评论 -
Leetcode面试经典150题-69.X的平方根
Leetcode面试经典150题-69.X的平方根,同时也是字节面试高频题频次排名60左右高的题,务必掌握原创 2024-09-08 11:17:36 · 467 阅读 · 0 评论 -
Leetcode面试经典150题-215.数组中的第K个最大元素
Leetcode面试经典150题-215.数组中的第K个最大元素,同时也是字节面试高频题频次第30高的题(来自leetcode),务必掌握原创 2024-09-08 11:12:04 · 441 阅读 · 0 评论 -
Leetcode面试经典150题-2.两数相加
Leetcode面试经典150题-2.两数相加,同时也是字节面试高频题频次第9高的题,务必掌握原创 2024-09-07 10:22:28 · 566 阅读 · 0 评论 -
Leetcode面试经典150题-76.最小覆盖子串
Leetcode面试经典150题-76.最小覆盖子串,同时也是字节面试高频题频次第20左右高的题,务必掌握原创 2024-09-07 10:18:39 · 543 阅读 · 0 评论 -
Leetcode面试经典150题-128.最长连续序列-递归版本另解
Leetcode面试经典150题-128.最长连续序列,同时也是字节面试高频题频次第15高的题,务必掌握,这个是递归版本原创 2024-09-07 10:12:58 · 503 阅读 · 0 评论 -
Leetcode面试经典题-24.两两交换链表中的节点
Leetcode面试经典题-24.两两交换链表中的节点,字节高频面试题排名前20原创 2024-09-06 21:39:59 · 489 阅读 · 0 评论 -
Leetcode面试经典150题-260.只出现一次的数字III
Leetcode面试经典150题-Leetcode面试经典150题-260.只出现一次的数字III,同时也是字节面试高频题,没空数排第几了。。。,务必掌握原创 2024-09-01 12:47:52 · 495 阅读 · 0 评论 -
Leetcode面试经典150题-137.只出现一次的数字II
Leetcode面试经典150题-Leetcode面试经典150题-137.只出现一次的数字II,同时也是字节面试高频题,没空数排第几了。。。,务必掌握原创 2024-09-01 12:06:59 · 323 阅读 · 0 评论 -
Leetcode面试经典150题-136.只出现一次的数字
Leetcode面试经典150题-Leetcode面试经典150题-136.只出现一次的数字,同时也是字节面试高频题,没空数排第几了。。。,务必掌握原创 2024-09-01 11:01:51 · 412 阅读 · 0 评论 -
Leetcode面试经典150题-13.罗马数字转整数
Leetcode面试经典150题-13.罗马数字转整数,同时也是字节面试高频题频次第39高的题(Leetcode统计的近30天),务必掌握原创 2024-08-26 07:10:13 · 311 阅读 · 0 评论