- 博客(410)
- 收藏
- 关注
原创 史上最全 499 道 Java 面试题:JVM+ 分布式 + 算法 + 锁 +MQ+ 微服务 + 数据库
JAVA 中的几种基本数据类型是什么,各自占用多少字节。String 类能被继承吗,为什么。String,Stringbuffer,StringBuilder 的区别。ArrayList 和 LinkedList 有什么区别。讲讲类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字段,当 new 的时候,他们的执行顺序。
2025-12-23 15:45:27
394
原创 拼多多三面挂了!问 “索引明明建了,为什么不生效?”,我背了最左前缀,面试官:你只懂皮毛。
兄弟,数据库这块,EXPLAIN是你的亲爹。代码写完了,上线前必须拿 EXPLAIN 跑一遍。看到type = ALL,赶紧改;看到,赶紧改;看到key_len不对(没完全命中联合索引),赶紧改。别信什么“理论上应该走索引”,MySQL 优化器有时候比你想象的“聪明”,也比你想象的“蠢”。EXPLAIN。
2025-12-23 15:42:43
533
原创 【Java 经典面试 800 题】面试必备,查漏补缺;多线程 +spring+JVM 调优 + 分布式 +redis+ 算法
春招,秋招,社招,我们 Java 程序员的面试之路,是挺难的,过了 HR,还得被技术面,鄙人在去各个厂面试的时候,经常是通宵睡不着觉,头发都脱了一大把,还好最终侥幸能够入职一个独角兽公司,安稳从事喜欢的工作至今...近期也算是抽取出大部分休息的时间,为大家准备了一份通往大厂面试的小捷径,准备了一整套 Java 复习面试的刷题以及答案,我知道很多朋友不知道怎么复习,不知道学习过程中哪些才是重点,其实,你们经历过的事情,鄙人也经历过,正应为经历过,所以不愿意看到还有万千学子为此伤神,
2025-12-22 14:44:36
661
原创 网易二面:CPU狂飙900%,该怎么处理?
陈某提示:大家介绍场景的时候,就说自己主要涉及了两个场景, Java进程飙升900%、MySQL进程飙升900%两种场景,其实,这两个场景就足够讲半天了, 其他的,使用规避技巧规避一下就行。转换后的结果分别为7665,由于导出的线程快照中线程的nid是16进制的,而16进制以0x开头,所以对应的16进制的线程号nid为0x7665。但是,一旦高并发场景,要么走到了死循环,要么就是在做大量的 GC, 容易出现这种 CPU 飙升的情况,CPU飙升900%,是完全有可能的。目测数据量不大,也就几百万条而已。
2025-12-22 14:33:57
693
原创 BAT 大厂 java 程序员面试必问:JVM+Spring+ 分布式 +tomcat+MyBatis
篇幅限制下面就只能给大家展示小册部分内容了。整理了一份核心面试笔记包括了:Java面试、Spring、JVM、MyBatis、Redis、MySQL、并发编程、微服务、Linux、Springboot、SpringCloud、MQ、Kafka 面试专题需要全套面试笔记及答案点击下方名片获取。
2025-12-21 14:48:46
639
原创 赞!idea 如何单窗口打开多个项目?
我的笔记本连接了2块显示器,加上自带的那块,一共是3块。没别的原因,每天都在无数个项目中切换,IDEA的窗口开的多,就把它平铺在桌面上。当想要切换到某个项目的时候,还得瞪大了眼睛,从无数的窗口中找到你所想要的。当你脑子忙的抽筋的时候,你就会发现你永远找不到它。打工人的工具没有这么低级。我们可以把多个项目同时在一个窗口打开。首先,我们建立一个空的项目,随便起个名字,到时候能打开就行。接下来,就可以在maven选项卡里加入我们所需要的项目。从文件目录中,选择对应的pom.xml文件就可以了。
2025-12-21 14:47:11
115
原创 一周吃透 Java 面试八股文(2025年12月整理)
所有的面试题目都不是一成不变的,上面的面试题只是给大家一个借鉴作用,最主要的是给自己增加知识的储备,有备无患。上面分享的 2025 最新 1000+Java 面试题的答案都整理成了 PDF 文档。最新 2025 整理收集的一些 Java 学习资料(都整理成文档),有很多干货,包含 mysql,netty,spring,线程,spring cloud 等详细讲解,也有详细的学习规划图,面试题整理等,人生短暂,别稀里糊涂的活一辈子,不要将就。
2025-12-19 15:08:02
881
原创 SpringBoot+Elasticsearch实现高效全文搜索
通过这个简单的示例,你已经成功地将Elasticsearch集成到了Spring Boot应用程序中。这使得你能够轻松地实现全文搜索功能,提升了应用程序对大量数据的管理和检索效率。当然,根据具体业务需求,你还可以进一步优化和扩展这个基础架构,使用Elasticsearch提供的更高级功能。希望这篇文章能够帮助你在Spring Boot项目中利用Elasticsearch实现强大的全文搜索功能。
2025-12-19 15:03:08
458
原创 Java中常见面试题及其答案总结
线程私有的,与线程在同一时间创建。栈的大小可以是固定的,或者是动态扩展的。子类继承了父类原有的方法,但有时子类并不想原封不动的继承父类中的某个方法,所以在方法名,参数列表,返回类型(除过子类中方法的返回值是父类中方法返回值的子类时)都相同的情况下, 对方法体进行修改或重写,这就是重写。JVM内存管理最大的一块,对被线程共享,目的是存放对象的实例,几乎所欲的对象实例都会放在这里, 当堆没有可用空间时,会抛出OOM异常.根据对象的存活周期不同,JVM把对象进行分代管理,由垃圾回收器进行垃圾的回收管理。
2025-12-18 15:36:52
745
原创 Git 回滚已 Push 的代码?一堆人不会。。。
如果我们有几十次甚至上百次的记录,一次次的单击回退不仅费时费力而且还留下了每次的回退记录,我个人觉得。有时候,我们可能会不小心将错误的代码 Push 到远程仓库,或者想要在本地回退到之前的某个版本重新开发。如果你的错误代码不是很多,那么你其实可以通过与你想要恢复到的commit进行对比,然后手动删除错误代码,然后删除不同的代码。需要注意的是对于一些被保护的分支,这个操作是不能进行的。新建分支的操作仅仅增加了一个分支,既能保留原来的版本,又能安全回退到想要回退的版本,同时不会产生太多的回退记录。
2025-12-18 14:54:12
672
原创 建议Java后端面试都准备到这种程度再去...
公司也不是大爷,想要什么样的员工就有什么样的员工,还要看公司是否有实力能否吸引优秀的人才,这是一个相互选择相互尊重的过程,如果失败了,很多时候不是你个人能力的问题,真心不是你不够优秀,也可能是你过去做的领域和现在的岗位不够匹配,也可能是自己太优秀而公司只想要一个非常初级的人员,平常心对待面试即可。最后还有一点小经验分享,我说的不一定对,但真的是经验,经常看到各种社区里有人会问面试是否还有后续的问题,互联网公司,如果你只面了一轮,面试官没有明确约你后续面试时间,让你回去等通知,那基本就是凉凉了。
2025-12-17 14:31:09
638
原创 2025年12月面试题100+大全(合适各级Java人员)
伪共享是多线程系统(每个处理器有自己的局部缓存)中一个众所周知的性能问题。伪共享发生在不同处理器的上的线程对变量的修改依赖于相同的缓存行,如下图所示:伪共享问题很难被发现,因为线程可能访问完全不同的全局变量,内存中却碰巧在很相近的位置上。如其他诸多的并发问题,避免伪共享的最基本方式是仔细审查代码,根据缓存行来调整你的数据结构。Busy spin 是一种在不释放 CPU 的基础上等待事件的技术。它经常用于避免丢失 CPU 缓存中的数据(如果线程先暂停,之后在其他CPU上运行就会丢失)。
2025-12-16 16:12:30
610
原创 面试官问MyBatis/OpenFeign的原理?我手搓了个MyHttp怼回去!(反八股版)
好像没啥可说的了,用AI生成一段吧:写到这,咱们的 “MyHttp” 就彻底跑通了 —— 从注解定义到动态代理拦截,再到 Spring 自动注入,核心逻辑和 OpenFeign、MyBatis 的接口代理思想完全一致。可能有人会说:“有现成的框架用,为啥还要手搓?” 答案很简单:面试时,“会用” 只能拿及格分,“懂原理 + 能手搓” 才能拿 Offer;工作中,遇到框架适配问题时,底层原理才是你解决问题的底气。
2025-12-16 16:07:22
694
原创 Java面试题及答案总结(互联网大厂新版)
例如,人要在黑板上画圆,这一共涉及三个对象:人、黑板、圆,画圆的方法要分配给哪个对象呢?由于画圆需要使用到圆心和半径,圆心和半径显然是圆的属性,如果将它们在类中定义成了私有的成员变量,那么,画圆的方法必须分配给圆,它才能访问到圆心和半径这两个属性,人以后只是调用圆的画圆方法、表示给圆发给消息而已,画圆这个方法不应该分配在人这个对象上,
2025-12-15 15:51:25
760
原创 别再乱排查了!Kafka 消息积压、重复、丢失,根源基本都是 Rebalance!
Rebalance 是面试的时候常爱问的场景题,它是 Kafka 消费者组的双刃剑,用好能均衡负载,用不好就会引发故障,最后我总结下:触发 Rebalance 主要是消费者或分区变了或超时了;丢数据和重复消费,本质是 offset 提交和 Rebalance 时机没配合好;优化超时参数、手动提交 offset、做好幂等性,是减少影响的关键。!!
2025-12-15 15:08:22
538
原创 Java 面试挂了 7 次后,我终于悟透了大厂面试官的「套路」
"之前我们服务频繁 OOM,jstat 发现 FGC 后老年代内存没降,dump 后用 MAT 看支配树,发现一个 HashMap 占了 70% 内存,追溯引用链是定时任务没清理缓存,加了 expire 机制后解决。:只会背 "IO 密集型设 2 倍 CPU 核数,CPU 密集型设核数 + 1",却讲不出背后逻辑(这是应届生都知道的标准答案)。,附上面试官亲口说的 "淘汰红线" 和 "加分暗号",帮你避开 90% 的坑!:能说出 "缓存和数据库一致性用最终一致性即可,强一致性会牺牲性能"。
2025-12-14 21:09:29
571
原创 拿着顶级服务器跑慢查询,就像开着法拉利送外卖
很多时候,我们为了提升系统响应速度,不惜重金升级 CPU、扩容内存、上 Redis 集群。然而,线上系统的一次次告警,最终查下来的元凶,往往只是一行漏了索引的SELECT *,或者一个写在WHERE条件里的函数计算。面对几十行复杂的JOIN逻辑和晦涩难懂的Explain执行计划,即使是工作几年的后端开发,往往也是“两眼一抹黑”。
2025-12-14 20:53:53
793
原创 2026年全套Java面试合集,终于整理完了!
123.在 hibernate 中 getCurrentSession 和 openSession 的区别是什么?118.在 hibernate 中使用 Integer 和 int 做映射有什么区别?29.在 Queue 中 poll()和 remove()有什么区别?46.线程池中 submit()和 execute()方法有什么区别?53.synchronized 和 volatile 的区别是什么?25.ArrayList 和 LinkedList 的区别是什么?
2025-12-12 14:09:37
683
原创 架构师基操之如何画出好的架构图?
1.前言你是否对大厂展示的五花八门,花花绿绿的架构设计图所深深吸引,当我们想用几张图来介绍下业务系统,是不是对着画布不知从何下手?作为技术扛把子的筒子们是不是需要一张图来描述系统,让系统各个参与方都能看的明白?如果有这样的困惑,本文将介绍一些画图的方法论,让技术图纸更加清晰。2. 架构的定义系统架构是概念的体现,是对物/信息的功能与形式元素之间的对应情况所做的分配,是对元素之间的关系以及元素同周边环境之间的关系所做的定义;架构就是对系统中的实体以及实体之间的关系所进行的抽象描述,是一系列的决策;
2025-12-12 14:02:34
814
原创 大厂高质量Java面试题集锦:高级Java工程师面试八股汇总
谈到 Java 面试,相信大家第一时间脑子里想到的词肯定是金三银四,金九银十。好像大家的潜意识里做 Java 开发的都得在这个时候才能出去面试,跳槽成功率才高!但 LZ 不这么认为,LZ 觉得我们做技术的一生中会遇到很多大大小小的面试,金三银四(金九银十)只是机会比平时多一些,但也未必每个人都能在这个时间段找到自己理想的岗位。我们能做的就是时刻准备着,当机会来临的时候能把握住就行。
2025-12-11 15:45:24
598
原创 并发编程的三大基石:从底层逻辑聊透“同步、互斥与分工”
本文将穿越这场并发设计的演进之旅,从Disruptor的无锁队列,到Fork/Join的分治思想,再到LongAdder的分散竞争与CompletableFuture的异步编排。这些卓越的实践背后,都贯穿着一个共同的哲学:真正的性能巅峰,并非源于无休止的并行,而是源于对硬件资源的深刻洞察与极致调度,是将有限的计算潜力压榨到极致。计算机的资源,包括处理器、内存和 I/O 设备,在物理和性能上始终存在限制。同步、互斥与分工,这三大并发编程的抽象概念,就像是并发世界的三大法宝,而并发工具则是这些法宝的具体实现。
2025-12-11 15:31:45
397
原创 阿里巴巴官方最新发布的「10亿级并发系统设计手册」限时开源
高并发高并发确实是一个复杂且系统性的问题,由于篇幅有限,诸如分布式Trace、全链路压测、柔性事务都是要考虑的技术点。另外,如果业务场景不同,高并发的落地方案也会存在差异,但是总体的设计思路和可借鉴的方案基本类似。高并发设计同样要秉承架构设计的3个原则:简单、合适和严谨。“过早的优化是万恶之源”,不能脱离业务的实际情况,更不要过度设计,合适的方案就是最完美的。
2025-12-10 14:48:55
662
原创 Spring项目别再乱注入Service了!用Lambda封装个统一调用组件,直接起飞!
Controller 里干干净净,再也不用注入一堆 Service;想改日志格式、加权限校验,只需要改,不用改每个方法;解析过的 Service 信息会缓存,下次调用更快;写 Lambda 的时候,方法名错了编译就报错,不用等到运行才发现。
2025-12-10 14:36:37
248
原创 2026互联网大厂最全 Java 面试八股文题库(持续更新版)
国内的互联网面试,恐怕是现存的、最接近科举考试的制度。而且,我国的八股文(基础知识、集合框架、多线程、线程的五种状态、虚拟机MySQLSpring相关、计算机网络MQ系列等)确实是独树一帜。以美国为例,北美工程师面试比较重视算法(Coding),近几年也会加入Design轮(系统设计和面向对象设计OOD)和BQ轮(Behavioral question,行为面试问题),今天博主为大家熬断半头青丝捋一捋这现代八股文。为什么要公开这些面试题?原因一。
2025-12-09 17:27:39
673
原创 Elasticsearch 避坑指南:我在项目中总结的 14 条实用经验
这些经验都是在解决实际问题中慢慢积累的。就像修路一样,开始可能只是简单铺平,随着车流量的增加,需要不断优化——设置红绿灯、划分车道、建立立交桥。使用 ES 也是同样的道理,随着业务的发展,需要不断调整和优化。理解原理比记住命令更重要。只有明白了为什么这样设计,才能在遇到新问题时找到合适的解决方案。如果有人问我:"ES 怎么才能用得更好?"我的回答是:"先理解业务场景,再选择技术方案。就像我们之前做的模糊搜索,不是简单地用 wildcard,而是根据 ES 版本选择最优解。
2025-12-09 16:15:11
543
原创 2026 年最新版 Java 面试题及答案整理(纯干货,超详细)
程序员一步入中年,不知不觉便会被铺天盖地的“危机感”上身,曾经的那个少年已经不在,时间就是这样公平。就算你能发明 Java 语言,随着时间的推移,你注定还是要成为慢慢变蔫的茄子,缓缓变黑的葡萄。看着2026就要来临的消息,吓得我周末赶紧拿出了面试资料,只读了一小部分我就发现一个事实,果然有很多的知识点都模棱两可,相信很多的人都跟我一样有这样的危机感。怎么办呢???今天给大家分享一份阿里 P9 架构师推荐的 Java 后端领域巅峰之作,我看完这份 PDF 之后彻底颠覆了我对 Java 的认知。
2025-12-08 14:34:11
897
原创 MQ生产者确认机制捕获到消息投递失败后如何重试?
(Broker 未确认接收)或超时未收到确认时,说明消息发送失败。(次数、间隔)重新投递,直至成功或超过阈值后转入死信队列。等场景下仍能最终投递成功,同时避免无限重试的资源浪费。以下是具体实现思路和关键步骤,结合代码示例说明。当消息超过最大重试次数仍未成功,将其转入。重试可能导致消息重复投递,消费者需通过。生产者确认失败后的重试重新投递,本质是。(如 UUID 或雪花算法),并在。,确保重启后不丢失。生产者发送消息时,生成唯一。定期检查失败消息表,对。通过这套机制,可确保消息在。(避免内存丢失),并按。
2025-12-08 14:07:19
342
原创 Solon 不依赖 Java EE 是其最有价值的设计!
在 Java 后端开发领域,Solon 作为一个后起之秀的微服务应用开发框架,正以其轻量、快速、高度灵活的特性获得越来越多的关注。与 Spring/Spring Boot 等早期框架诞生于 Java EE(现 Jakarta EE)的生态背景不同,Solon 从一开始就明确地选择了不依赖 Java EE 规范的设计路径。正是这一看似激进的选择,构成了 Solon 最有价值的设计基石,使其能够更有效地应对现代云原生和微服务时代的挑战。
2025-12-08 14:03:35
266
原创 2026最全 Java 后端面试场景题+八股文(持续更新)
铁铁们!2026年的Java后端面试已经彻底变天了!别再抱着那些陈年老八股的答案不放了,现在的面试官精得很——你背得越熟,他问得越深。问懵你之后,还要补刀一句:“你做的业务并发量太低了。,可面试偏偏就要考!为了不让大伙儿在25年底和26年的面试里“一轮游”,我扒遍了今年大厂的最新面经,结合新能源、AI电商、物联网、金融科技等热门赛道的一线实战需求,吐血整理了这份200。2026年,不会做场景题的Java后端,就像不会用智能手机的出租车司机——再努力也接不到单子。话不多说,直接上干货!
2025-12-07 15:41:16
1074
原创 有了TCP为什么还需要HTTP?再用RPC?这次彻底讲明白了
技术演进脉络:TCP层:解决网络层的可靠传输问题HTTP层:解决应用层的消息格式和语义问题RPC层:优化分布式系统的服务调用体验现代架构的最佳实践:公司内部服务调用:优先采用RPC框架(如gRPC、Dubbo)核心原因:极致性能。二进制编码、协议开销低、长连接复用对外暴露接口:普遍采用HTTP协议(及RESTful风格)核心原因:无与伦比的通用性。生态系统成熟,客户端兼容性好这是一个"内外有别"的最佳实践——性能至上的内部集群采用RPC框架,兼容性优先的对外开放接口采用HTTP协议。
2025-12-07 14:52:51
672
原创 共计 1658 页的 Java 岗面试核心版,拿走不谢
不得不说程序员除了做项目之外,提升自己技能最快的方式就是,这里说的刷题不是无脑刷,而是要明白面试官为什么会问这个问题,以及这个问题的意义在哪里!今天带来的是全新升级的,这个版本里面不仅仅包含了面试题,还有更多的技术难点、等等,!相比上一个版本的 287 页,升级了多少内容可想而知!!!等等。由于 MCA 版的细节内容实在是太多了,毕竟将近 2000 页的文档,只能把部分知识点里面的章节挑出来介绍一下,每个章节的小节点里面都有更详细的内容!
2025-12-05 15:37:19
923
原创 MySQL 由于 Java 日期 LocalDateTime 数据精度引发的线上问题
比如我们需要比较 2022-05-10 的数据的时候,那些我们只需要查询出时间范围为:2022-05-10 00:00:00 ~ 2022-05-10 23:59:59 的微信支付以及支付平台的数据然后按照 compare_no 进行逐条对比就行了。今天要说的是在查询我们保存的第三方支付支付订单与微信支付的交易账单进行对比的时候,在查询我们 T 日数据的时候多查询出来了数据导致数据对不平。结果查询出来了一条交易成功时间为:2022-05-11 00:00:00 的数据,与我们的期望不符。
2025-12-05 14:21:58
496
原创 阿里面试官终于分享出了 2025 年最新的 java 面试题及答案
很多 Java 工程师的技术不错,但是一面试就头疼,10 次面试 9 次都是被刷,过的那次还是去了家不知名的小公司。问题就在于:面试有技巧,而。:你该如何准备简历,面试项目和面试说辞?Spring 底层逻辑是什么?:面试中你该讲哪些值钱的技术?如何用这些值钱的技术最大程度展示自己的技能?分布式组件底层逻辑是什么?:k8s 怎么搭建实践?这些问题,相信每一位 Java 程序员都曾遇到过,甚至有的人至今也不知道要怎么解决,屡面屡败,最终导致你的面试通过率极低。
2025-12-04 15:14:49
376
原创 当你和大模型对话时,模型在做什么
你可能每天都在跟ChatGPT这样的人工智能聊天,向它提出各种问题,或与它讨论各种话题。那么,当你敲下一句问题时,大模型究竟是怎么运行的,如何能一个字一个字输出正确的回答?大模型并不是黑盒,本文会从模型生成答案的过程来解释下Transformer的结构以及模型是如何进行推理的,希望能给大家建立一个大致认知。为什么要了解模型的推理过程?作为应用层开发人员,日常更多是做工程上的实践和模型底层技术并没有太多交集。
2025-12-04 15:12:58
1024
原创 BATM 面试 Java 岗:精选 200+ 面试题及答案、6 大重点规划和经验总结
针对上面面试题我总结出了互联网公司 java 程序员面试涉及到的绝大部分面试题及答案做成了文档和架构视频资料免费分享给大家(包括 Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术资料),希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习,也希望有需要的朋友能在之后能找到一个好工作,拿到心仪的 offer!
2025-12-03 14:36:21
709
原创 SpringBoot项目使用Redis对用户IP进行接口限流
在下新建limit.lua-- 获取redis键-- 获取第一个参数(次数)-- 获取第二个参数(时间)-- 获取当前流量-- 如果current值存在,且值大于规定的次数,则拒绝放行(直接返回当前流量)end-- 如果值小于规定次数,或值不存在,则允许放行,当前流量数+1 (值不存在情况下,可以自增变为1)-- 如果是第一次进来,那么开始设置键的过期时间。end-- 返回当前流量@Slf4j@Aspect@Component@Autowired@Autowired。
2025-12-03 14:33:14
652
原创 牛客网趋势最热 Java 八股文,速度赶紧马上打包带走
我分享的这份秋招 Java面试总结包含了 JavaOOP、Java 集合容器、Java 异常、并发编程、Java 反射、Java 序列化、JVM、Redis、Spring MVC、MyBatis、MySQL库、消息中间件 MQ、Dubbo、Linux、ZooKeeper、 分布式 &结构与等 25 个专题技术点,都是小编在各个大厂总结出来的面试真题,已经有很多粉丝靠这份 PDF 拿下众多大厂的 offer,今天在这里总结分享给到大家!我这篇分享篇幅可能有点长,观看的朋友可以先了解一下目录。
2025-12-02 14:25:05
561
原创 改了 Nacos 一行配置,搞崩线上支付系统!
说了一大堆其实总结起来就两句话:服务注册中心:动态业务服务(支付、订单)用临时实例(默认),静态基础组件(MySQL、Redis)用持久化实例;配置中心:没有临时配置,所有配置默认持久化,动态更新 ≠ 临时存在。读到这就等于学会!
2025-12-02 14:20:00
571
原创 2026最新 Java 面试指南,基础 + 框架 + 数据库 + 系统设计 + 算法
做 Java 开发这么久了,平时在各种程序员交流群以及身边环境中感受最深的就一个字就是“卷”!上班干,下班学,当前环境还不敢随便辞职,辞职了去面试简历还得“润色”,完了面试前还必须背八股文(什么多线程,jvm,redis,mysql,甚至还要问你 epoll 原理),不背你就过不了,年龄大了不可替代性不强还得担心中年危机……种种,其中最离谱的莫过于面试造火箭,工作拧螺丝的“八股文”了。
2025-12-01 15:34:02
832
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅