- 博客(480)
- 收藏
- 关注
原创 牛客网最新Java面试全攻略(建议收藏,跳槽必备)
面试,跳槽,每天都在发生,而对程序员来说"金三银四"更是面试和跳槽的高峰期,跳槽,更是很常见的,对于每个人来说,跳槽的意义也各不相同,可能是一个人更向往一个更大的平台,更好的地方,可以通过换一个环境改变自己的现状。而我正是其中一员,投了十多家互联网公司,目前 已收到五个 Offer,其实跳槽是把双刃剑,有好也有坏,要看你是因为什么原因跳槽。如果说你即将准备跳槽,是否准备充足了呢?小编即将分享的正是这些面经分享和我的成长笔记。
2025-06-13 14:32:24
442
原创 JVM GC 问题排查实战案例
再分析上面这个图,可以看到老年代对应的内存池是 “ps_old_gen”,通过前面的学习,我们知道,ps 代表的是 ParallelGC 垃圾收集器。但 09:20 前后,老年代空间的使用量在缓慢上升,并没有下降,也就是说引发最大暂停时间的这个点并没有发生 FullGC。前后的 GC 事件都很正常,也没发现 FullGC 或者并发标记周期,但找到了几个可疑的点。内心是懵的,觉得可能是指标算错了,比如把 10s 内的暂停时间全部加到了一起。中奖了,运行一段时间后,最大 GC 暂停时间达到了 1300ms。
2025-06-13 13:39:37
460
原创 Java面试避坑指南:牛客网最新高频考点+答案详解
我们程序员的技术一直在更新迭代,如果一直固步自封的话,是很难跟上技术的潮流的,所以一定要不断的学习。
2025-06-12 16:36:45
1044
原创 Stream很好,Map很酷,但答应我别用toMap()!
这 TM 不是一个循环就万事大吉了吗,不信邪的你回归初心,回归了 for 循环的怀抱,又写了一版。你不信邪,断点一打,堆栈一看,硕大的。静下心来,本着什么大风大浪我没见过的心态,断点堆栈一气呵成,而下一秒你又望着代码陷入了沉思,我是谁?再次执行程序,你似乎已经看到知乎的摸鱼贴在向你招手了,结果啪的一下 NPE 又拍在你那笑容渐渐消失的脸上。看着运行完美无缺的代码,你一时陷入了沉思,数分钟过去了,你删除了 for 循环,换上。鼓起勇气,你还不信今天就过不去这个坎了,大手一挥,又一段优雅的代码孕育而生。
2025-06-12 15:50:13
177
原创 2025年Java面试最全知识点+八股文精讲(持续迭代)
为了帮助大家更好地准备 Java 面试,我整理了这份 Java 基础面试题合集。希望这份面试题合集能够帮助大家查漏补缺,巩固 Java 基础知识,在面试中脱颖而出!
2025-06-11 15:17:40
603
原创 springboot + nacos + k8s 优雅停机
优雅停机是什么?网上说的优雅下线、无损下线,都是一个意思。优雅停机,通常是指在设备、系统或应用程序中止运作前,先执行一定的流程或动作,以确保数据的安全、预防错误并保证系统的整体稳定。一般来说,优雅停机可以参考以下步骤以实现:备份数据 :立即将内存中的所有未保存的修改、缓存等数据保存到数据库或磁盘中。停止接收新的请求处理未完成的请求通知其他依赖组件等待所有要素安全退出后,关闭系统。
2025-06-11 13:43:35
882
原创 2025 Java后端面试避坑大全,覆盖P5-P8,助你弯道超车
当一个线程被剥夺cpu使用权时,切换到另外一个线程执行死锁指多个线程在执行过程中,因争夺资源造成的一种相互等待的僵局CAS锁CAS锁可以保证原子性,思想是更新内存时会判断内存值是否被别人修改过,如果没有就直接更新。如果被修改,就重新获取值,直到更新完成为止。这样的缺点是(1)只能支持一个变量的原子操作,不能保证整个代码块的原子操作(2)CAS频繁失败导致CPU开销大。
2025-06-10 14:40:53
904
原创 面试官:加密后的数据如何进行模糊查询?
这个层面大多是专业算法工程师的研究领域,想要设计一个有序的、非不可逆的、密文长度不能增长过快的算法不是一件简单的事情,大致的思路是这样的,使用译码的方式进行加解密,保留密文和原文一样的顺序,从而支持密文模糊匹配,说的比较笼统因为我也不是这方面的专家没有更深一步的研究过,所以我从网上找了一些资料可以参考一下。在网上随便搜索了一下,关于《加密后的模糊查询》 的帖子很多,顺便整理了一下实现的方法,不得不说很多都是不靠谱的做法,甚至有一些沙雕做法,接下来我们就对这些做法来讲讲实现思路和优劣性。
2025-06-10 14:16:02
701
原创 2025校招/社招Java八股文面试题库,横扫大厂后端岗
在过 2 个月即将进入9月了,然而面对今年的大环境而言,跳槽成功的难度比往年高了很多,很明显的感受就是:对于今年的 java 开发朋友跳槽面试,无论一面还是二面,都开始考验一个 Java 程序员的技术功底和基础。对源码解读和核心原理理解也是成了加分项,特别是对 Java 的一些核心基础知识点掌握的不够或者没有体系方向的朋友面试也成了一个苦恼的事情。不论是校招还是社招都避免不了各种面试、笔试,如何去准备这些东西就显得格外重要。
2025-06-09 15:42:03
623
原创 2025 Java后端面试终极指南:从基础到源码,0-10年开发者通关秘籍
为了帮助大家更好的应对面试,我们花了几个月时间整理了最近半年各大IT公司的高频面试题并录制了详细的讲解视频,涉及到Java技术的方方面面,比如。24,假如 Redis 里面有 1 亿个 key,其中有 10w 个 key 是以某个固定的已知的前缀开头的,如果将它们全部找出来?16、 MySQL 中 varchar 与 char 的区别?5、 Eureka和zookeeper都可以提供服务注册与发现的功能,请说说两个的区别?3、Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别?
2025-06-08 13:51:24
819
原创 明明加了唯一索引,为什么还是产生重复数据?
前段时间我踩过一个坑:在mysql8的一张innodb引擎的表中,加了唯一索引,但最后发现数据竟然还是重复了。到底怎么回事呢?本文通过一次踩坑经历,聊聊唯一索引,一些有意思的知识点。
2025-06-08 13:40:52
933
原创 2025 Java后端面试避坑大全:不管几年经验,这些高频&深度题你必须拿下
互联网公司的面试,从形式上说,一般分为 2~3 轮技术面 +1 轮 HR 面,不过某些公司没有 HR 面试。在技术面试中,面试官一般会就你所应聘的岗位进行相关知识的考察,也叫基础知识和业务逻辑面试,只要回答的不是特别差,面试官通常会继续跟你聊聊项目,这个时候就开始了项目面试。也就是说,。据粉丝的反映,这两年 Java 面试的难度越来越高,尤其是大厂,考察的技术点越来越细、越来越全。为此我花了很长时间搜集整理出来了这套 Java 面试题大全~
2025-06-06 13:44:53
812
原创 面试官:MySQL JOIN 表太多,你有哪些优化思路?
工作中,我们有时会遇到 MySQL join 表太多的情况,可能来自两个背景,一个是历史老代码,一个是去 o(Oracle) 改造,从 Oracle 迁移到 MySQL 的 SQL。多张表的 join 很可能会带来问题,引发生产事故,增加后期维护成本。一个新系统上线时可能测不出问题,但随着数据量的增加,问题就会逐渐暴露出来了。阿里开发手册中明确规定禁止三个表禁止 join。那对于 MySQL 中 join 表多的 SQL,一般该怎么优化呢?
2025-06-06 13:22:00
629
原创 2025年牛客网秋招/社招高质量 Java 面试八股文整理
实际上,无论你是什么行业,能力不过关,都会被淘汰,而避免被淘汰的唯一办法:坚持学习。但这并不意味着要死记硬背,而是要在理解的基础上,结合自己的经历和感悟,进行个性化的回答。同时,还要学会倾听面试官的问题,捕捉其中的关键点,以便给出更加精准、切题的回应。他们懂得倾听,当面试官提出问题时,会先认真思考再作答,这种沉稳与尊重的态度,无疑为他们的面试加分不少。因此,想要成为那掌握80% offer的20%之人,除了不断提升自己的专业技能外,更要注重培养自己的软实力。更重要的是,他们拥有积极的态度和强大的心理素质。
2025-06-05 13:29:53
1044
原创 Redisson简明教程—你家的锁芯该换了
各位攻城狮们,你还在使用原生命令来上锁么?看来你还是不够懒,饺子都给你包好了,你非要吃大饼配炒韭菜,快点改善一下“伙食”吧,写代码也要来点幸福感。今天咱们就来聊聊Redisson提供的各种锁,Redisson就像是Redis给Java程序员的一把瑞士军刀,不仅能存数据,还能玩出各种分布式花样。Redis 2.8+,理想版本5.0+(支持 Stream、模块化等高级特性,Redisson 能秀出全部技能)。支持单机、哨兵和集群(集群模式可靠性更高)
2025-06-05 13:13:01
1117
原创 互联网大厂工程师 1080 道 Java 面试题及答案整理 ( 2025 年 整理版)
最近很多粉丝朋友私信我说:熬过了去年的寒冬却没熬过现在的内卷;打开 Boss 直拒一排已读不回,回的基本都是外包,薪资还给的不高,对技术水平要求也远超从前;我国大概有 400-700 万程序员,其中光 Java 就占了一半。而大厂所需要的程序员是有限的,高薪也只能给到少数人,所以 Java 的竞争才会如此激烈,内卷化也越来越严重。我们不能改变内卷的大形势,能做的也就只有不断提升自己,去适应市场环境,提高自身技术水平,这样才能在跳槽黄金季拿到自己心仪的 Offer!
2025-06-04 14:59:28
897
原创 如何应对 Redis 大 Key 问题
大 Key 具体表现为Redis 中的 Key 对应的 Value 很大,占用 Redis 空间比较大,本质上是大 Value 问题。对于 Redis 中不同的数据结构类型,常见示例如下所示:对于 String 类型的 Value 值,值超过 10MB(数据值太大)。对于 Set 类型的 Value 值,含有的成员数量为 10000 个(成员数量多)。对于 List 类型的 Value 值,含有的成员数量为 10000 个(成员数量多)。
2025-06-04 14:04:26
656
原创 2025牛客网最全Java面试八股文汇总(持续更新中)
准备面试的小伙伴,一定要根据自身情况制定好复习计划!并且,你最好还要时不时自测一下,对着一些面试常见的问题进行自问。为了方便大家,我分析了百余份 2025 最新大厂面经,整理了面试中最最最常问的一些问题!小伙伴们可以对照着这篇文章学习或者准备面试。以下所有问题的答案都有相应的解析文档参考,网上也有一些类似的面试题总结的文章,但小编这份绝对是数一数二,剩下你了去网上一个个找的时间!这是我在工作、面试中学习并总结到的一些知识点,都是一些比较典型的、面试常被问到的问题。
2025-06-03 14:10:11
608
原创 别再滥用模糊查找了,来试试 MySQL 多值索引!
对普通的索引来说,每一条记录仅对应一条索引记录,对多值索引而言,一条记录可以对应多条索引记录。普通索引可以对 user_id、order_id 字段建立索引。多值索引可以对 JSON 字段建立索引,例如 related_product_Ids 字段在数据库中是 JSON 类型,值为,当对该字段建立多值索引时,可以建立三条索引记录,110,111,112 ,因此单独查询任一商品Id,均可以索引到 记录 A。接下来查看下如何使用多值索引MySQL 8.0 在 2018 年发布,目前已经成熟。
2025-06-03 14:08:41
912
原创 一个可视化数据流平台,做大数据的看过来
Redo log 中记录的是对页的物理操作,而不是页面的全量记录,而如果发生 partial page write(部分页写入)问题时,出现问题的是未修改过的数据,此时重做日志(Redo Log)无能为力。在正常的情况下,MySQL 写数据页时,会写两遍到磁盘上,第一遍是写到 doublewrite buffer,第二遍是写到真正的数据文件中,MySQL 程序是跑在 Linux 操作系统上的,需要跟操作系统交互,所以 MySQL 中一页数据刷到磁盘,要写 4 个文件系统里的页。支持多版本,支持回滚。
2025-06-02 16:23:03
669
原创 掌握 Spring 框架这 10 个扩展点,开发效率直接翻倍!
Component@Override@Service好了,今天的内容就到这里。对 Spring 框架感兴趣的读者可以关注我,后续会分享更多有关 Spring 的相关知识。
2025-06-02 15:50:00
480
原创 2025最新版|八股文面试题库+答案详解(附高频考点解析)
全套的Java面试手册,“性能调优+微服务架构+并发编程+开源框架+分布式”等五大面试专题,包含Tomcat、JVM、MySQL、SpringCloud、SpringBoot、Dubbo、并发、Spring、SpringMVC、MyBatis、Zookeeper、Ngnix、Kafka、MQ、Redis、MongoDB、memcached等等。
2025-05-30 14:01:35
653
原创 牛客网最新互联网大厂内部Java面试八股文终极版
今天为大家整理了目前互联网出现率最高的大厂面试题,所谓八股文也就是指文章的八个部分,文体有固定格式:由破题、承题、起讲、入题、起股、中股、后股、束股八部分组成,题目一律出自四书五经中的原文。初中级和中高级都有,包括 Java 基础,JVM 知识面试题库,开源框架面试题库,操作系统面试题库,多线程面试题库,Tcp 面试题库,架构设计与分布式面试题库,算法面试题库,数据库面试题库,消息队列面试题库,缓存面试题库而JAVA面试八股文也就是为了考验大家的JAVA基础功底,所以强烈建议背诵全文。
2025-05-29 13:54:49
902
原创 Java利器:Pair和Triple无缝解决多值返回,编写高效代码!
一旦创建,其状态就无法修改,因此它是线程安全的。不过需要注意的是,如果存储在三元组中的对象是可变的,那么三元组本身实际上就不再是不可变的。类为我们提供了一种便捷的方式来组织和处理这种具有固定顺序的数据,让我们可以在不创建专门类的情况下轻松返回三个值,减少了创建和维护多个变量的复杂性,使代码更加简洁。是一个可变的键值对类,它允许我们在创建后动态修改键和值,这为我们的编程带来了更大的灵活性。的一个不可变子类,一旦创建完成,其键和值就不能再被改变,这使得它是线程安全的,适合在多线程环境下使用。
2025-05-29 13:48:39
516
原创 Java面试题1000+附答案大全(合适各级Java开发人员)
作为一个“好兵”,我从不打无准备的仗,毕竟知己知彼才能游刃有余。无论现在的你处于什么水平,技术拥有怎样的深度,都不得不承认,任何时候都需要你能够主动地去学习,面试也要提前做准备。如果你的职业发展有更长远的打算和规划,那就更应该沉稳下来,脚踏实地,一步一步。今年的金九银十,若你有需要面试的打算,那么先考察一下自己准备了多少吧?以上这份「Java面试考点大全」+「互联网面试真题」送给你,祝你一切顺利。
2025-05-28 14:31:15
837
原创 实战 2000w 数据大表的优化过程,提供三种解决方案
当我们业务数据库表中的数据越来越多,如果你也和我遇到了以下类似场景,那让我们一起来解决这个问题数据的插入,查询时长较长后续业务需求的扩展 在表中新增字段 影响较大表中的数据并不是所有的都为有效数据 需求只查询时间区间内的。
2025-05-28 14:29:00
952
原创 Java工程师进阶之路:15道大厂必考面试题+答案模板
总的来说,大多数公司的面试都有共同之处,有些重复的我可能就没写了。另外还有一个小技巧可以分享给大家就是,当面试官问你有什么问题的时候,尽量不要就这么过了,平时准备的时候多积累问题最好是偏应用方向的问题,可以在这个时候询问,既可以为自己答疑解惑,也可以有机会给面试官留下好的印象。
2025-05-27 14:43:10
697
原创 网易二面:token是用来鉴权的,那session是用来干什么的?
在这个场景中,JWT用于无状态的用户认证,提供便捷和扩展性;Session作为辅助,提供额外的安全性和状态管理。通过这种结合,可以充分利用两者的优点,确保系统既具备高扩展性,又能提供细致的安全控制。
2025-05-27 14:21:28
367
原创 2025最新Java面试八股文(大厂真题+万字解析)
一次偶然,从朋友那里得到一份“java高分面试指南”,里面涵盖了25个分类的面试题以及详细的解析:JavaOOP、Java集合/泛型、Java中的IO与NIO、Java反射、Java序列化、Java注解、多线程&并发、JVM、Mysql、Redis、Memcached、MongoDB、Spring、Spring Boot、Spring Cloud、RabbitMQ、Dubbo 、MyBatis 、ZooKeeper 、数据结构、算法、Elasticsearch 、Kafka 、微服务、Linux。
2025-05-26 14:37:44
892
原创 一文带你 “看见“ MCP 的过程,彻底理解 MCP 的概念
首先需要在主机上自动或手动配置 MCP 服务,当用户输入问题时, MCP 客户端让 大语言模型选择 MCP 工具,大模型选择好 MCP 工具以后, MCP 客户端寻求用户同意(很多产品支持配置自动同意),MCP 客户端请求 MCP 服务器, MCP 服务调用工具并将工具的结果返回给 MCP 客户端, MCP 客户端将模型调用结果和用户的查询发送给大语言模型,大语言模型组织答案给用户。现在,模型虽然存在速度慢的问题,存在上下文长度限制问题,存在幻觉的问题,存在好用模型价格高的问题等,这些都将逐渐得到解决。
2025-05-26 13:32:00
884
原创 2025年Java面试天花板,互联网大厂架构师终极清单
内卷不可怕,可怕的是你还没意识到学习的重要性就打退堂鼓了~ 希望能帮助到你们的学习,早日拿到心仪的offer~~年薪百万指日可待!!
2025-05-25 14:43:51
827
原创 图解 SQL 执行顺序,通俗易懂!
分组结束之后,我们再执行select语句,因为聚合函数是依赖于分组的,聚合函数会单独新增一个查询出来的字段,这里用紫色表示,这里我们两个id重复了,我们就保留一个id,重复字段名需要指向来自哪张表,否则会出现唯一性问题。不同的是,having语法支持聚合函数,其实having的意思就是针对每组的条件进行筛选。我们之前看到了普通的筛选条件是不影响的,但是having还支持聚合函数,这是where无法实现的。用于确定我们要查询的表的范围,涉及哪些表。按照我们的分组条件,将数据进行分组,但是不会筛选数据。
2025-05-25 14:36:49
675
原创 SpringBoot一行代码搞定请假审批流程,摸鱼时间翻倍!
ACT_RE_*系列表:主要包括流程定义(Process Definitions)、流程资源(Resources)和其他静态信息的存储。: 表示Activiti工作流引擎的入口,用于获取各种管理API操作的对象。: 用于管理流程定义的API,包括流程的部署和删除等操作。: 用于管理流程实例的API,包括启动、暂停和删除流程实例等操作。: 用于管理任务的API,包括创建、完成和查询任务等操作。: 用于查询历史记录的API,包括查询已完成的任务、流程实例和变量等信息。
2025-05-23 13:31:05
937
原创 Java 21 新特性的实践,确实很丝滑!
从 Java 代码的角度来看,虚拟线程感觉就像普通线程,但它们没有 1:1 映射到操作系统/平台线程。它是从虚拟线程到载体线程进而到操作系统线程的M:N映射。有一个所谓的载体线程池,虚拟线程临时映射(“安装”)到该线程池上。一旦虚拟线程遇到阻塞操作,虚拟线程就会从载体线程中移除(“卸载”),并且载体线程可以执行另一个虚拟线程(新的或之前被阻塞的虚拟线程)。载体线程池是ForkJoinPool图片虚拟线程的一些优点:提高应用程序吞吐量提高应用程序可用性减少内存消耗。
2025-05-23 13:24:07
453
原创 2025互联网大厂Java面试必杀技:ZK+Redis+MySQL+Java核心+架构设计,通关秘籍全解析
今天分享给大家的都是目前主流企业使用最高频的面试题库,也都是 Java 版本升级之后,重新整理归纳的最新答案,会让面试者少走很多不必要的弯路。同时每个专题都做到了详尽的面试解析文档,以确保每个阶段的读者都能看得懂。
2025-05-22 14:15:23
444
原创 万字图解 MySQL InnoDB 崩溃恢复过程中都干了哪些事情、Redo 、Log Undo Log 的作用和事务处理
MySQL 崩溃也是一次关闭过程,只是比正常关闭着急了一些。正常关闭时,MySQL 会做一系列收尾工作,例如:清理 undo 日志、合并 change buffer 缓冲区等操作。具体会进行哪些收尾工作,取决于系统变量 innodb_fast_shutdown 的配置。崩溃直接就是戛然而止,撂挑子不干了,还没来得及进行的那些收尾工作怎么办?那就只能等待下次启动的时候再干了,这就是本文要介绍的崩溃恢复过程。
2025-05-22 13:31:24
794
原创 进大厂必备!2025年Java面试真题库:从JVM到分布式全覆盖
当线程 A 持有独占锁a,并尝试去获取独占锁 b 的同时,线程 B 持有独占锁 b,并尝试获取独占锁 a 的情况下,就会发生 AB 两个线程由于互相持有对方需要的锁,而发生的阻塞现象,我们称为死锁。反射是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 Java 语言的反射机制。Java 序列化是为了保存各种对象在内存中的状态,并且可以把保存的对象状态再读出来。
2025-05-21 14:04:52
684
原创 线上 TraceId 集体失踪,如何破局?
并发工具极大提升了并发代码编写的效率,也预先为潜在问题备好高效解法,是开发过程中的得力助手。但开发人员不能仅满足于表面应用,务必深入剖析其实现逻辑,明晰不同场景下的适用规则。若对并发工具一知半解、盲目套用,不仅难以发挥其最大效能,面对复杂问题时会陷入被动,更可能在生产环境中引发严重线上故障。所以 J.U.C 虽好,可不要贪杯哦!
2025-05-21 13:41:24
414
原创 2025最新Java大厂面试八股文终极整理(含答案)
我相信大多 Java 开发的程序员或多或少经历过 BAT 一些大厂的面试,也清楚一线互联网大厂 Java 面试是有一定难度的,小编经历过多次面试,有满意的也有备受打击的。因此呢小编想把自己这么多次面试经历以及近期的面试真题来个汇总分析,阐述下如何去准备,去回答面试官的提问,可以和面试官有个愉快的交谈。
2025-05-20 14:54:44
914
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人