- 博客(433)
- 收藏
- 关注

原创 Spring Boot面试50问:这些高频考点搞不定,你连BAT的门都摸不着!
在90%的Java岗位JD(职位描述)中,Spring Boot都是硬性要求!!
2025-06-05 19:53:03
889

原创 2025年Java秋招面试必看的 | Spring 专题篇
总计有1000多道面试题,包含了MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Java 并发编程、Java基础、Spring、微服务、Linux、Spring Boot 、Spring Cloud、RabbitMQ、kafka等16个专题技术点,都是小编在今年金三银四总结出来的面试真题,已经有很多粉丝靠这份PDF拿下众多大厂的offer,今天在这里总结分享给到大家!在客户端对象的情况下,目标对象和代理对象是相同的。
2025-06-04 15:55:05
1055

原创 设计模式面试题(已整理市面最全JAVA面试宝典!)
设计模式(Design Pattern) 是一套被反复使用、广泛认可的 代码设计经验总结,它提供了 可复用的解决方案,用于解决软件开发中常见的编程问题。设计模式不是具体的代码,而是一种 最佳实践的指导原则,帮助开发者写出更 可维护、可扩展、可复用 的代码。面试必备技能设计模式分类设计模式的六大原则 开放封闭原则(Open Close Principle)里氏代换原则(Liskov Substitution Principle)依赖倒转原则(Dependence Inversion Principle)接
2025-04-17 17:14:22
837

原创 面试妥了~12W字Java面试题总结(附答案)横扫大厂offer
网上的 Java面试题文章有非常多,但是大部分都乱七八糟、内容涵盖不全,让大部分小伙伴耗费了大量时间去寻找资料。上周有小伙伴私信我,让小编出一套完整的Java面试资料,作为宠粉的小编,这不得给粉丝们整上?这几天我也去牛客、脉脉等平台看了一下面试者分享的面试题目,
2022-11-07 15:16:56
2915
2
原创 分库分表:实现永不迁移数据与避免热点的艺术
中大型项目中,一旦遇到数据量比较大,小伙伴应该都知道就应该对数据进行拆分了。有垂直和水平两种。垂直拆分比较简单,也就是本来一个数据库,数据量大之后,从业务角度进行拆分多个库。如下图,独立的拆分出订单库和用户库。水平拆分的概念,是同一个业务数据量大之后,进行水平拆分。上图中订单数据达到了4000万,我们也知道mysql单表存储量推荐是百万级,如果不进行处理,mysql单表数据太大,会导致性能变慢。使用方案可以参考数据进行水平拆分。把4000万数据拆分4张表或者更多。当然也可以分库,再分表;
2025-06-25 10:25:36
182
原创 面试必看:阿里巴巴开源互联网Java工程师最新1000道面试题集!
随着Java行业的快速发展和高薪前景的吸引,大量人群涌入培训市场,包括待业人员、对现有工作不满者、专业错位的大学生、急需资金者以及自主学习爱好者。然而这种群体性涌入催生了培训机构的流水线式教学模式,通过标准化课程流程和高昂学费输出学员,导致多数人缺乏扎实的技术积累——某个知识点的疏漏往往引发连锁学习障碍。每年校招季,大量求职者虽在简历中罗列华丽技能标签,但实际面试中却暴露核心技术能力不足的问题(仅少数具备真才实学)。为筛选优质人才,企业不得不持续抬高招聘门槛,使得技术基础相对薄弱的求职者逐渐失去就业机会。
2025-06-24 17:04:56
144
原创 阿里巴巴开源SpringCloudAlibaba笔记:微服务精通指南!
Spring-Cloud-Alibaba 项目由阿里巴巴的开源组件和多个阿里云产品组成,旨在实现和公开众所周知的 Spring 框架模式和抽象,为使用阿里巴巴产品的 Java 开发者带来 Spring-Boot 和 Spring-Cloud 的好处。系统架构演变微服务架构介绍SpringCloudAlibaba介绍垂直应用架构微服务架构的常见解决方案。
2025-06-24 16:21:19
344
原创 阿里巴巴开源最新1000道互联网Java工程师面试题!
对于程序员来说,春招的失利意味着在金九银十要打一场“硬战”,可又有多少人做好了面试的准备呢?对于一线互联网公司的面试,你又了解多少呢?
2025-06-24 16:12:41
87
原创 GitHub热榜Java面试笔记2025:八股文天花板,裸辞底气十足!
今年的java岗位竞争可以说是相当的激烈,无论是一面还是二面对java程序员的理论知识和技术功底要求都很高。而我今天分享给大家的“java面试笔记2023”无论你是正在面试还是准备跳槽都会对你大有益处。失败和胜利都是平常之事,而我们大部分的时候都是被失败贯穿人生的。所以各位就算是面试失败也不必灰心,通过也不必太得意。因为谁也不知道未来迎接我们的会不会是更好的人生。需要这份 《最全阿里巴巴 Java八股文面试核心架构笔记》 的小伙伴 ——
2025-06-24 15:58:30
47
原创 2025 Java面试八股文PDF大全:700道高频面试题限时分享
2025年经济复苏,当前已进入金三银四跳槽旺季,不知各位Java架构师是否寻得理想职位。为提供优质资源,我自1月起便着手整理近年最高频的Java面试题,耗时三天两夜,内容极为丰富。今天呢,小编就通过这篇文章把这几月整理的Java面试八股文大全PDF版分享给大家.有需要的伙伴获取即可!而这份Java八股文小编给大家分成了5大份,26小份。里面更是包含了700多道Java高频面试题。多说无益,看内容。
2025-06-24 15:51:56
85
原创 Spring框架中自定义注解的实现方法
在我参与的一个金融系统重构项目中,遇到了一个典型的场景:需要对所有敏感接口进行统一的权限校验。最初的实现是在每个 Controller 方法中添加重复的权限判断代码,导致代码冗余且难以维护。后来通过自定义 Spring 注解结合 AOP,完美解决了这个问题,不仅消除了重复代码,还让权限控制变得灵活可配置。自定义注解是 Spring 框架中非常强大的扩展机制,它允许我们在不改变原有代码结构的前提下,通过声明式的方式为程序添加额外的功能。
2025-06-24 15:14:35
310
原创 Java程序员,金九银十你准备好面试了吗?
我们做技术的,应该要认真对待我们的每一次面试,不打无准备之战,要确保每次面试都能给我们自身带来提升。此外,由于篇幅有限,以上有需要的小伙伴可以评论区滴滴即可!
2025-06-24 14:24:56
66
原创 2025版【Java并发编程面试题】全收录(两万字含答案解析)
多线程会共同使用一组计算机上的 CPU,而线程数大于给程序分配的 CPU 数量时,为了让各个线程都有执行的机会,就需要轮转使用 CPU。不同的线程切换使用 CPU发生的切换数据等就是上下文切换。ThreadGroup 类,可以把线程归属到某一个线程组中,线程组中可以有线程对象,也可以有线程组,组中还可以有线程,这样的组织结构有点类似于树的形式。为什么不推荐使用?因为使用有很多的安全隐患吧,没有具体追究,如果需要使用,推荐使用线程池。
2025-06-22 17:56:11
857
原创 Spring面试题专题129道:全网最全合集附答案解析!
Spring 是一个开源应用框架,旨在降低应用程序开发的复杂度。它是轻量级、松散耦合的。它具有分层体系结构,允许用户选择组件,同时还为 J2EE 应用程序开发提供了一个有凝聚力的框架。它可以集成其他框架,如 Structs、Hibernate、EJB 等,所以又称为框架的框架。Spring 配置文件是 XML 文件。该文件主要包含类信息。它描述了这些类是如何配置以及相互引入的。但是,XML 配置文件冗长且更加干净。如果没有正确规划和编写,那么在大项目中管理变得非常困难。
2025-06-22 17:50:15
722
原创 年薪30万的Java工程师,2025年必须掌握的JVM调优硬核技能!
保存的是程序当前执行的指令的地址(也可以说保存下一条指令的所在存储单元的地址),当 CPU 需要执行指令时,需要从程序计数器中得到当前需要执行的指令所在存储单元的地址,然后根据得到的地址获取到指令,在得到指令之后,程序计数器便自动加 1 或者根据转移指针得到下一条指令的地址,如此循环,直至执行完所有的指令。因此,可以这么说,程序计数器是每个线程所私有的。也是分两阶段,第一阶段从根节点开始标记所有被引用对象,第二阶段遍历整个堆,清除标记对象,并未标记对象并且把存活对象“压缩”到堆的其中一块,按顺序排放。
2025-06-22 17:22:49
974
原创 建议收藏!2025大厂面试真题库(附答案详解)|95%覆盖率助你斩获Offer!
这份面试资料来源于互联网大厂的真实面试内容,每个问题均配有完整详细的答案,避免了网上杂乱资料中常见的缺失或不规范问题。作为我长期积累整理的精品资源,它适合设计,适用于传统和互联网行业。掌握这些技术能显著提升竞争力并获取优厚薪资,希望对您有所帮助。,也不要忘了给博主三连支持一下哈!
2025-06-22 16:55:13
815
原创 2025年最新《Java面试题大全》,一套直接搞定面试!
数据传输的事务定义通常有以下三种级别: (1)最多一次: 消息不会被重复发送,最多被传输一次,但也有可能一次不传输 (2)最少一次: 消息不会被漏发送,最少被传输一次,但也有可能被重复传输. (3)精确的一次(Exactly once): 不会漏传输也不会重复传输,每个消息都传输被一次而 且仅仅被传输一次,这是大家所期望的。
2025-06-20 16:07:51
895
原创 风向标:2025《 Java Offer 收割指南》,找工作涨薪跳槽必备!
其他还有JVM、数据库、消息中间件、分布式、调优、kafka、微服务、SpringBoot、SpringCloud、Redis等等的复习笔记,关于这些Java的面试+学习笔记等之类,我在和几位大佬详细沟通之后,终于整理出了这份最新的《2025 Java offer 收割指南》,涵盖各大厂最新面试题合集,部分题目还是有点难度的!关于刷题方面,最近我整理了一份Java高级面试知识整理(包括:消息队列、缓存、MySQL、高并发、分布式、高可用、微服务等)。七、Mysql (底层原理 + 面试题)2025版。
2025-06-20 16:00:03
231
原创 金九银十求职必备:《Java权威面试指南(阿里版)》——面试通关轻松上手!
这份面试题是根据周边朋友的经历整合的,共30页,每个问题都已给出详细的解答。注:《Java权威面试指南(阿里版)》分七大部分:分布式、中间件、大数据与高并发、数据库、设计模式与实践、数据结构与算法、面试题举例等逐一攻克,迅速造火箭应对面试官!全文会一一详细展现,需要配套Java面试题指南的伙伴 【篇末vx小卡片】备注自取即可无偿分享哈!
2025-06-19 17:54:19
482
原创 《Java权威面试指南(阿里版)》:狂刷冲刺“金九银十”,稳了!
这份面试题是根据周边朋友的经历整合的,共30页,每个问题都已给出详细的解答。写在最后因为篇幅有限,就先展示到这里了。关于刷题方面,最近我整理了一份Java高级面试知识整理(包括:消息队列、缓存、MySQL、高并发、分布式、高可用、微服务等)。其他还有JVM、数据库、消息中间件、分布式、调优、kafka、微服务、SpringBoot、SpringCloud、Redis等等的复习笔记,关于这些Java的面试+学习笔记等之类,
2025-06-19 16:27:24
777
原创 2025年Java面试题金九银十精选集,看完应付大多面试!
随着金九银十的临近,这正是一年中跳槽的最佳时机。众多求职者已蓄势待发,准备迎接多场面试挑战。为此,我们特别整理了精选面试题,助力大家顺利求职。,也不要忘了给博主三连支持一下哈!
2025-06-19 15:50:56
584
原创 50道Redis面试题:全网最全,以后面试再也不怕问Redis了!
Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。
2025-06-19 15:16:23
732
原创 从焦头烂额到游刃有余:3招Java基础技巧搞定复杂用户列表高效管理
就这样,靠着对、正则表达式、Object方法重写和包装类的重新审视和深入使用,我不仅解决了项目中所有棘手的问题,还把代码写得既高效又优雅。这个过程让我深刻体会到,作为一名开发者,我们不仅要会用各种酷炫的框架,更要能把Java这些最基础、最核心的“内功”修炼扎实。它们就像武林高手的马步和拳法,看似简单,却是所有高深招式的基础。希望我这次“踩坑”和“恍然大悟”的经历能对你有所启发。下次遇到难题时,不妨也回头看看这些基础工具,它们的力量,远超你的想象!好了,今天就聊到这。继续搬砖了!大家加油!😉。
2025-06-19 14:34:52
567
原创 Nest.js开发与Java开发对比:哪个更适合学习?
我一直认为技术的不断探索和实践是进步的源泉,近年来,我深入研究大数据算法的应用与发展,尤其在数据可视化和交互体验方面,取得了显著的成果。现在,我担任全栈工程师,拥有CSDN博客专家认证及阿里云专家博主称号,希望通过分享我的技术心得与经验,帮助更多人提升自己的技术水平,成为更优秀的开发者。其他还有JVM、数据库、消息中间件、分布式、调优、kafka、微服务、SpringBoot、SpringCloud、Redis等等的复习笔记,关于这些Java的面试+学习笔记等之类,等基础前端技术,并深入掌握。
2025-06-19 14:17:01
944
原创 SpringCloud实战调试:安全调用外部服务并隐藏本地环境
平时我们在本地调试的时候,如果涉及到多个服务的时候,我们需要启动所有相关的服务,这是一个很不爽的过程。那么有没有只需要启动我要调试的服务,其他服务直接调用测试环境或者开发环境的就可以了呢?就可以享受测试环境的所有的服务。但是这会有一个问题,你的服务同时也暴露出去,测试人员在测试的时候调用到你本地不稳定的服务(可能在开发中)。真是世界上没有免费的午餐。我可以使用线上的服务,我又不暴露我本地的服务给测试环境。测试同事此时的心情应该是跟下面一样的:开发小哥,什么垃圾系统这么不稳定,来来来,我们先出去干一架。
2025-06-19 13:56:39
294
原创 面试加分项:手动实现不可重入公平锁!
源码非常简单,直接通过UNSAFE 来唤醒指定的线程,但是要注意一个非常关键的细节,就是这里指定了唤醒的线程,这个跟Object 中的notify 完全不一样的特性,synchronized 的锁是加在对象的监视锁上的,线程会阻塞在对象上,在唤醒的时候没办法指定唤醒哪个线程,只能通知在这个对象监视锁 上等待的线程去抢这个锁,具体是谁抢到这把锁是不可预测的,这也就决定了synchronized 是没有办法实现类似上面这个先进先出的公平锁。假如先后来了两个线程A和B,这时候A先到锁,这个时候B阻塞。
2025-06-19 13:51:10
880
原创 Java泛型详解与阿里FastJSON源码中的巧妙运用
好了,重点来了,给个真正的泛型方法定义出来返回值和public 之间的< T> 是泛型方法的必要条件,并且这个和类的定义的泛型E 是可以同名(一般设置不同名),并且他们之间是独立的。< T> 可以多个,多个用逗号隔开,列如 <T,V>返回值不一定是T,可以是任意的类型,如Long方法中的参数也不一定是T,可以是任意的类型,如Long。只是泛型方法一般返回值类型和参数有其中一个是定义的泛型(全是具体类型就没意义了)
2025-06-19 13:41:55
896
原创 MySQL RC隔离级别惊现间隙锁:是bug吗?
所以当前的实现如果gap 上存在至少一个相同的record(包括删除但是还没被回收的记录,因为删除只是做了个删除的墓碑标识,后面再回收), 那么需要给整个range 都加上gap X lock, 加了gap X lock 以后就可以禁止其他事务在这个gap 区间插入数据, 也就是通过lock 来保证第一步和第二步的原子性.最后还得再<5,5> 上增加gap 锁(假如这个5,5变成很大,那么意味着锁的gap 会非常大,影响并发性能),以防止<3,19>之后的数据被插入。死锁的日志是这样子的。
2025-06-19 13:37:32
770
原创 源码级别+操作系统级别解密RocketMQ 存储原理
当时是所有人排成一个队列,然后前面就是一个传送带。上游的人做完之后,就会放到传送带里面传送给下一个人继续组装。
2025-06-19 13:34:18
792
原创 ThreadLocal面试连环轰炸:深度吃透源码细节与设计原理
ThreadLocal 是面试中的高频考点,其复杂程度足以引发面试官的深度追问。起初我以为自己很了解它,但深入源码后,接连暴露的技术细节(如弱引用、防内存溢出机制、开放地址法解决哈希冲突、内部类关系)让我一度感到困惑。最终,通过逐行分析代码并绘制大量图表才彻底理解。这也启示我们:面对复杂难题时,当思维陷入僵局,画图将问题可视化是突破理解瓶颈的有效方法。
2025-06-19 13:31:49
682
原创 面试官抛出JVM调优问题,我当场笑了!
2. 栈上分配:该对象只会在方法内部被访问,直接将对象分配在「栈」中(Java默认是将对象分配在「堆」中,是需要通过JVM垃圾回收期进行回收,需要损耗一定的性能,而栈内分配则快很多):在我的理解下,调优JVM其实就是在「理解」JVM内存结构以及各种垃圾收集器前提下,结合自己的现有的业务来「调整参数」,使自己的应用能够正常稳定运行。:比如(-Xmx:设置堆的最大值、-Xms:设置堆的初始值、-Xmn:表示年轻代的大小、-XX:SurvivorRatio:伊甸区和幸存区的比例等等)
2025-06-19 11:10:27
776
原创 面试官问:Kafka为什么传输速度那么快?该怎么回答
Kafka速度的秘诀在于,它把所有的消息都变成一个批量的文件,并且进行合理的批量压缩,减少网络IO损耗,通过mmap提高I/O速度,写入数据的时候由于单个Partion是末尾添加所以速度最优;读取数据的时候配合sendfile直接暴力输出。关于刷题方面,上面我整理了一份Java高级面试知识整理(包括:消息队列、缓存、MySQL、高并发、分布式、高可用、微服务等)。
2025-06-18 16:36:10
772
原创 面试题:乐观锁与悲观锁 并发控制的核心机制解析
在多线程与分布式系统的世界中,数据竞争如同暗流涌动的旋涡。当多个操作同时试图改写同一份数据时,如何确保结果的准确性?这就是并发控制机制存在的意义——在效率与安全的天平上寻找精妙平衡点。悲观锁采用"未雨绸缪"的策略,假设每次数据访问都可能引发冲突,通过预先加锁的方式独占资源。这种机制常见于数据库的语句,如同为数据资源提前设置警戒线,确保操作序列的绝对安全。乐观锁则展现"后发制人"的智慧,默认多数场景不会发生冲突,仅在最终提交时校验数据版本。
2025-06-18 16:25:36
906
原创 拼多多技术面试精选:Redis实现海量用户UV统计方案
我们知道,对于一个32位的int,如果我们只用来记录id,那么只能够记录一个用户,但如果我们转成2进制,每位用来表示一个用户,那么我们就能够一口气表示32个用户,空间节省了32倍!对于拼多多这种多个页面都可能非常多访问量的网站,如果所需要的数量不用那么准确,可以使用概率算法,事实上,我们对一个网站的UV的统计,1亿跟1亿零30万其实是差不多的。占用内存更小,查询方便,可以指定查询某个用户,数据可能略有瑕疵,对于非登陆的用户,可能不同的key映射到同一个id,否则需要维护一个非登陆用户的映射,有额外的开销。
2025-06-18 16:19:38
608
原创 MySQL核心考点深度剖析:这份高频面试指南助你脱颖而出
例2(同样的条件, 第1次和第2次读出来的记录数不一样 ):假某工资单表中工资大于3000的有4人,事务1读取了所有工资大于3000的人,共查到4条记录,这时事务2 又插入了一条工资大于3000的记录,事务1再次读取时查到的记录就变为了5条,这样就导致了幻读。指在一个事务内多次读同一数据。例1(同样的条件, 你读取过的数据, 再次读取出来发现值不一样了 ):事务1中的A先生读取自己的工资为 1000的操作还没完成,事务2中的B先生就修改了A的工资为2000,导 致A再读自己的工资时工资变为 2000;
2025-06-18 16:10:06
1007
原创 阿里云ECS实例CPU使用率飙升至100%的定位与解决方案
很多问题的排查和我们的猜想结果一样,但是有些例外的情况。比如这次我想到的原因都一一排除,但是问题也是在一步步排查中,逐步被发现的。
2025-06-18 15:50:03
602
原创 分库分表四大夺命考题:卡住最后一题直接出局!
分表,你考虑一下,你如果哪怕是拆到每个库里去,并发和容量都ok了,但是每个库的表还是太大了,那么你就分表,将这个表分开,保证每个表的数据量并不是很大。水平拆分的意思,就是把一个表的数据给弄到多个库的多个表里去,但是每个库的表结构都一样,只不过每个库表放的数据是不同的,所有库表的数据加起来就是全部数据。range 来分,好处在于说,扩容的时候很简单,因为你只要预备好,给每个月都准备一个库就可以了,到了一个新的月份的时候,自然而然,就会写新的库了;缺点,但是大部分的请求,都是访问最新的数据。
2025-06-18 15:35:58
572
原创 消息队列顺序性保障的实践难点解析——以Kafka/RocketMQ为例
经过这篇文章的分析后,尝试回答读者的问题:1、生产端:1)生产端必须保证单线程同步发送,将顺序消息发送到同一个分区(当然如果发生了文中所描述的 Kafka 集群中意外情况,还是有可能会打乱消息的顺序,因此无论是 Kafka 还是 RocketMQ 都无法保证严格的顺序消息);2、消费端:2)多分区的情况下:如果想要保证 Kafka 在消费时要保证消费的顺序性,可以使用每个线程维护一个 KafkaConsumer 实例,并且是一条一条地去拉取消息并进行消费(防止重平衡时有可能打乱消费顺序);
2025-06-18 15:25:38
989
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人