自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 收藏
  • 关注

原创 互联网大厂Java全栈面试故事:从Spring Boot、分布式到AI业务场景深度剖析

Asom是一名想进互联网大厂的搞笑程序员,这天他来到了知名科技公司的Java开发面试现场,与超级严肃的面试官展开了三轮迭代面试。故事全文复现真实问答,涵盖核心主流技术栈、全链路业务场景和实战解答。

2025-11-28 16:25:42 272

原创 设计模式之规则树

这里的方法,其中get方法返回值实际上就是我下一个逻辑需要调用的实体类,也即是T,需要的参数例如一些个人信息就可以存入到路径当中进行传输,hanlder策略器则是实现逻辑。对于所有的实现类,通过继承我们的路由,重写apply和get方法,就可以实现责任树下的链式结构。我们先建立两个抽象类也就是我们的执行节点handler和策略器,定义标准。调用当前的方法,获取下一个类的参数,从而就可以指定顺序。小付哥的实力还是太强了。

2025-11-18 23:35:56 544

原创 大厂Java面试场景实录:产业互联网下的微服务、消息队列与AI技术全链路问答

本文以产业互联网场景为主线,模拟大厂Java面试,涵盖微服务、消息队列、缓存、AI与监控等核心技术及实际业务,适合Java工程师面试与实战学习。

2025-11-16 10:00:18 435

原创 大厂Java面试实录:支付与金融服务场景下分布式、缓存与安全技术全链路问答

本文以支付与金融服务为主线,模拟大厂Java面试,涵盖分布式、消息队列、缓存、安全、监控与AI风控等技术及实际业务,适合Java工程师面试与实战学习。

2025-11-15 20:00:27 311

原创 大厂Java面试故事:在线教育场景下的分布式、缓存与AI技术全链路深度问答

本文以在线教育场景为主线,模拟大厂Java面试,涵盖分布式架构、缓存优化、消息队列、AI智能推荐、安全与监控等核心技术点,适合Java工程师面试与实际开发学习。

2025-11-15 15:00:15 343

原创 大厂Java面试实战:互联网医疗场景下的微服务、缓存与安全技术全链路问答

本文以互联网医疗场景为主线,模拟大厂Java面试,涵盖微服务、缓存、数据安全、AI与监控等核心技术及实际业务,适合Java工程师面试与实战学习。

2025-11-15 10:00:37 242

原创 大厂Java面试实录:智慧物流场景下的微服务、消息队列与AI技术全链路问答

本文以智慧物流为主线,模拟大厂Java面试,涵盖微服务、消息队列、AI与监控等核心技术及业务结合,适合Java工程师面试与实战学习。

2025-11-14 20:00:30 378

原创 大厂Java面试故事:电商场景下的微服务、缓存与AI技术全链路实战问答

本文以电商场景为主线,模拟大厂Java面试,涵盖微服务、缓存、消息队列、AI等全链路核心技术及业务衔接,适合Java工程师学习面试与实战。

2025-11-14 15:00:33 299

原创 大厂Java面试故事:从Spring Boot到微服务与AI,技术点全覆盖实战问答

本文通过故事化面试,涵盖了大厂Java岗位从基础到AI场景的核心技术与业务衔接,适合一线Java工程师和小白学习。

2025-11-14 10:00:33 243

原创 基于mcp实现csdn自动发帖 (下)

封装完方法之后就是项目调用以及部署了。

2025-11-14 00:13:46 331

原创 基于mcp实现csdn自动发帖 (上)

简单的基于aimcp实现自动发帖,大家可以用当前小项目来做为mcp的练习首先,我们应该知道mcp的实现逻辑,他是通过封装SyncMcpToolCallbackProvider的bean对象,告知ai我当前有什么工具,有什么作用,以及应该传入什么参数,然后让大模型来调用当前的对象。

2025-11-13 22:38:04 837

原创 互联网大厂Java求职面试记:严肃面试官与搞笑水货程序员的对决

在某互联网大厂的面试间,严肃的面试官与搞笑的水货程序员asom展开了一场激烈的技术问答。asom既有亮眼的答复,也有令人哭笑不得的回答,整个过程既紧张又充满趣味。

2025-11-13 14:06:08 243

原创 互联网大厂Java面试现场:严肃面试官vs搞笑水货程序员Asom的三轮提问

面试官(严肃):欢迎来到我们互联网大厂的Java面试,Asom。今天我们会通过三轮提问,考察你的Java核心能力和主流技术栈知识。

2025-11-13 14:03:52 890

原创 互联网大厂Java求职面试实战:Spring Boot与微服务架构的技术深探

面试官:严肃专业,善于引导深入技术细节。Asom:幽默搞笑的水货程序员,简单问题能答出,复杂问题回答模糊。

2025-11-11 10:00:25 347

原创 互联网大厂Java求职面试实战:Spring Boot与微服务架构全解析

面试官:严肃专业,善于引导深入技术细节。Asom:幽默搞笑的水货程序员,简单问题回答准确,复杂问题回答模糊。

2025-11-11 08:01:01 300

原创 互联网大厂Java求职面试实战:Spring Boot与微服务架构全解析

面试官:严肃专业,善于引导深入技术细节。Asom:幽默搞笑的水货程序员,简单问题回答准确,复杂问题回答模糊。

2025-11-11 08:00:30 351

原创 互联网大厂Java求职面试实战:Spring Boot到Kubernetes的技术问答

面试官:严肃、专业,善于引导和深入挖掘技术细节。Asom:搞笑的水货程序员,简单问题回答得体,复杂问题含糊其辞。

2025-11-10 22:00:27 473 1

原创 互联网大厂Java面试实录:严肃面试官与搞笑程序员的三轮技术问答

Asom,先说说Java内存模型(JMM)是什么?:呃,Java内存模型就是Java程序里的内存安排?保证多线程能同步吧。(点头):不错,能说说JMM的主要作用吗?:保证线程间的可见性,还有防止指令重排。:很好。那你知道synchronized和ReentrantLock的区别吗?:这个嘛,synchronized是关键字,ReentrantLock是类,功能差不多。:嗯,有些区别,比如可重入性、响应中断、性能等,你再深入了解下。:那你平时怎么用线程池?说说ThreadPoolExecutor的核心参数。

2025-11-09 20:47:07 800

原创 互联网大厂Java求职者面试实录:严肃面试官VS搞笑水货程序员Asom

在互联网大厂的面试间,面试官严肃地坐在桌前,面前是一位略显紧张但又自信满满的程序员Asom。接下来,三轮技术面试正式开始。

2025-11-09 17:22:08 306

原创 rag-mcp

​ 首先应该是到底什么是rag,在我看来,实际上就是我们在向ai提问的时候受到字数的限制,无法将所有的内容全部提交给ai,所以我们需要把我们需要的内容提取出来,将这部分内容提交给ai,获得更准确的回答,换个切实的场景,如果我们有一个项目,现在你有很多的建表语句进行了储存,但是你现在需要其中一张比表的实体类,rag的思想可以帮助你不需要自己求查询数据创建实体类,他会自己对项目进行扫描,找到我们需要的内容。

2025-11-04 21:11:30 446

原创 LeetCode Hot100 (二叉树)

LeetCode Hot100 (二叉树) 个人题解

2025-06-30 21:02:08 908

原创 LeetCode Hot100(图论)

LeetCode Hot100 (图论) 个人题解

2025-06-30 18:51:22 946

原创 LeetCode Hot100(回溯)

综合讲述暴力枚举,dfs,子集枚举

2025-06-26 15:38:00 1210

原创 LeetCode Hot100(二分)

Hot100 二分

2025-06-26 00:57:20 900

原创 LeetCode Hot100(栈)

Hot 100 栈

2025-06-25 14:29:39 633

原创 Neo4j 入门到精通(Cypher语言详解)

Neo4j是一款开源图数据库,采用节点、关系和属性存储数据,支持高效的复杂关系查询。它提供ACID事务、集群部署和Cypher查询语言,适用于社交网络、推荐系统等场景。与关系型数据库相比,Neo4j在图遍历和连接查询方面具有天然优势。通过原生图存储结构和多种索引优化,Neo4j成为处理高度关联数据的理想选择,尤其擅长路径查找和关系分析。

2025-06-18 22:01:19 1444 1

原创 设计模式之责任链模式

简单介绍责任链设计模式,以及举个对应的实现责任链模式的具体业务场景

2025-06-18 19:47:45 343

原创 微信小程序登录(有后端交接,附带代码)

简述微信小程序如何与后端进行对接,以及一些id,手机号的获取以及使用

2025-06-17 21:55:59 730

原创 双token三验证(Refresh Token 机制​)

解决单token带来的风险问题

2025-06-17 21:22:01 1286

原创 ​RBAC(基于角色的访问控制)权限管理详解

RBAC(基于角色的访问控制)是一种权限管理模型,通过角色作为中间层连接用户和权限。核心是将用户与角色绑定,角色与权限绑定,实现灵活高效的权限控制。RBAC包含基础模型(RBAC0)、角色继承(RBAC1)、约束(RBAC2)和混合模型(RBAC3)。优势包括解耦用户权限、灵活角色分配、支持继承和便于审计。适用于企业管理系统、CMS、云平台等场景。相比ABAC,RBAC更适合角色固定的系统。现代开发框架已广泛支持RBAC实现。

2025-06-08 21:54:09 1370

原创 GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考。

2025-06-08 21:32:36 1378

原创 LeetCode Hot100(技巧)

不难发现,我们可以统计所有的0,1,2的数量,但是看完其他人的题解后发现不太正确,因此可以通过指针去走,我采取的是一个三指针的方法,我们利用当前点为i,因为我们所有的2肯定是一定放在最后面,所以定义r指针为标记为2的,再创建一个指针标记为1的,那么当i遇到当前节点不是0的时候,l就往后去走找0,当l位置为2时,就放到r的地方,也就是把2从后往前放,就可以了,但是这样写起来代码比较复杂。如果不存在下一个更大的排列,那么这个数组必须重排为字典序最小的排列(即,其元素按升序排列)。,返回其中的多数元素。

2025-06-08 21:12:51 448

原创 LeetCode Hot100 (贪心)

我们知道对于每个位置有一个长度到达后面,其实,对于当前位置的长度,他可以是前一个位置的长度-1,或者是前两个位置的长度-2,那么我们就可以贪心下去,看看最后一格的长度是否大于0即可。实际上就是模拟题,我们记录每个字符所能够到达的最远的右边届,当当前位置等于遇到的所有的字符的最大右届的时候,就是一个分割的字符的答案了。这边思考了一个简单dp做法,我们发现,对于每一个位置,他应该是由前面的可以到达他的最小值+1转移过来的,那么我们直接模拟即可。数组中的每个元素代表你在该位置可以跳跃的最大长度。

2025-05-31 15:19:07 544

原创 LeetCode Hot100(动态规划)

我们直接可以手动模拟,设置dpi是当前位置是否能够被拼接成功,那么我们每一次枚举到一个位置,就去枚举所有的字串,如果当前的字串能够完全的匹配i和i-length+1的字串,就去看看i-length是否可以,如果可以当前位置也就可以了。我们由于只能分成两个集合,那么两个集合的和明显是总的和/2 ,记录总和为sum,每个数组的和也就是sum/2,又发现,每个元素只能拿一个,那我们如果能够抽起来sum/2就可以了,去跑一便01背包。不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。

2025-05-30 17:58:58 1213

原创 LeetCode Hot100(多维动态规划)

也算是比较板子的dp了,我们设dp[i][j]为以i和j为结尾的最长子序列,它实际上有两种可能,一个是i和j对应的字符相等,那么直接就是i-1,j-1加1即可,如果不同,就是i-1,j,或者i,j-1转移过来即可。比较板子的dp,实际上就是到达一个点有两种方式,从上面来或者是左边,加起来就可以了。这边直接采取的暴力的做法,枚举每一个字符串,看看是不是回文的即可。跟上一题一样,该题取一下最小值即可。与上一题几乎一致,看一下代码即可。

2025-05-29 21:30:59 449

原创 LeetCode Hot100(矩阵)

也就是围着图一直顺时针的绕行,我们开一个标记当前节点是否走过的数组,就会发现每一次我们会先往左走,然后下,然后右,然后上,模拟即可,但是需要注意一点,就是在判断是不是向左边走的时候,应该先判断可不可以向上面走。我们不难发现,n*m的时间复杂度是完全ok的,但是为了降低时间复杂度,我们可以根据当前矩阵的性质,枚举列,找到当前列第一个》=的,如果等于直接返回,然后由于每一列每一行都是递增的,一点点向上枚举即可。

2025-05-29 19:14:41 674

原创 LeetCode Hot100 (普通数组)

我们定义前一个为a,后面一个为b,进行排序之后(a小的在前面,其次b小的在前面),这样就成为了一个线段覆盖问题,就会出现三种情况,简单的前缀和问题,我们记录当前位置前面的乘机,与当前位置后面的乘机即可,注意末尾和0位置应当为1。简单的dp问题实际上,如果当前位置的前一个位置的和大于0我们直接加上,不大于就忽略即可。不难发现,最大的正数也不会超过数组的长度,建立数组,一个一个放入即可。2.当前线段与前一个交接了一部分(两条线段合并)1.当前线段被前一个包围(忽略即可)3.不包含(再起一段)

2025-05-28 22:01:45 358

原创 LeetCode Hot100(字串)

跟之前的滑动窗口非常像,我们只需要统计当前区间是否满足完全包含t就可以了,需要注意的一点是,最好通过左端点+len放最小值最后提取字符串时间较短。优先队列维护即可,因为自定义优先队列返回的是自定义最大最小值,我们每一次放入值之后,开始特判当前位置过期的就可以了。因为存在负数,该题只能直接暴力了,当然,也可以使用前缀和,但是时间复杂度一样。

2025-05-23 15:23:12 292

原创 LeetCode Hot100(滑动窗口)

跟上一题实际上是一样的思路,但是我们需要注意一点,一个是当前的字符长度应当等于我们需要的字符长度,另外一方面就是每个字母的数量也应当相等就可以了。我们都知道,每一个字母都对应一个ascii码,那我们从前往后遍历,当出现重复字符的时候,左边的指针开始走,直到把重复的字符删除。

2025-05-22 21:00:38 476

原创 LeetCode Hot100 (双指针)

标记指针,当前位置为0向后面移动即可。

2025-05-22 20:56:17 424

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除