如何判定一个 AI 任务该用固定工作流还是自主 Agent?
从执行路径由谁决定入手,比较固定工作流和自主 Agent。结合工单处理场景,说明何时使用预设分支、何时需要动态规划,以及成本、反馈和失败处理的取舍。
算法专题面试题第 1 页,显示第 1–18 题,共找到 18 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
从执行路径由谁决定入手,比较固定工作流和自主 Agent。结合工单处理场景,说明何时使用预设分支、何时需要动态规划,以及成本、反馈和失败处理的取舍。
围绕“两个专家 Agent 对同一问题给出冲突答案且都有理由,系统层面有哪些裁决机制”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要比较投票、置信度加权、仲裁 Agent、回溯验证的适用条件。
解释 k 个一组反转链表的完整过程:如何判断最后一组不足 k 个,如何反转子链表并连接各部分,附带 JavaScript 实现与边界用例。
本文讲解用迭代三指针法反转单链表的完整原理,重点分析prev、curr、next的更新顺序,提供可运行JavaScript代码,覆盖空链表、单节点、长链表等边界,并说明如何避免断链和指针丢失。
本题解释递归反转单链表的调用栈机制,明确返回新头与指针翻转都在回溯阶段发生,但返回值是恒定传递,指针翻转针对当前节点。给出JS完整实现以及空链表、单节点、三节点三种边界测试,分析时空复杂度。
分析 squash merge 压缩提交对 bisect 定位精度的具体影响,说明中间提交不稳定时压缩反而有利,并给出权衡和操作判断。
本题解释TCP滑动窗口通过接收窗口限速的机制,重点说明零窗口时持续计时器与窗口探测报文如何打破死锁,并明确与拥塞窗口的区别。
围绕“Java 中 ArrayList 和 LinkedList 在随机访问、插入删除和内存占用上分别适合什么场景”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要求基于底层数组与双向链表结构判断各操作的复杂度与适用边界。
从头部操作改变后续索引解释常见性能差异,区分单次与摊还成本、引擎优化和通用对象行为,展示返回值与数组变化,并讨论队列游标的内存回收策略。
本文详解手写深拷贝的基础实现,通过 typeof 与 Array.isArray 判断哪些值需要创建新容器并递归,普通对象和数组逐层复制,其余值直接返回。给出三个边界测试输入并分析时间复杂度。
围绕“如何在 Route Handlers 中实现针对特定 IP 的请求频率限制”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明使用 Redis 记录请求时间戳,通过滑动窗口或令牌桶算法判断是否超限,拒绝超过阈值的请求。
围绕“Linux 如何通过 LRU 链表管理可回收页面”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 active/inactive 链表的页面迁移规则。
围绕“用 Redis 有序集合实现滑动窗口限流的思路是什么,如何避免重复计数”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明以时间戳为成员/score、ZREMRANGEBYSCORE 清旧窗口再计数。
围绕“Redis 的 LRU 和 LFU 为什么不是精确算法,maxmemory-samples 调大调小各有什么影响”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出基于随机采样加空闲时间/访问频率计数避免全量链表维护的开销,采样数大更准但耗 CPU 与内存。
围绕“如何用 Redis 有序集合实现滑动窗口限流,每次请求需要做哪些 ZSET 操作”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出以时间戳为 score 记录请求、先清理窗口外成员再计数判断的流程及其内存开销。
围绕“MySQL/PostgreSQL 的 B+ 树索引是如何组织并支持等值查找的”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须讲清非叶子节点只存键值、叶子节点链表相连的结构与 O(log n) 查找过程。
围绕“B 树和 B+ 树有什么区别,为什么数据库索引普遍选用 B+ 树”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须从非叶子节点是否存数据、叶子链表对范围扫描的影响作答。
围绕“计数器、滑动窗口、漏桶、令牌桶四种限流算法的行为差异是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须比较突发流量容忍度、边界突刺问题、实现成本四个方面并给出选型。