- 博客(441)
- 收藏
- 关注
原创 2025最新Java大厂面试八股文终极整理(含答案)
我相信大多 Java 开发的程序员或多或少经历过 BAT 一些大厂的面试,也清楚一线互联网大厂 Java 面试是有一定难度的,小编经历过多次面试,有满意的也有备受打击的。因此呢小编想把自己这么多次面试经历以及近期的面试真题来个汇总分析,阐述下如何去准备,去回答面试官的提问,可以和面试官有个愉快的交谈。
2025-05-20 14:54:44
547
原创 亿级核心表如何优雅扩展字段
在大数据量表上的动态扩展字段,本质上是灵活性与稳定性的博弈,既要支撑业务快速迭代,又要规避“野蛮生长”的技术风险。基于分治思想,我们将核心数据与扩展数据分离;在系统设计上,对数据管理、数据存储、数据检索三部分进行解耦,把问题拆解,降低每一部分的设计难度;而在具体实践上,我们也将整个系统功能进行了封装,以便其他有同样困境的系统能够快速扩展该项能力。
2025-05-20 14:48:55
570
原创 互联网一线大厂最新版 Java面试八股文(含答案,万字总结,精心打磨,建议收藏)堪称2025最强
当一个线程被剥夺cpu使用权时,切换到另外一个线程执行死锁指多个线程在执行过程中,因争夺资源造成的一种相互等待的僵局CAS锁可以保证原子性,思想是更新内存时会判断内存值是否被别人修改过,如果没有就直接更新。如果被修改,就重新获取值,直到更新完成为止。这样的缺点是(1)只能支持一个变量的原子操作,不能保证整个代码块的原子操作(2)CAS频繁失败导致CPU开销大。
2025-05-19 15:14:18
508
原创 2025年互联网一线大厂最新高质量 Java 面试八股文整理(附答案)
文章写到这里差不多可以停笔了,但是又好像还想说点什么,或许是对同行的你一些小建议,也或许是对整个行业的一些愿景。近几年来,铺天盖地而来的“程序员 35 岁”制造了不少年龄焦虑,试问自己被公司裁员,被社会淘汰真的是年龄导致的吗?实际上,无论你是什么行业,能力不过关,都会被淘汰,而避免被淘汰的唯一办法:坚持学习。所以,最后希望同为代码献身的我们,不负初衷,不畏困难,拥抱发展!最近也是一直有粉丝朋友私信我说,2024 都快来了,LZ 有没有一份内容全面,题目高频的面试题库,最近面试老挂,需要系统的梳理一下!
2025-05-18 14:59:18
743
原创 鹅厂二面:王者荣耀亿级排行榜,怎么设计?
亿级用户排行榜怎么设计呢?换种说法,王者荣耀亿级排行榜,如何设计?本文跟大家一起探讨一下,如何回答更好呢?数据库的order by为什么不行?为什么Redis是排行榜的“扛把子”?Redis扛亿级数据可能存在哪些问题以及对应解决方案实现方案:分治巨人的肩膀,前人踩过的坑。
2025-05-18 14:23:50
898
原创 2025牛客网最火Java面试八股文,涵盖所有面试核心知识点
其实,作为面试官,我对不同级别的候选人,考察的侧重点也有很大的不同。如果是一个应届生或者是一个有着一年左右工作经验的新人,我会更看里他的基础知识、学习能力和聪明程度,也就是所谓的“潜力”,因为除非候选人非常优秀,否则你很难期望他们进入公司之后迅速独当一面,所以,我更期望通过老员工的少量引导,他再迅速成长为项目的核心成员。对于有着三年左右工作经验的候选人,我除了要求他基础扎实以外,还需要他有良好的编码习惯和能力,于是我通常会在面试时增加现场出题编码的环节。
2025-05-16 14:40:04
221
原创 基于Mongodb的分布式文件存储实现
基于 MongoDB GridFS 的分布式文件存储方案,凭借其独特的文件分块存储原理和与 MongoDB 分布式架构的紧密结合,为我们提供了一种高效、可靠的文件存储方式。通过 Spring Boot 的集成,我们能够快速在项目中实现文件的上传、下载、查询和删除等功能。在实际应用过程中,我们需要关注内存管理、数据类型转换、时间类型处理等常见问题,并采用合适的解决方案。随着技术的不断发展,GridFS 也在持续优化和完善,将为更多的分布式文件存储场景提供强大的支持。
2025-05-16 13:16:48
495
原创 2025最新版Java面试题及答案整理(纯干货,建议收藏)
面试,跳槽,每天都在发生,而对程序员来说"金三银四"更是面试和跳槽的高峰期,跳槽,更是很常见的,对于每个人来说,跳槽的意义也各不相同,可能是一个人更向往一个更大的平台,更好的地方,可以通过换一个环境改变自己的现状。而我正是其中一员,投了十多家互联网公司,目前 已收到五个 Offer,其实跳槽是把双刃剑,有好也有坏,要看你是因为什么原因跳槽。如果说你即将准备跳槽,是否准备充足了呢?小编即将分享的正是这些面经分享和我的成长笔记。
2025-05-15 14:52:41
697
原创 SpringAI更新:废弃tools方法、正式支持DeepSeek!
AI 技术发展很快,同样 AI 配套的相关技术发展也很快。这不今天刚打开 Spring AI 的官网就发现它又又又又更新了,而这次更新距离上次更新 M7 版本才不过半个月的时间,那这次 Spring AI 给我们带来了哪些惊喜呢?一起来看。
2025-05-15 14:51:34
674
原创 一个月拿下Java Offer:2025最新面试真题与深度解析(持续更新中)
死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。
2025-05-14 13:39:43
570
原创 那些年,我们都踩过的十个MySQL经典大坑……
数据默认的配置时间是28800(8小时)意味着,超过这个时间之后,MySQL 数据库为了节省资源,就会在数据库端断开这个连接,Mysql服务器端将其断开了,但是我们的程序再次使用这个连接时没有做任何判断,所以就挂了。今天就给大家列举 MySQL 数据库中,最经典的十大错误案例,并附有处理问题的解决思路和方法,希望能给刚入行,或数据库爱好者一些帮助,今后再遇到任何报错,我们都可以很淡定地去处理。根据报错信息,我们可以获取到报错日志和position号,然后就能找到主库执行的哪条sql,导致的主从报错。
2025-05-14 13:17:51
233
原创 2025最新版Java面试必看的1000道面试解析,助你通过大厂面试
看面试题可以是为了面试,也可以是对自己学到的东西的一种查漏补缺,更加深刻的去了解一些核心知识点。
2025-05-13 14:00:19
667
原创 阿里菜鸟一面:扫码登陆的实现方案?
从前面这个流程,我们可以看到,客户端不会也没必要保存你的密码,相反,它是保存了 token。但是在日常使用过程中,我们应该会注意到,只有在你的应用下载下来后,第一次登录的时候,才需要进行一个账号密码的登录, 那之后呢 即使这个应用进程被杀掉,或者手机重启,都是不需要再次输入账号密码的,它可以自动登录。服务端就可以通过 token 找到与它绑定的账号与设备信息,然后把绑定的设备信息与客户端每次传来的设备信息进行比较, 如果相同,那么校验通过,返回 AP 接口响应数据, 如果不同,那就是校验不通过拒绝访问。
2025-05-13 13:56:18
812
原创 2025年面试必问的Java面试八股文及答案整理(纯干货,超详细)
以上就是有关程序员面试专题的一些总结,面试不仅考的是技术还有心态,只要你有足够的技术支撑,心态要好,拿到offer肯定不在话下。先不要把它想得很困难,自己给自己设置槛!希望大家都可以拿到心仪offer,走向升职、跳槽、涨薪、赢娶白富美之路!
2025-05-12 14:00:09
270
原创 SpringBoot 数据权限新姿势,注解+动态SQL真香!
easy-data-scop 是一个通过动态注入SQL实现的数据权限项目。支持MyBatis、MyBatis-plus、MyBatis-flex。使用简单,无需设置各种复杂配置,仅仅通过注解便可实现效果功能。会根据find()方法返回的列表来构建SQL可以编写在对应需要数据权限拦截的方法上/*** 通过传递给DataScopeFindRule.find方法来获取指定的数据权限实体* @return*//*** 构建模板* TODO 注意:当key为多个时此值生效。
2025-05-12 13:59:02
274
原创 2025版新鲜出炉!最新大厂 Java 面试八股文合集(附权威答案)
小编也特意将这套面试资料总结出来,本次为目前为止最新版本,由原作者及专业团队进行改善,更适合粉丝朋友们进行学习!希望大家在学习了最新版本后,能轻松应对金九银十!,早几年也是心比天高,觉得自己特了不起,结果往往一面试就发虚,大部分人都经历过这样一个不自知的阶段。,自身有技术追求,但欠点儿火候,多练习多吸收知识,锤炼一下问题不大。最近感慨面试难的人越来越多了,一方面是市场环境,更重要的一方面是。,但肚子里货少,也没啥拿得出手的项目,自己还意识不到问题;后面见识多了,再主动多跟着大佬学习,
2025-05-11 13:40:48
265
原创 数据库篇:mysql锁详解
sql事务的执行,如果需要锁定数据进行更新操作,则必定离不开锁共享锁和排他锁表锁行锁 Record Lock间隙锁 Gap Lock行锁+间隙锁 Next-Key Lock加锁场景(加锁sql)
2025-05-11 13:38:45
656
原创 一个月通宵整理的Java面试圣经:覆盖阿里/腾讯/字节等大厂真实题库
只有充分地准备好了面试,才可以更有自信地吊打面试官,每方面的知识都是必须的,不能缺乏的。
2025-05-09 13:57:45
234
原创 聊聊四种实时通信技术:短轮询、长轮询、WebSocket 和 SSE
特性短轮询长轮询SSEWebSocket协议HTTPHTTPHTTPWebSocket(基于TCP)实时性低中高极高资源消耗高(频繁请求)中(挂起连接)低低(长连接)选择建议需要简单兼容性→ 短轮询需要中等实时性→ 长轮询只需服务器推送→ SSE需要全双工实时交互。
2025-05-09 13:38:41
861
原创 进大厂必备!2025年Java面试真题库:从JVM到分布式全覆盖
因为线程竞争,会导致线程阻塞或者挂起,但是如果同步资源的锁定时间很短,那么阻塞和挂起的花费的资源就得不偿失。自旋锁: 当竞争的同步资源锁定时间短,就让线程自旋,如果自旋完成后,资源释放了锁,那线程就不用阻塞,直接获取资源,减少了切换线程的开销。实现原理是CAS。缺点:占用了处理器的时间,如果锁被占用的时间短还好,如果长那就白白浪费了处理器的时间。所以要限定自旋次数(默认是10次,可以使用-XX:PreBlockSpin来更改)没有成功获得锁,就应当挂起线程。
2025-05-08 14:35:07
854
原创 每秒 600 万订单: SpringBoot + Disruptor 实现特快高并发处理
Disruptor 是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于 Disruptor 开发的系统单线程能支撑每秒 600 万订单,2010 年在 QCon 演讲后,获得了业界关注。Disruptor是一个开源的Java框架,它被设计用于在生产者—消费者(producer-consumer problem,简称PCP)问题上获得尽量高的吞吐量(TPS)和尽量低的延迟。
2025-05-08 14:32:29
1044
原创 2025 Java面试八股文深度解析,从JVM到分布式一网打尽
4. 多线程之间通信的同步问题,synchronized锁的是对象,衍伸出和synchronized相关很多的具体问题,例如同一个类不同方法都有synchronized锁,一个对象是否可以同时访问。5. 自己从classload 加载方式,加载机制说开去,从程序运行时数据区,讲到内存分配,讲到String常量池,讲到JVM垃圾回收机制,算法,hotspot。8. Java数组和链表两种结构的操作效率,在哪些情况下(从开头开始,从结尾开始,从中间开始),哪些操作(插入,查找,删除)的效率高。
2025-05-07 14:33:47
751
原创 船新 SpringBoot 3.5 要来了,新特性真香!
Spring Boot 3.5 本月即将发布,带来了诸多值得关注的能力提升。以下是本次更新的关键亮点:🚀:TaskDecorator优化定时任务💾:高性能数据库连接新选择🔒:SSL证书状态一目了然⚙:环境变量、配置处理更灵活🔍:Trace ID自动写入HTTP响应头📊:Actuator功能全面增强🌟:提前体验Spring Framework 7新特性。
2025-05-07 14:30:25
589
原创 最全Java面试题及答案整理(2025最新版)
这不止是一份面试清单,更是一种“被期望的责任”,因为有无数个待面试着,希望从这篇文章中,找出通往期望公司的“钥匙”,所以上面的每道选题都是结合我自身的经验,于千万个面试题中经过艰辛的两周,一个题一个题筛选出来再校对好答案和格式做出来的,面试的答案也是再三斟酌,生怕误人子弟是小,影响他人的“仕途”才是大过,所以如有纰漏,还请读者朋友们在评论区不吝指出。发生幻读的原因也是另外一个事务新增或者删除或者修改了第一个事务结果集里面的数据,同一个记录的数据内容被修改了,所有数据行的记录就变多或者变少了。
2025-05-06 19:32:25
795
原创 Nacos 3.0 重磅更新,新特性真香!
在现代微服务架构中,Nacos 扮演着至关重要的角色。它作为动态命名和配置服务平台,为构建云原生应用提供了便捷的服务发现、配置管理和服务治理能力。自诞生以来,Nacos 凭借其易用性和强大的功能,赢得了广大开发者的青睐,成为构建稳定、高可用微服务体系的关键组件。如今,备受期待的Nacos 3.0版本正式发布,Nacos 3.0紧随技术发展趋势,在多个方面进行了创新和增强(比如 AI MCP 、分布式锁等),旨在更好地服务于日益复杂的应用场景。
2025-05-06 19:24:09
276
原创 2025 Java八股文深度解读版:原理+场景+高频追问答案
线程上下文切换当一个线程被剥夺cpu使用权时,切换到另外一个线程执行死锁死锁指多个线程在执行过程中,因争夺资源造成的一种相互等待的僵局CAS锁CAS锁可以保证原子性,思想是更新内存时会判断内存值是否被别人修改过,如果没有就直接更新。如果被修改,就重新获取值,直到更新完成为止。这样的缺点是(1)只能支持一个变量的原子操作,不能保证整个代码块的原子操作(2)CAS频繁失败导致CPU开销大。
2025-04-30 14:25:36
1014
原创 使用OAuth2保护Spring AI MCP服务!
Spring AI框架提供了对Model Context Protocol(简称MCP)的全面支持,使AI模型能够以标准化方式与外部工具和资源进行安全交互。借助Spring AI,开发者仅需少量代码即可构建功能完备的MCP服务器,为AI模型提供丰富的功能扩展。
2025-04-30 14:04:03
796
原创 别再盲目刷题了!2025Java面试最全八股文分类整理(含JUC/Spring/MySQL详解)
在准备Java面试时,系统地覆盖从基础到高级的知识点是至关重要的。以下是一个详细的Java面试知识点总结,帮助你有针对性地准备面试。也算是我自己总结的知识点,先记录下来,说不定下次准备面试的时候,能再用上。
2025-04-29 16:01:59
1114
原创 为什么远程传输对象要序列化?
序列化和反序列化几乎是工程师们每天都需要面对的事情,尤其是当前流行的微服务开发。它到底是啥,用来干嘛的?如果用通俗的方式来理解,你可以用变魔术的方式来理解它,就好比你想把一件铁器从一个地方运往到另一个地方,在出发的时候,通过魔术方式将这个东西融化成一桶铁水,当到达目的地之后,又通过变魔术的方式,将这桶铁水还原成一件铁器。当铁器变成铁水的过程,可以理解为序列化;从铁水变成铁器,可以理解为反序列化。
2025-04-29 14:43:27
629
原创 2025最新Java面试八股文(分类归纳+原理详解+避坑指南)程序员跳槽必备
最后,我想说的是,学习并非难事,而贵在坚持,尤其是在我们参与工作之后,要继续坚持学习就更不容易了。但对于程序员来说,学习是立业之根本,如若放弃学习,被市场淘汰是迟早的事情。所以,学习更多新的知识对于自己来说才是一种更大的投资。以上,到此结束。
2025-04-28 14:15:40
1903
原创 Cursor:3招让AI生成代码效率飙升10倍!
Codebase:参考现有代码风格(如:“参考分类管理模块写标签API”)。@Web:实时检索文档(如:“查React Router v6最新用法”)。但许多用户发现:同样的工具,有人用它。的真正价值,不是替代开发者,而是将我们从重复劳动中解放,聚焦核心创新。@Chat:延续上次对话(如:“接着优化登录功能的JWT逻辑”)。结构化提示词:Cursor精准输出完整模块代码,减少80%返工。,精准的说明会让他更快地理解你的需求,而混乱的需求描述只会让它。模糊描述:生成代码可能缺少分页功能,甚至用错框架。
2025-04-28 13:50:22
1014
原创 从青铜到王者:Java工程师面试全路线(基础-并发-框架-架构持续更新)
Java中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器。这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口。编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行。在Java中,这种供虚拟机理解的代码叫做字节码(即扩展名为.class的文件),它不面向任何特定的处理器,只面向虚拟机。每一种平台的解释器是不同的,但是实现的虚拟机是相同的。
2025-04-27 13:42:57
437
原创 Flink运行时架构
数据处理系统的架构最简单的实现方式就是单节点,但是随着数据量的增大,为了使单节点的机器性能更加强大,需要增加CPU数量和加大内存来提高吞吐量。这就是所谓的SMP(Symmetrical Multi Processing,对称多处理)架构。但是这种架构带来的问题也很明显,不仅所有CPU是完全平等且共享内存和总线资源的,会带来资源竞争。而且随着CPU数量的增加,机器成本会呈指数级增长。因此,SMP的可扩展性是比较差的,无法应对海量数据的处理场景。
2025-04-27 13:34:35
971
原创 互联网大厂1008道最常见的Java面试题整理(面试必备)
面试,难还是不难?最终结果好还是不好?取决于面试者的底蕴(气场+技能)、心态和认知以及沟通技巧。而一些主流的大型互联网公司面试(阿里巴巴、京东、美团、滴滴)更是需要你在面试时展现出自己的能力,从而获得面试官的欣赏和肯定。而程序员在应聘时更是需要经历层层面试。俗话说,磨刀不误砍柴工,做好面试前的准备工作可以帮助大家更好的应对面试官的问题以及面试中的突发情况。
2025-04-26 09:30:10
285
原创 最火向量数据库Milvus安装使用一条龙!
它具有最高的可扩展性和可用性,并能灵活定制每个组件中分配的资源。Milvus 作为开源高性能向量数据库的代表,它的安装也不难,如果顺利的情况下,可能 5 分钟左右就搞定了。Milvus 服务安装成功之后,可以按照一个 UI 客户端连接 Milvus 服务,使用官方提供的客户端 attu:https://github.com/zilliztech/attu。Milvus 设计之初就是为 AI 而生的一个高效的向量数据库系统,在大多数情况下,Milvus 的性能是其他向量数据库的 2-5 倍,它能。
2025-04-26 09:20:35
653
原创 程序员面试自救指南:全网最硬核的Java八股文答案库
以上就是有关程序员面试专题的一些总结,面试不仅考的是技术还有心态,只要你有足够的技术支撑,心态要好,拿到offer肯定不在话下。先不要把它想得很困难,自己给自己设置槛!希望大家都可以拿到心仪offer,走向升职、跳槽、涨薪、赢娶白富美之路!
2025-04-25 14:00:54
283
原创 SpringBoot 集成 Camunda 流程引擎,实现一套完整的业务流程
官方文档下面是官网的一些文档,有时间可以看看,下面说一些核心的东西。
2025-04-25 09:44:36
920
原创 2025最系统的Java八股文大全(25技术栈完整脑图+源码解析
实际上,无论你是什么行业,能力不过关,都会被淘汰,而避免被淘汰的唯一办法:坚持学习。但这并不意味着要死记硬背,而是要在理解的基础上,结合自己的经历和感悟,进行个性化的回答。同时,还要学会倾听面试官的问题,捕捉其中的关键点,以便给出更加精准、切题的回应。他们懂得倾听,当面试官提出问题时,会先认真思考再作答,这种沉稳与尊重的态度,无疑为他们的面试加分不少。因此,想要成为那掌握80% offer的20%之人,除了不断提升自己的专业技能外,更要注重培养自己的软实力。更重要的是,他们拥有积极的态度和强大的心理素质。
2025-04-24 10:40:00
552
原创 Redis+Caffeine 太强了!
随着不断的发展,这一架构也产生了改进,在一些场景下可能单纯使用Redis类的远程缓存已经不够了,还需要进一步配合本地缓存使用,例如Guava cache或Caffeine,从而再次提升程序的响应速度与服务性能。缓存的本质就是存储在内存中的KV数据结构,对应的就是jdk中线程安全的ConcurrentHashMap,但是要实现缓存,还需要考虑淘汰、最大限制、缓存过期时间淘汰等等功能;本地缓存基于本地环境的内存,访问速度非常快,对于一些变更频率低、实时性要求低的数据,可以放在本地缓存中,提升访问速度。
2025-04-24 10:36:22
275
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人