- 博客(23)
- 收藏
- 关注
原创 RAG基础知识
缺乏上下文感知:由于依赖词汇匹配而非语义理解,检索到的文档常常无法捕捉查询的语义细微差别输出碎片化:缺乏先进的预处理或上下文整合,常常导致不连贯或过于泛化的回答可扩展性问题:关键词检索技术在处理大型数据集时常常失败,无法识别最相关信息。
2025-08-26 11:19:27
1064
原创 八股知识整理——RabbitMQ
消息队列(MQ)是一种进程间通信的中间件,通过生产者-消费者模式实现系统解耦、异步通信和流量削峰。核心组件包括生产者、Broker(消息处理中心)和消费者,通过持久化、确认机制等保证可靠性。常见问题包括消息丢失、重复消费和顺序问题,可通过持久化、幂等机制等解决。RabbitMQ作为典型实现,支持多种交换机模式(Direct/Topic/Fanout)和可靠机制(重试、确认)。SpringAMQP提供便捷的集成方式,通过注解配置队列和交换机。MQ适用于高并发、分布式系统等场景,能有效提升系统稳定性和性能。
2025-08-22 15:27:51
1113
原创 八股知识整理——设计模式
什么是设计模式:程序设计的方法论为什么参考设计模式:让面向对象编程的程序保持程序结构良好单一职责原则:单一模块只负责单一功能开放封闭原则:封闭内部功能,开放功能扩展里氏替换原则:子类应当具备替换父类的能力依赖倒置原则:如果底层模块需要应用顶层模块的功能,需要先将顶层模块的功能抽象为底层方法,再进行调用接口分离原则:模块间通过抽象接口类进行隔离。
2025-08-22 15:20:28
834
原创 八股知识整理——Redis
Redis是一个高性能的key-value内存数据库,支持多种数据结构。它采用单线程模型结合多路复用提高IO效率,同时通过多线程网络IO充分利用CPU资源。Redis提供持久化机制(RDB快照和AOF日志)保证数据安全,并支持主从复制和哨兵机制实现高可用。在使用时需注意缓存雪崩、击穿和穿透问题,可通过设置随机过期时间、互斥锁和布隆过滤器等方案解决。Redis支持字符串、列表、哈希、集合和有序集合等数据结构操作。在Spring中可通过配置RedisTemplate来简化操作,需注意序列化问题。
2025-08-22 15:16:18
1025
原创 八股知识整理——MYSQL
本文摘要:数据库系统的一致性问题源于分布式环境下的多节点操作。事务通过ACID特性(原子性、一致性、隔离性、持久性)保障数据安全,其中隔离性通过锁机制和MVCC实现。MySQL采用B+树索引、主从同步等技术优化性能,并通过不同隔离级别平衡一致性与可用性。并发控制需考虑锁粒度、隔离级别选择,以及针对业务场景的读写分离策略。优化建议包括合理设计索引、利用查询缓存、拆分大查询等,同时需要注意索引维护成本与查询效率的平衡。
2025-08-22 15:02:26
1018
原创 Neural ODE基本原理
摘要:Neural ODE将深度神经网络(DNN)视为常微分方程(ODE)的离散化求解过程。传统DNN的层级结构被转化为连续时间动态系统,其中前向传播对应ODE数值积分,反向传播采用伴随方法计算梯度。关键创新点包括:1) 将离散层参数连续化为时间函数;2) 固定参数θ简化计算;3) 通过ODE动态系统实现自适应计算和高效存储。研究表明,即使使用时间无关参数,Neural ODE仍能逼近传统DNN,并为网络优化提供理论框架。该方法在保持表达能力的同时,显著提升了计算效率和理论可解释性。
2025-08-22 14:44:30
885
原创 SVM支持向量机原理与迁移学习
传统SVM仅依赖输入特征进行分类,而SVM+利用训练时可用的额外信息(特权信息,如专家标注、上下文信息等),这些信息在测试时不可用。通过特权信息,模型能更准确地估计样本的“难易程度”,从而调整分类边界。通过多核学习(MKL)自适应地调整核函数,使得映射后的特征空间对齐源领域和目标领域的分布,从而提升模型在目标领域的泛化能力。也就是说,我们通过调整超平面的法向量方向,从而调整两个类别的最小连线和法向量的夹角,从而最大化间隔。这一项其实就是超平面关于数据的损失,这里的x是超平面参数w,s是数据集中的数据。
2025-08-22 14:36:32
991
原创 数学基础——贝叶斯统计
贝叶斯统计的核心议题就是利用贝叶斯公式,通过抽样样本来估计样本的真实原本分布贝叶斯公式(逆概率公式):假设Bi是事件B的划分,那么PBi∣APAPABi∑PA∣BjPBjPA∣BiPBi,即在全概率公式的基础下,想求得在A事件发生的情况下,其前置事件是Bi(Bi发生)的概率,那么可以通过乘法定理,利用该事件条件概率算出联合概率,再用全概率算出发生A的概率,求出Bi的逆概率。
2025-08-22 14:17:22
1270
原创 数学基础——概率论与梳理统计
边缘概率密度函数:多为随机变量在单个变量上的映射fX(x)=∫−∞∞f(x,y) dyfY(y)=∫−∞∞f(x,y) dxf_X(x) = \int_{-\infty}^{\infty} f(x, y) \, dy \\f_Y(y) = \int_{-\infty}^{\infty} f(x, y) \, dxfX(x)=∫−∞∞f(x,y)dyfY(y)=∫−∞∞f(x,y)dx二维随机变量条件概率:fX∣Y(x∣y)=f(x,y)fY(y)f_{X|Y}(x|y) = \frac{f(x,
2025-08-22 14:02:05
1177
原创 数学基础——最优化方法
αx1 + (1-α)x2表示线段x1x2上的任意一点,严格凸函数两点间的任一点的函数值都比线段上点的值小广义凸性:若f为凸函数, -f为凹函数,均是凸性函数凸函数的极值:如果x是凸(凹)函数的局部极小(大)值,那么x也是函数的全局最小(大)值凸性一阶充要条件一阶可微函数f(x)是凸函数,当且仅当 对于∀x,y∈R,有f(y)≥f(x)+∇f(x)T(y−x)f(y) \geq f(x)+\nabla f(x)^T(y-x)f(y)≥f(x)+∇f(x)T(y−x)无约束问题的二阶必要条件:如果f(x
2025-08-21 23:14:09
923
原创 数学基础——运筹学
⎨⎧x1+2x2≤4x1+x2≤22x1≥3x1≥0化标准型目标函数强制转化为min:max4x1+5x2⇔min−4x1−5x2\max{4x_1+5x_2} \Leftrightarrow \min{-4x_1-5x_2}max4x1+5x2⇔min−4x1−5x2约束条件强制转换为等式:引入松弛变量s≥0x1+2x2≤4⇔x1+2x2+s1=4,s1≥0x_1+2x_2 \leq 4 \Leftrightarrow x_1+2x_2+s_1 = 4, s_1\
2025-08-21 17:56:36
1227
原创 数学基础——数值方法
通过近似/逼近的方式求解得不到准确解的问题f(x)的一阶Taylor展开,忽略余项:f(x)=f(x0)+∇f(x0)(x−x0)f(x)=f(x_0)+\nabla f(x_0)(x-x_0)f(x)=f(x0)+∇f(x0)(x−x0)f(x)的一阶Taylor展开,为函数在点f(x0)的一阶近似,如图橙色直线所示,是该点的切线。切线梯度处处相等,所以此时的梯度方向∇f(x0)\nabla f(x_0)∇f(x0)即是参数更新方向,则有:x=x0−η∇f(x0)x=x_0-\eta\nab
2025-08-21 17:20:44
903
原创 数学基础——线性代数
从Kernel的角度看,这个方法就是使用K(x1,x2) = x1*x2 的核PCA,通过这个核函数计算出的核矩阵K就是我们的低维协方差矩阵 X X^T /(n-1)。向量:矩阵X可以描述一组向量,矩阵A = {x1,x2,x3…均值向量:E(A) = (E(_1),E(_2),E(_3)), 即矩阵的均值向量是所有向量关于每个维度的均值,表示整个数据集的平均向量方向。由于我们每次逆迭代的估计值μ是动态得出的,所以初始向量越靠近最大特征向量,那么逆矩阵的特征值越大,收敛速度越快,最终得到三次收敛的迭算法。
2025-08-21 16:54:24
1060
原创 八股知识整理——Spring框架基础
Spring容器启动时:扫描到@Component注解的类发现它有@Aspect注解,知道这是一个切面类方法调用时:Spring框架扫描当调用包下任何带有@AutoFill注解的方法时Spring AOP代理机制会拦截这个方法调用先执行@Before通知中的autofill()方法然后再执行原始方法:匹配com.sky.mapper包下所有类的所有方法:同时要求方法上有@AutoFill注解两者用&&连接表示"与"关系4. 例子:实现某些字段自动填充的注解。
2025-08-18 22:59:44
823
原创 八股知识整理——JAVA IO与Socket
String通过字符串复制创建,会存储在常量池内String通过new对象创建,会存储在堆中,值不能直接修改可以使用concat,‘+’拼接字符串如果 + 全是常量,JVM可直接编译为字符串如果 + 包含变量,JVM使用StringBuilder.append拼接字符串。
2025-08-16 21:53:38
1037
原创 八股知识整理——数据结构与算法
回溯角度看动态规划:从回溯算法的角度来看,动态规划是一种记忆化回溯法,DP通过从存储中间状态的信息,使得回溯检索的效率提到到O(1), 使得整个算法的时间复杂度优化到O(n^2)举例:CAS维护一个文档,如果线程A操作了文档,但是没有修改,线程B检测不到线程A的操作,没有记录,可能引发安全性问题。B树虽然更快,但是不稳定。问题描述:存在n种物品,每种物品只有1个,收益为r,重量为m,背包容量M,求背包的最大收益。问题描述:存在n种物品,每种物品数量无限,收益为r,重量为m,背包容量M,求背包的最大收益。
2025-08-16 15:00:00
1708
原创 八股知识整理——JAVA基础知识
JVM是什么:Java Virtual Machine,是在执行java文件的虚拟机。默认使用的是HotSpot虚拟机为什么使用JVM:JVM是Java语言跨平台的关键Java的编译过程:程序员编写的.java文件,通过编译器javac编译为.class文件.class文件通过JVM动态执行JVM由 3 部分组成:类加载子系统、运行时数据区、执行引擎。
2025-08-16 12:18:00
1060
原创 八股知识梳理——计算机网络
通过保持连接,数据的实时更新不需要像HTTP的请求-响应模式,每次通信都需要确认,提高效率,实现了实时数据更新。TIME_WAIT指的是断开TCP连接的四次挥手过程中,在客户端发送最后一次确认报文后,会进入TIME_WAIT状态,这个状态的时长为2MSL。对于客户端来说,从接收到第三次挥手的FIN报文,再到可能接收到的FIN报文时长总共不超过2MSL,即ACK报文的发送与FIN报文的接收。在TIME_WAIT期间,客户端不会发送新的报文,即便客户端有新的连接请求,也会在这之后发送。如果验证通过可直接登录。
2025-08-16 10:00:00
1111
原创 八股知识梳理——组成原理
LRUCache关注key的最近访问时间,每次get需要更新keyNode的位置,所以需要使用双端队列保证删除操作O(1)什么是多CPU的一致性问题:每个CPU都有一个cache,多核CPU的cache数据不同步导致的问题。什么是多级cache:3个不同级别的cache L1,L2,L3.响应速度由快到慢,存储由小到大。L2 Cache:比L1 Cache略大,每个L2缓存对应1个数据缓存,1个指令缓存,1个CPU。写回策略:只更新cache的数据,只有block进行替换时,写回内存。
2025-08-15 22:00:00
631
原创 八股知识梳理——操作系统
僵尸进程指的是未被回收的异常进程表项。僵尸进程占用系统进程表项,但是不占用CPU资源的进程。僵尸进程的产生是因为父进程未能正常回收子进程的进程信息,产生异常进程表项。解决方法是使用kill指令向僵尸进程发送SIGCHID信号,使父进程回收僵尸进程。孤儿进程指的是父进程提前结束。孤儿进程不会产生实质性的危害,但是会导致逻辑上的问题。孤儿进程是由于父进程没有等待子进程而提前结束。孤儿进程产生时,会让init进程(PID=1)成为孤儿进程的父进程。
2025-08-15 16:23:37
890
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
3