- 博客(108)
- 收藏
- 关注
原创 大模型入门指南:基础概念与原理一文搞懂
1、LLM的基础概念 2、业内LLM的对比 3、transformer架构 4、AI开发的技术基建 5、AI开发的学习网站
2025-05-21 11:41:32
905
1
原创 如何在Cursor中高效使用MCP协议
Cursor是一款集成聊天助手和调试工具的开发平台,通过MCP协议与外部工具互动,帮助开发者高效完成任务。本文通过对一个宁夏一日游的出行攻略来做案例示范:如何在Cursor中使用MCP。
2025-05-17 16:13:06
2004
1
原创 计网相关面试题
(超高频)客户端向服务器发送 SYN 报文,然后客户端进入同步发送状态,等待服务器确认。服务端发送 ACK 确认服务端的 SYN 报文,同时发出一个 SYN 报文,然后服务端进入同步接收状态。客户端接收到服务端的 SYN、ACK 报文,发送 ACK报文 确认服务端的 SYN 报文,然后客户端和服务器端都进入 ESTABLISHED(连接已建立) 状态,完成 TCP 三次握手。为什么不是四次握手?为什么不能两次握手?因为三次握手才能保证双方具有接收和发送的能力。
2025-04-07 10:15:40
1123
1
原创 Redis相关面试题
(高频)候选人缓存穿透是指查询一个一定不存在的数据,如果在缓存和数据库中都不存在,每次这个值的查询请求都会穿透到数据库,可能导致数据库挂掉。解决方案的话,我们通常都会用布隆过滤器来解决它,或者给缓存设个空值(null),并设置较短的过期时间。这样可以避免重复查询数据库。面试官(高频)候选人布隆过滤器主要是用于检索一个元素是否在一个集合中。它的底层主要是先去初始化一个比较大数组,里面存放的二进制0或1。
2025-04-07 10:11:06
755
原创 SSM框架相关面试题
(高频)动态代理是一种在运行时动态生成代理对象,并在代理对象中增强目标对象方法的技术。它被广泛用于 AOP(面向切面编程)、权限控制、日志记录等场景,使得程序更加灵活、可维护。动态代理可以通过 JDK 原生的 Proxy 机制或 CGLIB 方式实现。接下来我会讲述动态代理的实现方式和执行流程。
2025-04-07 10:08:09
1061
原创 常见的HR面问题汇总
我是一名(专业)毕业生,对 Java 及后端开发有较深入的研究。在校期间参与过多个项目,积累了(如分布式系统、微服务架构等)方面的经验。对代码质量、系统优化等有较高要求,希望能在贵公司进一步提升自己,为团队贡献价值。
2025-04-05 17:58:24
681
原创 十道海量数据处理面试题与十个方法总结
在面对超大数据时,无法一次性加载到内存中处理。这时就需要一些高效的算法和数据结构。以下是10个常用方法的详细总结,包含原理、适用场景和典型问题示例。
2025-04-05 17:55:56
870
原创 操作系统高频面试题
⭐️在反复复习面试题时,我发现不同资料的解释五花八门,容易造成概念混淆。尤其是很多总结性的文章和视频,要么冗长难记,要么过于简略,导致关键知识点含糊不清。⭐️为了系统梳理知识,我决定撰写一份面试指南,不只是简单汇总,而是融入个人理解,层层拆解复杂概念,构建完
2025-03-12 16:58:36
699
原创 后端面试高频笔试题(非常规LeetCode类型)
常见的五种单例模式的实现⽅式;约瑟夫环;交替打印奇偶数;交替打印 ABC;三个线程交替打印 1 到 99;实现⼀个线程安全的计数器;控制三个线程的执⾏顺序;五⼈赛跑裁判;LRU 缓存实现
2025-03-11 12:51:16
1147
原创 40亿个QQ号,限制1G内存,如何去重?
Bitmap是一种利用二进制位表示元素存在性的数据结构。每个元素只占用 1 位(bit),用0表示不存在,1表示存在。这种方式极大地节省了内存,适合处理大数据量去重问题。对于 40 亿个 QQ 号(范围512MB 小于 1GB,完全满足限制条件。是一种基于 Bitmap 的优化数据结构,由 Burton Howard Bloom 于 1970 年提出。它通过多个哈希函数将元素映射到位数组,进一步减少内存占用。
2025-03-05 18:03:10
730
原创 常用验证码登录流程设计
验证码(Verification Code)是一种常见的安全机制,通常用于验证用户输入、确认用户身份或操作请求的合法性。通过验证码,可以有效防止恶意攻击、批量操作以及非授权操作。
2025-03-05 17:25:16
903
原创 如何设计一个动态线程池?
动态线程池是一种能够在应用程序运行过程中实时调整其核心配置参数(如核心线程数、最大线程数等)而无需重启服务的线程池。它不仅支持动态修改线程池的参数,还通常内置了监控和告警功能,以帮助开发人员实时掌握线程池的状态。
2025-02-26 15:10:29
1443
原创 如何设计一个RPC框架?
设计一个RPC框架是面试中常见的问题,尤其是对于后端开发岗位。RPC(远程过程调用)框架的核心目标是让调用远程服务像调用本地方法一样简单。
2025-02-26 11:30:40
773
原创 位运算实用技巧与LeetCode实战
不过,这些技巧大多相对晦涩,并不适合每个人深入学习,更多时候它们更适合作为参考资料。真正值得掌握的是那些既有趣又实用的位运算技巧。因此,本文会从浅入深,先介绍一些有趣的但可能用处不大的位运算技巧,再总结一些在算法问题和实际开发中非常常见且实用的位运算技巧。
2025-02-22 16:44:35
728
原创 DeepSeek部署全攻略:四大方案详细解析
调用 API + DeepSeek 服务器:最简单的方式,直接调用 DeepSeek 提供的 API,适合不想折腾硬件、追求快速上手的用户。第三方平台(如秘塔搜索、硅基流动):通过第三方平台使用 DeepSeek 的能力,适合不想自己部署模型,但又需要灵活使用的场景。本地算力部署(基于 Ollama):在个人电脑或本地服务器上运行模型,适合对数据隐私要求高、愿意折腾硬件的用户。服务器部署:在企业级硬件或云服务器上部署完整版模型,适合对性能要求高、预算充足的企业用户。
2025-02-13 22:08:44
6874
原创 如何设计一个高效、稳定的秒杀系统?
秒杀系统的设计本质上是一门平衡的艺术,需要在流量洪峰与系统资源之间找到最优解。面对突发的大规模并发请求,系统既要保证核心业务的稳定运行,又要充分利用资源,提高吞吐量。优化秒杀系统的策略应遵循从核心链路逐步优化的原则,首先确保系统不崩溃,再逐步追求极致性能。初期可通过缓存、限流、异步削峰等手段减少数据库压力,随着并发量的提升,引入分布式架构、异地多活、全链路异步化,提升整体抗压能力。每一次大促都是对系统的一次严峻考验,不仅检验系统的稳定性、扩展性,也暴露潜在的瓶颈。
2025-02-10 23:49:56
1030
原创 贪心与单调栈的艺术:从三道 LeetCode 题看最小字典序问题(316/402/1081)
如何构造字典序最小的字符串。它们的核心思路都是贪心 + 单调栈,通过维护一个递增的结构,在每一步选择当前最优的字符,同时确保后续字符仍然满足条件。316 和 1081的重点是去重,确保每个字符只出现一次,同时让字典序最小。402则是通过删除数字来让数值最小,虽然不需要去重,但同样需要保证每一步的选择是最优的。无论是去掉重复字符、删掉多余数字,还是优化子序列,这套方法都能帮我们高效地找到最优解。掌握了贪心 + 单调栈的思路,这类问题就能迎刃而解了!
2025-02-06 23:55:46
1007
原创 归并延拓:LeetCode归并排序逆序对问题
如果您渴望探索更多精心挑选的高频LeetCode面试题,以及它们背后的巧妙解法,欢迎您访问我的博客,那里有我精心准备的一系列文章,旨在帮助技术爱好者们提升算法能力与编程技巧。👉更多高频有趣LeetCode算法题在我的博客中,每一篇文章都是我对算法世界的一次深入挖掘,不仅包含详尽的题目解析,还有我个人的心得体会、优化思路及实战经验分享。无论是准备面试还是追求技术成长,我相信这些内容都能为您提供宝贵的参考与启发。期待您的光临,让我们共同在技术之路上不断前行!
2025-01-19 21:29:55
1199
原创 算法之旅:LeetCode 拓扑排序由简入繁完全攻略
解决依赖问题,如课程安排(207,210)。处理图中状态分类的问题,如安全状态(802)。分析关键点或入度特性,如找到最小的起点集合(1557)。拓扑排序不仅是一种算法,更是一种理解图结构的思维方式。在面试中,遇到类似依赖关系的题目,尝试从有向图的角度切入往往是一个很好的突破点。
2024-11-30 11:45:19
981
原创 深度解析:掌握LeetCode高频前缀和问题的关键技巧
希望本次题目的解析能够加深您对前缀和技巧的理解,并激发您解决更多复杂问题的兴趣。如果您渴望探索更多精心挑选的高频LeetCode面试题,以及它们背后的巧妙解法,欢迎您访问我的博客,那里有我精心准备的一系列文章,旨在帮助技术爱好者们提升算法能力与编程技巧。👉更多高频有趣LeetCode算法题在我的博客中,每一篇文章都是我对算法世界的一次深入挖掘,不仅包含详尽的题目解析,还有我个人的心得体会、优化思路及实战经验分享。无论是准备面试还是追求技术成长,我相信这些内容都能为您提供宝贵的参考与启发。
2024-11-27 22:45:59
1162
原创 几道高频面试中的有趣LeetCode链表算法题(进阶版)
首先拿到这道题直观的感受就是可以将链表转换为其它类型来进行对数据排序,然后重新生成链表的方法得到结果,但是这样不够优雅,要面临一定的时间复杂度和空间复杂度的开销,有没有一种别的进阶方法能在 `O(Nlog n)` 时间复杂度和常数级空间复杂度下,对链表进行排序呢?
2024-11-20 21:28:18
1109
原创 FreeMarker模版引擎入门及实战
模板引擎是一种用于生成动态内容的库或框架,它通过将预定义的模板和特定数据结合,生成最终的输出内容。模板引擎的使用有许多优点。首先,它提供了模板文件的语法和解析功能。开发者只需按照特定格式(例如 ${参数} 的语法)编写模板文件,模板引擎就能自动将数据注入模板,生成完整的文件,而不需要手动编写解析逻辑。
2024-11-05 23:49:14
1566
原创 面试必备:RabbitMQ与Kafka核心知识点总结
在无数次的复习巩固中,我逐渐意识到一个问题:面对同样的面试题目,不同的资料来源往往给出了五花八门的解释,这不仅增加了学习的难度,还容易导致概念上的混淆。特别是当这些信息来自不同博主的文章或是视频教程时,它们之间可能存在的差异性使得原本清晰的概念变得模糊不清。更糟糕的是,许多总结性的面试经验谈要么过于繁复难以记忆,要么就是过于简略,对关键知识点一带而过,常常在提及某项技术时,又引出了更多未经解释的相关术语和实例,例如,在讨论ReentrantLock时,经常会提到这是一个可重入锁,并存在公平与非公平两种实现方
2024-10-24 11:06:36
1121
原创 面试中的JVM:结合经典书籍的深度解读
(源自《深入理解Java虚拟机》第三版 2.2.1节)1)程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。字节码解释器⼯作时通过改变这个计数器的值来选取下⼀条需要执⾏的字节码指令,分⽀、循环、跳转、异常处理、线程恢复等功能都需要依赖这个计数器来完成。2)另外,为了线程切换后能恢复到正确的执⾏位置,每条线程都需要有⼀个独⽴的程序计数器,各线程之间计数器互不影响,独⽴存储,我们称这类内存区域为“线程私有”的内存。
2024-10-21 17:01:16
1027
原创 如何一步步实现带过期时间的LRU算法?
LRU 缓存机制(Least Recently Used Cache)是力扣(LeetCode)上一道非常重要的题目,在技术面试中具有很高的出现频率。它结合了链表的插入删除操作和哈希表的快速查找特性。LRU 缓存问题是许多软件公司(小中大厂均有所涉猎)面试中的经典题目,几乎每一位软件工程师都可能在面试过程中遇到。
2024-10-16 22:51:40
988
原创 速通买卖股票的最佳时机(动态规划一网打尽)
👊虽然在处理某些股票相关的问题时,直接使用简单的方法可能看起来更直接也更容易实现,但我希望通过采用一种更为通用的方法——比如来解决问题,即便这在开始时可能会让人觉得有些复杂或繁琐。实际上,使用如等方法可能在解决这类问题时更加直观且效率更高。然而,我们的目标是通过动态规划这种更具普遍性的策略,帮助大家建立起解决这类问题的能力,使得在未来面对更多类似挑战时可以更加从容不迫,并且能够用。这样做是为了长远考虑,帮助积累解决问题的通用技巧,而不是仅仅针对单一问题寻找捷径。
2024-10-08 23:44:47
971
原创 大师级GC调优:剖析高并发系统的垃圾回收优化实战
一般的调优步骤大体上分为以下几个部分:1. 熟悉业务场景2. (发现问题)性能监控:GC 频繁、CPU load过高、OOM、内存泄漏、死锁、程序响应时间较长等。3. (排查问题)性能分析:打印GC日志,通过GCviewer或者[http://gceasy.io](http://gceasy.io)来分析日志信息;运用命令行工具,jstack,jmap,jinfo等;dump出堆文件,使用内存分析工具分析文件使用阿里Arthas,或jconsole,VisuaIVM来实时查
2024-10-03 20:08:26
930
原创 「轻盈」之旅:OOM故障重现与解决
本项目均采用 `VisualVM 2.1.10` 进行dump文件的分析。JDK1.8及之前所在目录的`bin`目录下有自带的VisualVM,JDK1.8以后需要自行手动安装下载。下载地址:[https://visualvm.github.io/download.html](https://visualvm.github.io/download.html)
2024-10-01 23:12:13
1150
原创 二刷LeetCode:“51.N皇后 & 37.解数独”题解心得(简单易懂)
🍏我第一次尝试这两道回溯算法题是在2023年的冬天。那一年,西安的冬天冷得让人直哆嗦,而在暖和得几乎让人犯困的图书馆里,这两道题却让我的心情比外面的天气还要凉快几分,简直是雪上加霜,冷到心坎里去了。之前跟着刷题时,前面几道关于子集、组合和排列的问题简直就像是小菜一碟,让我一度觉得自己又行了。结果呢?这两道‘困难’级别的题目直接给我来了个下马威。如果你第一次就能把解析从头到尾捋个差不多,那你的水平就很NB了!(反正我当时是直接懵圈,只能尴尬而不失礼貌地保持沉默)
2024-09-24 11:59:23
1175
原创 MySQL面试不翻车指南:轻松掌握数据库秘籍
在无数次的复习巩固中,我逐渐意识到一个问题:面对同样的面试题目,不同的资料来源往往给出了五花八门的解释,这不仅增加了学习的难度,还容易导致概念上的混淆。特别是当这些信息来自不同博主的文章或是视频教程时,它们之间可能存在的差异性使得原本清晰的概念变得模糊不清。更糟糕的是,许多总结性的面试经验谈要么过于繁复难以记忆,要么就是过于简略,对关键知识点一带而过,常常在提及某项技术时,又引出了更多未经解释的相关术语和实例,例如,在讨论ReentrantLock时,经常会提到这是一个可重入锁,并存在公平与非公平两种实现方
2024-09-22 10:56:33
1713
原创 Java集合必知必会:热门面试题汇编与核心源码(ArrayList、HashMap)剖析
正是基于这样的困扰与思考,我决定亲自上阵,撰写一份与众不同的面试指南。这份指南不仅仅是对现有资源的简单汇总,更重要的是,它融入了我的个人理解和解读。我力求回归技术书籍本身,以一种层层递进的方式剖析复杂的技术概念,让那些看似枯燥乏味的知识点变得生动起来,并在我的脑海中构建起一套完整的知识体系。我希望通过这种方式,不仅能帮助自己在未来的技术面试中更加从容不迫,也能为同行们提供一份有价值的参考资料,使大家都能在这个过程中有所收获。
2024-09-21 09:40:02
1428
原创 Java SE基础知识详解:源于技术书籍的深度解读
正是基于这样的困扰与思考,我决定亲自上阵,撰写一份与众不同的面试指南。这份指南不仅仅是对现有资源的简单汇总,更重要的是,它融入了我的个人理解和解读。我力求回归技术书籍本身,以一种层层递进的方式剖析复杂的技术概念,让那些看似枯燥乏味的知识点变得生动起来,并在我的脑海中构建起一套完整的知识体系。我希望通过这种方式,不仅能帮助自己在未来的技术面试中更加从容不迫,也能为同行们提供一份有价值的参考资料,使大家都能在这个过程中有所收获。
2024-09-18 22:00:17
1311
原创 Java多线程面试精讲:源于技术书籍的深度解读
正是基于这样的困扰与思考,我决定亲自上阵,撰写一份与众不同的面试指南。这份指南不仅仅是对现有资源的简单汇总,更重要的是,它融入了我的个人理解和解读。我力求`回归技术书籍本身`,以一种层层递进的方式剖析复杂的技术概念,让那些看似枯燥乏味的知识点变得生动起来,并在我的脑海中构建起一套完整的知识体系。我希望通过这种方式,不仅能帮助自己在未来的技术面试中更加从容不迫,也能为同行们提供一份有价值的参考资料,使大家都能在这个过程中有所收获。
2024-09-15 01:09:30
1506
原创 都2024年了,你还在手动敲SQL吗?试试这款开源免费的AI数据库!
就在为这些问题苦恼之际,我不禁想,是否有一款工具能够同时简化这一系列的操作,并且最好还能集成AI能力,以减轻手动编写SQL的压力?带着这样的需求,我在GitHub上搜索相关项目时,偶然发现了一个名为Chat2DB的智能数据库客户端。这款工具已经获得了接近15K的Star,并且成功跻身GitHub的开源项目TOP100榜单之中。
2024-08-24 15:30:17
3374
3
原创 从零开始掌握限流技术:计数器、滑动窗口、漏桶与令牌桶详解
随着互联网业务的发展,如`秒杀活动`、`双十一促销`等场景,系统经常会面临高并发流量的挑战。在这种情况下,如果不加以限制,系统可能会因为流量过大而崩溃。为了避免这种情况发生,就需要采取限流措施来保护系统。
2024-08-19 17:17:50
1574
原创 MongoDB & Redis 快速上手:NoSQL数据库操作精要
☘️随着大数据时代的到来,非关系型数据库因其灵活性和扩展性逐渐受到开发者的青睐。 和 作为两种非常流行的 数据库,各自拥有独特的特性和应用场景。 是一款的数据库,适用于需要存储复杂数据结构的应用;而 则以其卓越的速度和内存存储能力著称,非常适合和。✍️本文旨在为初学者提供一份简洁明了的手册,帮助大家快速掌握 和 的基本语法及常用操作。通过本指南的学习,读者将能够迅速上手这两种数据库,为实际项目开发奠定坚实的基础。🤲本文内容均基于撰写,并附带了相应的 SQL 语法链接。我希望在为大家提供正确语法规
2024-08-17 19:17:45
1357
原创 从零开始:MySQL、Oracle、PostgreSQL、SQL Server 快速上手
余撰此文,乃为导引初窥数据库之学人,俾其明了`表、视图、函数、存储过程及触发器之义理,及其于诸般平台之上`创建`、`修改`与`废弃`之法式。盖初学之人,常陷于迷雾之中,难辨东西,故须详述而明之。谨记,学者务须多览`官方文档!本文皆基于官方文档撰写,以求精准无误。盖官方文档乃权威之所出,详实可信,为学者之必备良伴。
2024-08-02 19:25:16
1457
原创 DBMotion x Chat2DB:高效迁移,优雅同步,数据腾飞不再愁
数据传输服务DBMotion是一款轻量、绿色的数据库迁移同步校验工具。支持国产化数据迁移、支持容灾演练、支持两地三中心和异地多活;源库无感知、简单易集成、丝滑高性能。助您在多云之间随心迁移、自由容灾。v1.0.0 DBMotion插件支持的对象迁移、全量数据迁移、增量同步;目前支持 5.6、5.7、8.0 三个版本的同版本迁移或向高版本迁移。目标数据库中存在相同名字的对象将会被重建,所以在迁移前请仔细检查目标数据库以避免覆盖和损坏数据。建议在非高峰时段进行数据迁移,以减少数据更新和DDL变更的影响。
2024-07-25 16:39:34
1540
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人