尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

【三年面试五年模拟】2026-08-18_哔哩哔哩AI应用岗Agent开发一面面经全解析(含完整答案)

【三年面试五年模拟】2026-08-18_哔哩哔哩AI应用岗Agent开发一面面经全解析(含完整答案) 写在前面欢迎大家关注Rocky的公众号WeThinkIn欢迎大家关注Rocky的知乎Rocky Ding《三年面试五年模拟》AIGC/LLM/AI Agent算法工程师/开发工程师求职面试秘籍独家资源【三年面试五年模拟】WeThinkIn/AIGC-Interview-Book欢迎大家StarRocky最新撰写的10万字AI AgentAI智能体深入浅出全维度解析文章深入浅出完整解析AI AgentAI智能体的核心基础知识AIGC/LLM/AI Agent算法岗/开发岗求职面试内推学习社群涵盖AIGC、LLM大模型、AI Agent、传统深度学习、自动驾驶、机器学习、计算机视觉、自然语言处理、强化学习、大数据挖掘、具身智能、元宇宙、AGI等AI行业最新面试干货经验与核心知识欢迎大家加入https://t.zsxq.com/33pJ0大家好我是Rocky。一面1、简单介绍一下自己的背景以及选择AI Agent方向的原因。回答建议用 6090 秒完成“背景 - 证据 - 方向选择 - 岗位匹配”的闭环而不是罗列课程和模型名称。背景部分说明自己的学历或工作阶段、主技术栈以及最相关的项目项目部分说明业务目标、个人负责的模块、关键技术决策和可验证结果最后解释为什么从传统开发转向 Agent。选择 AI Agent 的本质理由不是“它是热点”而是它把大模型的语义理解与真实软件系统的工具、状态和业务验收连接起来。传统软件擅长确定性流程大模型擅长处理自然语言和开放式任务但单次生成容易缺少事实、状态和执行能力。Agent 工程要解决的正是如何让模型在权限、预算、工具协议、记忆和验证器约束下完成多步任务。比较稳妥的结尾是“我选择 AI Agent是因为它与我已有的工程能力是连续的。我可以用后端能力处理状态、并发、权限、幂等和可观测性再结合模型调用、RAG、工具编排和评测把模型能力变成可交付的业务流程。”其中项目数字必须来自真实记录没有线上数据就明确说是离线评测或故障回放结果。2、一个完整的Agent系统通常包含哪些核心模块相比传统LLM Chatbot它最大的区别是什么回答完整 Agent 通常至少包含以下模块接入与身份层用户、租户、会话、鉴权、配额、输入校验和风险分级。任务与状态层目标、约束、计划、步骤状态、工具结果、产物引用、checkpoint 和终止条件。长任务状态不能只存在 Prompt 中。上下文构建层按当前步骤选择系统规则、近期对话、结构化状态、RAG 证据、长期记忆和候选工具并管理 Token 预算。决策与编排层意图路由、规划、模型选择、Workflow/状态机/ReAct 循环、重规划和停止策略。工具执行层工具注册、Schema、参数校验、权限、超时、幂等、限流、沙箱、结果裁剪和副作用确认。知识与记忆层文档索引、检索、用户或项目记忆、事件日志、写入门控、冲突处理和过期删除。验证与治理层规则校验、测试、业务状态验收、重试、熔断、降级、回滚、人工审批和安全审计。可观测与评测层全链路 Trace、模型/Prompt/工具版本、Token、延迟、任务成功率、工具正确率、成本和安全指标。传统 LLM Chatbot 通常是“输入 - 一次或有限次生成 - 文本输出”状态和外部知识可能存在但模型一般不负责动态选择并执行多步动作。Agent 的核心区别不是多了一层 Prompt而是存在一个受约束的闭环s t → decide a t → tool/environment o t 1 → validate/update s t 1 s_t \xrightarrow{\text{decide}} a_t \xrightarrow{\text{tool/environment}} o_{t1} \xrightarrow{\text{validate/update}} s_{t1}st​decide​at​tool/environment​ot1​validate/update​st1​模型给出下一步候选决策Harness 负责权限与执行外部环境返回真实 Observation状态更新后再决定下一步。终止也应由外部验收条件确认而不是模型说“已经完成”。固定步骤的业务仍优先使用 Workflow不能为了使用 Agent 而把确定性流程模型化。3、在Agent项目中常见的规划Planning、记忆Memory、工具调用Tool Use和执行模块分别承担什么职责回答Planning把用户目标、约束和可用资源拆成有依赖关系的步骤明确每一步的输入、产物、工具和完成条件。复杂任务要把计划外置、版本化环境变化或步骤失败时进行局部重规划而不是每轮无条件重写全部计划。Memory保存当前任务状态和跨会话可复用的信息。短期记忆负责目标、计划、最近对话和工具结果的连续性长期记忆保存经过筛选的偏好、事实、事件或经验并带作用域、来源、置信度、时间和权限。Tool Use把模型意图映射为结构化工具调用负责工具发现、Schema、参数、权限、超时、幂等和结果回传。工具不是模型的“外挂函数”而是有副作用、有容量限制和失败语义的外部系统。Execution驱动状态机或 Agent Loop执行当前可执行步骤写入 Observation 和 checkpoint运行验证器并决定继续、重试、重规划、降级或人工接管。四者不是四个必须独立部署的模型。小任务可以由一个编排器完成长任务则应把规划和状态外置、把工具执行交给确定性运行时。面试时应说明哪些动作由模型决定、哪些规则由代码强制以及失败后如何恢复这比单纯背诵模块名更重要。4、意图识别模块通常有哪些实现方式规则匹配、小模型分类和LLM分类分别适用于哪些业务场景回答意图识别可以按复杂度和不确定性分为三类规则匹配使用关键词、正则、词典、有限状态机或高置信业务条件。延迟低、可解释、容易审计适合“退款/取消/转人工”等边界清晰且高风险的意图。但它对表达变体和隐含语义不鲁棒规则过多后维护成本会快速上升。小模型分类使用 TF-IDF/线性模型、轻量 Transformer、句向量分类器或蒸馏模型。它适合意图集合相对稳定、已有标注数据、吞吐和成本敏感的线上场景。应输出类别概率或置信度配合拒识类和人工/LLM fallback不能把最高概率直接当成绝对正确。LLM 分类通过 Zero-shot、Few-shot 或微调完成开放语义分类、层级意图识别和低样本冷启动。它适合类别变化较快、语义复杂、需要解释或同时抽取槽位的场景但成本、延迟、格式稳定性和越权风险更高。工程上通常是分层路由先用规则处理高置信高风险类再用小模型覆盖大多数稳定请求低置信、长尾和新类交给 LLM最终还要由权限和业务状态校验工具动作。比较方案时看 macro-F1、各类召回率、拒识准确率、校准误差、P95 延迟、Token 成本和错误意图的业务损失而不是只看总体准确率。5、如果使用大模型完成意图分类如何选择Zero-shot、Few-shot方案当标注数据较少时如何提升分类稳定性回答Zero-shot 只给任务定义、类别说明和输出 Schema适合类别定义清晰、样本表达变化大、需要快速冷启动的场景。Few-shot 额外提供少量高质量示例适合类别边界容易混淆、输出格式有特殊约定或模型不熟悉领域术语的场景。示例不应只堆正常样本还要覆盖相邻类别、拒识、缺槽位和对抗输入。可以按验证集做选择而不是凭感觉固定模型、温度、Prompt 和输出 Schema比较 Zero-shot/Few-shot 在宏平均 F1、混淆矩阵、拒识率、解析成功率、延迟和成本上的结果。类别较多时可先做粗粒度领域路由再做细粒度分类减少一次 Prompt 中的类别竞争。标注少时的稳定化手段包括先定义互斥、完备、可判定的标签规范给每类写正例、反例和边界说明让模型输出结构化intent、confidence、evidence服务端用 Schema 和枚举校验采用多次采样或多个提示模板做一致性检查但要设置成本上限不能用多数投票掩盖标签定义问题用主动学习优先标注低置信、易混淆和高业务损失样本进行同义改写、噪声和对抗样本增强并保留真实线上分布的验证集让低置信或新意图进入拒识/人工/更强模型路径不强迫模型在错误标签中选择当任务稳定且数据规模足够时再做监督微调或蒸馏并通过版本化回归集验证。Temperature 降到 0 只能减少随机性不能保证正确真正的稳定来自标签边界、示例质量、结构化约束、拒识机制和持续评测。6、RAG系统从文档进入到最终生成答案的完整流程是什么离线知识库构建和在线检索阶段分别包含哪些步骤回答离线阶段先处理数据质量而不是直接切片采集文档解析 PDF/HTML/Office 等格式保留标题、段落、表格、代码和页码等结构清洗重复、导航、乱码和无效内容按章节、语义或布局切分并为每个 Chunk 写入文档 ID、标题路径、页码、权限、版本和时间等元数据。然后使用与查询同分布的 Embedding 生成向量建立向量索引同时为关键词检索建立倒排索引必要时生成父文档关系、摘要或实体索引。在线阶段通常是识别问题类型、权限和过滤条件做 Query Rewrite、查询扩展、语言归一化或拆分多跳问题并行执行稠密向量召回、BM25/倒排召回、结构化过滤和必要的父文档召回合并候选集并去重使用 RRF、加权分数或学习排序融合通过 Cross-Encoder 或 LLM Reranker 对候选 Chunk 重排并根据上下文预算截断把证据、来源和不确定性注入 Context要求模型只基于证据回答证据不足时拒答或澄清对答案做引用、事实一致性、权限和格式校验记录检索与生成 Trace。评测要拆开看检索侧看 RecallK、MRR、nDCG、证据覆盖率和权限过滤正确率生成侧看答案正确性、忠实度、引用准确率、拒答准确率、延迟和成本。RAG 不是“向量库 Prompt”而是一条从数据治理到答案验收的系统链路。7、文档切片有哪些常见策略RecursiveCharacterTextSplitter的实现逻辑是什么针对中文文档处理需要注意哪些问题回答常见切片策略包括固定 Token/字符长度、按标题和段落的结构切片、语义边界切片、递归分隔符切片以及父子文档索引。固定长度简单稳定但容易切断定义结构切片可读性好但遇到超长段落仍需要二次切分语义切片成本更高需要验证收益父子索引可以用小块召回、用较大父块提供上下文。RecursiveCharacterTextSplitter的核心逻辑不是按一个分隔符硬切而是维护一组从粗到细的分隔符例如段落、换行、句号、空格和空字符串先用当前分隔符拆分文本对仍超过chunk_size的片段递归使用下一级分隔符对已经足够短的相邻片段按长度合并并通过chunk_overlap保留边界上下文。最终还要处理空片段、超长不可分字符串和长度单位选择。不同版本的实现细节可能变化应以使用的 LangChain 版本源码和测试为准。中文处理要注意中文没有稳定空格不能把空格当作主要词边界应优先保留段落、标题和中文句末标点再考虑按 Token 长度控制中英文混排、代码、表格、URL 和 Markdown 标记要分别处理不要在表格行、公式、代码块中间随意切断重叠应按 Token 或语义验证不迷信固定字符数为每块保留标题路径、页码和权限信息。切片参数必须在目标文档集上用 RecallK、证据完整率和生成正确性做对比不能把chunk_size固定值当成普适答案。8、如果RAG系统出现召回效果差的问题你会如何定位会优先检查Embedding、Chunk策略、Query Rewrite、Hybrid Search还是Rerank回答我会先把“召回差”拆成索引覆盖问题、候选召回问题和排序问题而不是直接调 Rerank。用带有标准答案证据块的离线数据集做逐层回放记录原始 Query、改写 Query、召回候选、分数、过滤条件、Rerank 结果和最终引用。定位顺序通常是数据与权限文档是否被成功解析和入库版本是否最新权限过滤是否误删元数据是否正确目标证据是否存在。Chunk证据是否被切碎、标题是否丢失、块是否过长或过短、重叠是否合适父子关系和去重是否正确。Embedding查询和文档是否使用同一模型与相同归一化方式模型是否支持中文和领域术语向量库距离度量和索引参数是否匹配。Query Rewrite改写是否改变了原意、丢失实体和否定条件把原 Query 与改写 Query 都纳入召回避免错误改写成为单点故障。召回策略对术语、编号、产品名、精确短语和数值问题BM25 往往补足向量召回通过 RRF 或校准后的加权融合比较增益。Rerank只有候选集中已经包含正确证据时Rerank 才能解决排序问题如果 Top-N 候选里没有证据换 Reranker 不能补回缺失文档。所以我会先验证候选集 Recall再判断是否是排序问题。最终用分层实验比较 Base Embedding、Chunk、Query Rewrite、Hybrid 和 Rerank 的增量不用单个线上案例决定参数。9、Embedding模型如何选择不同Embedding模型会对检索效果产生哪些影响回答Embedding 模型把文本映射到向量空间使语义相关文本距离更近。选择时要看目标语言、领域、输入长度、查询/文档任务是否匹配、部署形态、维度、推理吞吐、许可和成本而不是只看通用榜单分数。具体要检查中文和中英混合能力技术术语、产品名、编号和长文档表现是否有 query/document 不同指令最大上下文和截断策略向量维度与存储成本归一化方式与距离度量以及模型是否支持批量、量化和本地部署。若数据敏感本地部署和数据不出域可能比少量离线分数更重要。模型会影响三个层面语义召回近义表达、跨语言和上下位概念是否聚近过度语义化可能把关键词相近但事实不同的文档召回。细节区分版本号、错误码、类名和数字等精确信息通常需要 BM25/倒排补充。系统资源维度、索引大小、编码速度和延迟直接影响成本与吞吐模型升级还可能改变向量分布不能直接混用旧索引。最终应构建与线上分布一致的 Query-证据集比较 RecallK、MRR/nDCG、长短问题、中文术语、噪声和权限场景并同时记录 P95、吞吐、内存、成本和版本迁移方案。Embedding 是召回组件不是完整 RAG 质量的唯一决定因素。10、LangChain框架主要有哪些核心组件相比传统Chain模式LCEL带来了哪些改进回答LangChain 的核心可以按抽象职责理解模型接口Prompt 模板输出解析器Retriever/VectorStoreDocument 与文档加载/切分ToolsMemory/CheckpointRunnable/Callback/Tracer以及用于组合的链和 Agent。不同版本 API 会变化回答时应以当前项目实际使用的版本为准不要把旧版LLMChain的组织方式当成永远不变的接口。传统 Chain 往往是手写顺序调用先格式化 Prompt再调用模型再解析再把结果传给下一个 Chain。LCELLangChain Expression Language把这些步骤统一为 Runnable使用管道和组合表达式描述数据流从而获得统一的invoke、批量和流式接口更清晰的输入输出契约和可组合性对并行、分支、fallback、重试和配置覆盖的统一表达callback/tracing、事件流和运行时配置更容易接入能把固定链与 Agent/工具节点组合而不必每一步都手写胶水代码。但 LCEL 不等于自动获得可靠性。生产系统仍要明确状态、超时、重试边界、幂等、权限、版本和验证器对于有大量循环、分支和持久化状态的流程LangGraph 或自研状态机可能更合适。框架的价值是降低编排成本系统正确性仍由架构和测试负责。11、Function Calling和Tool Calling的执行流程是什么模型是如何判断需要调用工具以及生成对应参数的回答Function Calling 和 Tool Calling 的核心机制相同服务端向模型提供工具名称、描述、参数 JSON Schema 和使用约束模型根据用户目标与当前上下文决定直接回答或输出结构化的工具调用意图。真正执行函数的是应用侧运行时不是模型本身。标准流程是应用注册当前允许的工具及 Schema模型读取用户问题、系统规则、工具描述和历史 Observation产生文本回复或tool_calls应用解析调用名和参数进行 Schema、类型、权限、资源状态、预算和安全策略校验合法调用进入工具运行时工具返回结构化结果或结构化错误应用把结果以工具消息写回上下文模型根据 Observation 决定继续调用、修正参数、请求用户补充信息或生成最终答案外部验证器检查任务是否真的完成。模型并不是通过执行代码“判断”是否需要工具而是在训练和上下文条件下预测工具调用或普通文本的概率。它是否选对工具取决于工具描述、候选集合、模型能力、当前状态和示例。参数合法不等于业务正确所以必须由服务端再次校验有副作用的调用还需要幂等键、状态回读和人工审批。Function/Tool Calling 是协议和输出形态不自动等于完整 Agent。12、如果Agent接入大量工具如何避免工具描述过长导致Prompt膨胀有哪些优化方式回答核心原则是工具渐进披露模型不需要在每一轮看到所有工具的完整 Schema。可以采用以下方案先用规则、小模型或轻量 LLM 做意图/领域路由只暴露当前任务可能用到的工具建立工具目录第一阶段只给工具名、短描述、标签和能力摘要模型选定候选后再加载详细 Schema合并高度相似的工具统一参数模型减少重复描述将稳定的工具文档放在外部检索库按需获取示例、错误码和约束对多 Agent 采用按角色分配工具子 Agent 只看到自己的最小权限集合对参数枚举、默认值和必填项使用结构化 Schema减少自然语言冗余缓存版本化的公共工具描述监控工具 Token 占比和选择错误率对工具结果做裁剪、摘要和结构化投影避免 Observation 反过来造成上下文膨胀。工具发现本身也要可验证。目录搜索不能把不存在的工具、过期版本或越权工具暴露给模型工具被选中后仍要由服务端做权限和 Schema 校验。应通过任务成功率、工具选择准确率、参数解析率、Token、P95 延迟和错误率比较“全量工具描述”和渐进披露而不是只看 Prompt 变短。13、Prompt一般如何设计和组织System Prompt、Few-shot示例以及CoT通常分别承担什么作用回答Prompt 设计应围绕任务契约组织目标与非目标、输入边界、可信数据来源、决策规则、工具使用条件、输出 Schema、失败语义和示例。不同内容要按优先级和生命周期分区避免把所有东西堆成一段无法维护的长文本。System Prompt定义角色边界、任务目标、不可违反的安全与权限规则、输出协议和可用能力。它不是绝对安全边界真正的权限、金额、数据写入和合规规则仍必须在代码和策略引擎中执行。Few-shot通过少量样例展示输入到输出的映射、标签边界、格式和拒答方式。示例应覆盖易混类别、边界条件、错误用法和反例质量比数量更重要。CoT指引模型分解复杂问题或进行中间推理。生产系统不应默认把完整私有推理过程原样暴露给用户或长期保存更稳妥的是要求输出可验证的中间结构、依据、步骤摘要或工具调用计划并通过测试和验证器检查。Prompt 优化还包括 Query/Context 选择、任务拆分、结构化解码、工具和外部知识接入、模型与采样参数适配。每次改动应在固定回归集上比较任务成功率、事实正确率、解析成功率、拒答准确率、Token、延迟和成本“规则写得更多”本身不是质量提升。14、如何降低大模型输出幻觉除了Prompt约束之外还有哪些工程优化方案回答幻觉包括事实不存在、证据不支持、引用错配、工具结果误读和业务状态误判不能只靠一句“不要编造”。工程上要把生成任务变成有证据、有边界、有验收的流程Grounding对时效性或领域事实使用 RAG、数据库、搜索或业务 API要求答案绑定证据片段、页码或结构化字段证据不足就澄清或拒答。工具化计算金额、日期、统计、权限和状态查询由确定性程序完成模型只负责理解意图和组织结果。结构化输出与校验使用 JSON Schema、枚举、类型和范围检查对引用存在性、字段一致性和业务不变量做服务端验证。拆分与验证将抽取、检索、推理、生成和审查分段使用规则、单元测试、数据库状态或独立评估器验收不要让模型自称完成作为唯一标准。模型和解码控制选择与任务匹配的模型合理设置温度和输出长度高风险场景宁可走人工或模板路径也不要用更高随机性换“自然”。数据与评测治理修复训练/知识库中的冲突和过期文档维护真实分布的回归集分层统计事实错误、拒答错误、引用错误、工具误用和严重业务损失。运行时安全对外部文档和工具返回标记为不可信数据防止 Prompt Injection隔离权限、预算和副作用记录完整 Trace 便于回放。最终指标不能只看“看起来流畅”。应同时测答案正确率、证据忠实度、引用精确率、拒答准确率、工具状态一致性、敏感信息泄漏率、成本和延迟。幻觉治理的本质是缩小模型可以无依据自由发挥的空间并把关键结论交给外部证据和确定性系统确认。15、Agent执行任务时如果出现重复调用工具、无法结束或者任务循环的问题应该如何设计保护机制回答我会从“检测、限制、恢复、验收”四层设计重复检测对规范化后的工具名、参数、当前状态版本和结果摘要计算动作指纹连续相同调用、同一错误参数重复修正、状态没有变化的调用都应触发告警。不能只比较原始 JSON因为字段顺序和无关参数可能不同。预算限制设置最大步数、总 deadline、模型调用次数、Token/费用预算、单工具重试次数和最大并行分支数预算由运行时强制不能交给模型自己承诺。状态与终止使用显式状态机和 checkpoint定义外部完成条件、失败条件和升级条件只有业务状态、测试或验证器满足要求才进入DONE。错误恢复区分瞬时错误、参数错误、权限错误和不确定副作用。可重试错误使用有上限的指数退避写操作用幂等键并先查询状态连续失败可重规划、降级到只读/模板流程或人工接管。上下文治理对工具结果做大小上限、摘要和结构化投影避免模型被无关 Observation 推向循环保留原始结果引用以便回查。循环检测不应简单地“看到两次相同调用就停止”因为有些轮询本来需要等待状态变化。应结合状态版本、时间窗口、进度信号和工具语义判断。例如轮询任务必须要求status在 deadline 内发生变化否则转人工。所有中止原因、动作指纹、预算消耗和最终状态都要进入 Trace才能在回放中修复策略。16、Agent中的Memory通常如何实现短期记忆和长期记忆分别解决什么问题回答短期记忆解决当前任务的连续性模型要知道用户目标、约束、最近对话、计划、已经完成的步骤、工具结果和待确认事项。实现上通常把结构化任务状态放在 Workflow checkpoint、Redis 或数据库中把最近消息保留为窗口把已完成阶段压缩为摘要和事件引用Prompt 只是这些状态在当前步骤的投影视图。KV Cache 是推理加速状态不是 Agent Memory。长期记忆解决跨会话复用例如经过确认的用户偏好、项目约定、历史事件和可复用经验。不同数据使用不同存储稳定事实和权限关系用关系表或 KV事件用 append-only log自然语言经验用向量加全文混合索引实体关系复杂时再考虑图结构。每条记忆应带用户/租户/项目作用域、来源、时间、置信度、有效期、权限和原始事件引用。完整生命周期是候选提取 - 敏感性/重要性过滤 - 去重和结构化 - 写入 - 按需检索 - 权限、时效和相关性重排 - 注入 - 冲突更新、过期或删除。当前用户明确指令优先于旧偏好业务主库的实时事实优先于历史摘要模型推断不能覆盖明确事实。记忆系统的目标不是保留最多而是在正确作用域内提供可纠正、可追溯且对未来任务有价值的信息。17、如何设计一个记忆检索流程历史信息应该如何筛选、存储和召回回答可以把流程设计成“写入门控 - 多路存储 - 查询召回 - 重排注入 - 反馈更新”。写入门控从对话和工具事件中提取候选事实判断是否稳定、可复用、由谁确认、是否敏感过滤寒暄、一次性状态和未经证实的推断。对用户偏好最好让用户确认或保留低置信标记。分型存储身份、权限和稳定偏好放结构化数据库事件放带时间和版本的事件表语义经验写入向量/全文索引大对象只保存引用。不要把所有聊天原文无差别塞进一个向量库。查询构建从当前目标、实体、时间约束和用户/项目作用域生成检索条件必要时做查询改写但保留原始查询避免改写错误丢失关键条件。多路召回结构化过滤、关键词、向量和时间/实体索引并行召回去重并合并先执行权限过滤不能在召回后才把越权内容交给模型。重排与注入按相关性、时效、置信度、来源可靠性、冲突状态和 Token 预算重排注入时标记为记忆而非当前事实并保留来源和更新时间。反馈更新记录是否被引用、是否帮助任务成功、是否被用户纠正纠正应产生新版本或失效旧版本而不是静默覆盖审计记录。评价要看记忆 Precision/Recall、错误记忆引用率、任务成功率、重复询问减少量、跨用户串线率、删除可达性和 Token 成本。长期记忆必须作用域隔离且要支持用户查看、修改和删除这是功能正确性和隐私合规的一部分。18、手撕代码合并重叠区间LeetCode 56并分析算法复杂度回答先按区间左端点升序排序。遍历排序后的区间维护结果中最后一个区间last如果当前区间的左端点大于last的右端点说明两者不重叠直接加入结果否则把last的右端点更新为两者右端点的最大值。边界相等时通常视为可以合并例如[1, 4]与[4, 5]合并成[1, 5]。fromtypingimportListdefmerge(intervals:List[List[int]])-List[List[int]]:ifnotintervals:return[]intervals.sort(keylambdaitem:item[0])merged:List[List[int]][intervals[0][:]]forstart,endinintervals[1:]:lastmerged[-1]ifstartlast[1]:last[1]max(last[1],end)else:merged.append([start,end])returnmerged排序耗时O(n log n)线性合并耗时O(n)总时间复杂度为O(n log n)结果之外的额外空间复杂度为O(1)忽略排序实现栈和输入是否原地修改如果不修改输入则复制并排序额外空间通常为O(n)。需要说明空数组、单区间、完全包含、链式重叠、相邻端点和负数端点等边界情况。算法成立的关键是不变量遍历到当前位置时merged已经是此前所有区间的最小不重叠表示。推荐阅读Rocky一直在运营技术交流群WeThinkIn-技术交流群这个群的初心主要聚焦于技术话题的讨论与学习包括但不限于算法、开发、竞赛、科研以及工作求职等。群里有很多人工智能行业的大牛欢迎大家入群一起学习交流请添加小助手微信Jarvis8866拉你进群1. 深入浅出完整解析AI AgentAI智能体的核心基础知识2025年可以说是AI Agent全面落地应用的元年因此Rocky在持续撰写对AI Agent的全维度解析文章深入浅出完整解析AI AgentAI智能体的核心基础知识2. 深入浅出完整解析扩散模型DDPM、DDIM、Score-Based、SDE、LDM、Classifier/Classifier-Free Guidance、Rectified Flow核心基础知识Rocky对扩散模型的本质原理与和核心基础知识进行了全面系统的深入浅出分析讲解同时不断跟进补充扩散模型的最新技术发展希望能给大家带来帮助深入浅出完整解析扩散模型DDPM、DDIM、Score-Based、SDE、LDM、Classifier/Classifier-Free Guidance、Rectified Flow核心基础知识3. 入浅出完整解析FLUX.2、Seedream即梦、Z-image、GLM-Image核心基础知识Rocky对AIGC时代“中场时刻”之后的主流AIGC创作大模型的核心基础知识进行了全面系统的深入浅出分析讲解力求让大家通俗易懂理解AIGC时代的技术浪潮的本质价值入浅出完整解析FLUX.2、Seedream即梦、Z-image、GLM-Image核心基础知识4. 深入浅出完整解析FLUX.1 Kontext和FLUX.1 Krea核心基础知识Rocky对FLUX.1 Kontext和FLUX.1 Krea的核心基础知识作了全面系统的梳理与解析深入浅出完整解析FLUX.1 Kontext和FLUX.1 Krea核心基础知识5. 深入浅出完整解析DeepSeek系列核心基础知识Rocky对DeepSeek系列模型的核心基础知识作了全面系统的梳理与解析深入浅出完整解析DeepSeek系列核心基础知识6. 深入浅出完整解析Stable Diffusion 3SD 3和FLUX.1系列核心基础知识Rocky对Stable Diffusion 3和FLUX.1的核心基础知识作了全面系统的梳理与解析深入浅出完整解析Stable Diffusion 3SD 3和FLUX.1系列核心基础知识7. 深入浅出完整解析Stable Diffusion XLSDXL核心基础知识Rocky对Stable Diffusion XL的核心基础知识作了全面系统的梳理与解析深入浅出完整解析Stable Diffusion XLSDXL核心基础知识8. 深入浅出完整解析Stable DiffusionSD核心基础知识Rocky对Stable Diffusion 1.x-2.x系列模型的核心基础知识做了全面系统的梳理与解析深入浅出完整解析Stable DiffusionSD核心基础知识9. 深入浅出完整解析Stable Diffusion中U-Net的前世今生与核心知识Rocky对Stable Diffusion中最为关键的U-Net结构进行了深入浅出的全面解析包括其在传统深度学习中的价值和在AIGC中的价值深入浅出完整解析Stable Diffusion中U-Net的前世今生与核心知识10. 深入浅出完整解析LoRALow-Rank Adaptation模型核心基础知识对于AIGC时代中的“ResNet”——LoRA模型Rocky进行了深入浅出的全面讲解深入浅出完整解析LoRALow-Rank Adaptation模型核心基础知识11. 深入浅出完整解析ControlNet核心基础知识AIGC图像创作开源社区已经形成以Stable Difffusion/FLUX为核心ConrtolNet和LoRA作为首要AI辅助工具的变化万千的AIGC图像创作工作流。ControlNet正是让AI图像创作社区无比繁荣的关键一环它让AIGC图像创作过程更加的可控更有助于广泛地将AIGC算法解决方案应用到各行各业中深入浅出完整解析ControlNet核心基础知识12. 深入浅出完整解析Sora、Seedance、keling等AI视频大模型核心基础知识AI绘画和AI视频是两个互相促进、相互交融的领域2024年无疑是AI视频领域的爆发之年Rocky对AI视频领域核心的Sora、Seedance、Keling等大模型进行了全面系统的梳理与解析深入浅出完整解析Sora、Seedance、keling等AI视频大模型核心基础知识13. 深入浅出完整解析AIGC时代Transformer核心基础知识在AIGC时代中Transformer为AI行业带来了深刻的变革。Transformer架构正在一步一步重构所有的AI技术方向成为AI技术架构大一统与多模态整合的关键核心基座大有一统“AI江湖”之势。Rocky也对Transformer模型进行持续的深入浅出梳理与解析深入浅出完整解析AIGC时代Transformer核心基础知识14. 深入浅出完整解析ComfyUI、Diffusers、Stable Diffusion WebUI等主流AIGC创作框架核心基础知识AIGC创作框架正是AIGC算法工作流的运行载体目前主流的AIGC创作框架有ComfyUI、Diffusers、Stable Diffusion WebUI等。在传统深度学习时代PyTorch、TensorFlow以及Caffe是传统深度学习模型的基础运行框架到了AIGC时代Rocky相信ComfyUI就是AIGC时代的“PyTorch”、Stable Diffusion WebUI就是AIGC时代的“TensorFlow”、Diffusers就是AIGC时代的“Caffe”深入浅出完整解析ComfyUI、Diffusers、Stable Diffusion WebUI等主流AIGC创作框架核心基础知识15. 深入浅出完整解析ComfyUI、Diffusers、Stable Diffusion WebUI等主流AIGC创作框架核心基础知识在AIGC时代中如何快速转身入局AIGC产业如何成为AIGC/LLM/AI Agent算法/开发工程师如何在学校中系统性学习AIGC/LLM/AI Agent知识斩获心仪的AIGC/LLM/AI Agent算法/开发offerDon‘t worryRocky为大家总结整理了全面的AIGC/LLM/AI Agent算法/开发工程师成长秘籍为大家答疑解惑希望能给大家带来帮助手把手教你成为AIGC/LLM/AI Agent算法/开发工程师斩获AIGC/LLM/AI Agent算法/开发offer16. AIGC产业的深度思考与分析2023年3月21日微软创始人比尔·盖茨在其博客文章《The Age of AI has begun》中表示自从1980年首次看到图形用户界面graphical user interface以来以OpenAI为代表的科技公司发布的AIGC模型是他所见过的最具革命性的技术进步。Rocky也认为AIGC及其生态会成为AI行业重大变革的主导力量。AIGC会带来一个全新的红利期未来随着AIGC的全面落地和深度商用会深刻改变我们的工作、生活、学习以及交流方式各行各业都将被重新定义过程会非常有趣。那么在此基础上我们该如何更好的审视AIGC的未来我们该如何更好地拥抱AIGC引领的革新Rocky准备从技术、产品、商业模式、长期主义等维度持续分享一些个人的核心思考与观点希望能帮助各位读者对AIGC有一个全面的了解深入浅出全面解析AIGC时代核心价值与发展趋势2025年版17. AI算法工程师的独孤九剑秘籍为了方便大家实习、校招以及社招的面试准备同时帮助大家提升扩展技术基本面Rocky将符合大厂和AI独角兽价值的算法高频面试知识点撰写总结成《三年面试五年模拟》之独孤九剑秘籍:【三年面试五年模拟】AIGC时代的算法工程师的求职面试秘籍持续更新中18. 深入浅出完整解析AIGC时代中GANGenerative Adversarial Network系列模型核心基础知识GAN系列模型作为传统深度学习时代的最热门生成式Al模型在AIGC时代继续繁荣作为Stable Diffusion/FLUX系列大模型的“得力助手”广泛活跃于AlGC图像创作的产品与工作流中深入浅出完整解析AIGC时代中GANGenerative Adversarial Network系列模型核心基础知识
返回列表