自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Go13-企业级项目实战

项目结构:清晰的分层架构配置管理:使用 Viper 管理配置数据库操作:使用 GORM 进行 ORM 操作错误处理:统一的错误响应格式认证授权:JWT 认证和中间件日志记录:结构化日志API 文档:Swagger 文档测试:单元测试和 Mock部署:Docker 容器化部署。

2026-07-16 17:05:19 78

原创 Go11-模块管理与项目结构

Go Modules 是 Go 1.11 引入的依赖管理系统,是现代 Go 项目的标准。

2026-07-16 17:04:47 73

原创 go10-标准库精讲

下一章我们将学习 Go 语言的。

2026-07-16 17:04:09 70

原创 Go09-并发编程

Go 使用 goroutine 和 channel 实现并发,这是 Go 最强大的特性之一。

2026-07-16 17:02:45 72

原创 Go08-错误处理

return errors.New("年龄必须在 0-150 之间")return nil// 定义错误类型return fmt.Sprintf("验证错误: 字段 %s, %s", e.Field, e.Message)// 使用Message: "不能为空",if!Message: "格式不正确",return nil// 处理自定义错误if err!= nil {fmt.Printf("字段: %s, 错误: %s\n", ve.Field, ve.Message)

2026-07-16 17:01:49 145

原创 Go07-结构体与接口

/ 定义结构体Age int// 创建实例Name: "张三",Age: 25,// 访问字段fmt.Println(p1.Name) // 张三// 修改字段// 定义接口// 定义另一个接口。

2026-07-16 17:01:16 194

原创 Go06-数组、切片与 Map

数组是固定长度的同类型元素序列。

2026-07-16 17:00:46 125

原创 Go05-函数与方法

下一章我们将学习 Go 语言的。

2026-07-16 17:00:07 196

原创 Go04-控制结构

下一章我们将学习 Go 语言的。循环,但支持多种循环模式。

2026-07-16 16:59:29 165

原创 Go03-基础语法与数据类型

Go 是静态类型语言,变量在声明时必须确定类型。

2026-07-16 16:58:43 166

原创 Go02-Go 语言简介与环境搭建

Go(又称 Golang)是 Google 于 2009 年发布的开源编程语言。它由 Robert Griesemer、Rob Pike 和 Ken Thompson 三位计算机科学家设计,旨在解决大规模软件工程中的实际问题。

2026-07-14 15:31:42 85

原创 GO01-Go 语言与主流编程语言深度对比

语言发布年份设计者类型系统编译/解释Go2009Google静态类型编译型Java1995Sun/Oracle静态类型编译+解释(JVM)Python1991动态类型解释型Rust2010Mozilla静态类型编译型C++1983静态类型编译型2009Ryan Dahl动态/静态解释型(V8)Kotlin2011JetBrains静态类型编译+解释(JVM)维度GoJavaPythonRustC++Node.js性能8/107/104/10。

2026-07-14 15:30:44 106

原创 AI大厂面试200问-第十三章

这个问题和第 8 题(长上下文压缩)有交集,但这里我更聚焦在摘要压缩这个具体手段的深度讨论上——怎么做、有什么坑、怎么避免语义扭曲。其他压缩方式(截断、过滤、LLMLingua)是减少信息量,摘要压缩是转换信息形式——把原始对话"翻译"成摘要。问题在于:翻译就有信息损耗,而你要控制损耗的方向——丢掉的必须是噪声,保留的必须是信号。这远比想象中难。我的摘要压缩方案——三层递进:第一层:结构化增量摘要(首选方案)。不要每次都重新摘要整个对话历史。维护一个"累积摘要",每次新消息来时增量更新。

2026-07-14 15:26:39 26

原创 AI大厂面试200问-第十二章

这道题和第 5 题、第 17 题有一定交叉,但这里我聚焦在定义和系统特性上,从架构层面来回答。Multi-Agent 系统是由多个独立的、具备各自角色和能力的 Agent组成的协作系统。每个 Agent 是一个自治单元——有自己的 Prompt(角色定义)、自己的工具集、自己的记忆空间。Agent 之间通过消息传递或共享状态来协作完成单个 Agent 难以独立完成的复杂任务。

2026-07-14 15:25:27 37

原创 AI大厂面试200问-第十一章

"正确答案在某个 PDF 表格的第 3 行(指标=拨备覆盖率,适用业务线=零售信贷,合格标准=≥150%),但常规解析后"拨备覆盖率"在 chunk A,"≥150%"在 chunk B,"零售信贷"在 chunk C——三个关键信息分散在不同的 chunk 中,RAG 检索只能命中包含"拨备覆盖率"的 chunk A。标记工具调用的开始和结束,让模型学会"什么时候该输出工具调用而不是普通文本")、多轮交互训练(不只是单轮,还包括"调用了工具→拿到结果→基于结果继续回答"的完整多轮对话)。

2026-07-14 15:24:51 25

原创 AI大厂面试200问-第十章

我的做法:超时控制(单步 30s,总体 5min,超时后优雅降级返回已完成的部分结果)、重试机制(工具调用失败自动重试 2-3 次,带指数退避)、死循环检测(最近 N 步内出现重复的 Thought-Action 模式→强制打断并要求模型重新思考)、兜底策略(一切方法失败后给用户有意义的错误提示)、多模型 Fallb。ack(主模型挂了自动切备选)。我在项目中做过 ReAct+轻量 Plan 的混合模式——初始时做一个高层面的计划纲要(3-5 步,不是详细步骤),作为 ReAct 循环的"指南针";

2026-07-14 15:24:21 63

原创 AI大厂面试200问-第九章

让 LLM 自己压缩历史对话或文档。Prompt 思路:"请将以下对话历史压缩为一个结构化的摘要,保留用户的偏好、已做出的决策、待解决的问题、关键事实;丢弃客套话、重复表述、已被解决的中间步骤。“核心价值是把 2000 tokens 的对话压成 200 tokens 的摘要,信息几乎不丢失。用增量摘要而非全量摘要——维护一个"累积摘要”,新消息来时把累积摘要+新消息一起做增量更新。

2026-07-14 15:23:33 16

原创 AI大厂面试200问-第八章

先从最基础的开始吧。什么是 ReAct?为什么 2026 年了它还是 Agent 的默认范式?ReAct 的全称是 Reasoning + Acting,是 Google 在 2022 年提出的一种将"推理"和"行动"交织在一起的 Agent 范式。大模型不是一次性想清楚所有步骤再执行,而是在每一步中交替进行思考、行动和观察,根据观察结果动态调整下一步行为。

2026-07-14 15:22:53 16

原创 AI大厂面试200问-第七章

比如『用户说「取消最近的订单」,但我找到了两笔最近 10 分钟内的订单——#1234(金额 ¥50)和 #1235(金额 ¥200),请确认要取消哪一笔?把开放式问题转化为选择题,人类的决策时间和错误率都会大幅下降。

2026-07-10 10:31:54 20

原创 AI大厂面试200问-第六章

四个核心指标:Faithfulness(回答中的每句话是否能在检索文档中找到支撑——这是反幻觉指标,最重要)、Answer Relevance(回答是否真正回应了用户的问题)、Context Precision(检索到的文档中,相关文档是否排在前面——这个和 Retrieval Precision 不同,因为相关文档排第一但 LLM 看了后面不相关的文档也会受影响)、Context Recall(相关文档中被检索到的比例——和 Retrieval Recall 对应)。它会先分析——用户的表层问题是什么?

2026-07-10 10:31:18 13

原创 AI大厂面试200问-第五章

有了 A2A,你只需要知道它的 Agent Card URL,你的 Agent 就能自动发现和调用它的能力。这意味着 A2A 天然支持长任务——一个 Agent 把任务委派给另一个 Agent,可以异步等待结果,中间可以查询状态、取消任务、或在需要时提供额外输入。需要三层流控——Agent 级别的本地令牌桶(每个 Agent 最多同时发起 3 个 LLM 请求)、队列级别的全局并发控制(整个系统的 LLM 并发上限,通过信号量控制)、模型级别的智能路由(便宜模型高并发、昂贵模型低并发、优先级队列)。

2026-07-10 10:30:39 14

原创 AI大厂面试200问-第四章

一个 Skill 内部通常包含:触发条件(什么情况下该用这个 Skill)、专家决策树(面对 X 情况该怎么处理、Y 情况又该怎么处理)、反模式约束(绝对不能做什么)、Prompt 模板(如何引导 LLM 以正确的方式执行)、工具组合(这个 Skill 需要调用哪些 MCP Tools),以及验证闭环(执行完成后如何自检质量)。这意味着工具可以热更新——你更新了 MCP Server 的工具实现,所有连接它的 Agent 下次 list 时就会看到新工具,无需重新部署 Agent 代码。

2026-07-10 10:29:25 27

原创 AI大厂面试200问-第三章

但这里有个坑:跨会话的记忆合并。我用的是 LWW(Last-Writer-Wins)with 语义去重——时间戳最新的优先,但如果新值和旧值的语义相似度 > 0.9(同一地址的两种写法),合并而非覆盖。分两个子层——语义记忆(向量数据库,存用户偏好、知识片段、事实信息)和情节记忆(PostgreSQL,存完整交互历史的关键片段,带时间戳)。每次 LLM 调用前,先查工作记忆(几乎零延迟),不够再查短期记忆(Redis,< 5ms),还不够再查长期记忆(向量搜索 + Rerank,< 200ms)。

2026-07-10 10:28:40 20

原创 AI大厂面试200问-第二章

最前沿的做法是根据任务特征自动选择模式——用一个小分类模型评估任务的复杂度和确定性,简单任务直接走一体式 ReAct(用弱模型),复杂但确定的任务走 Planner-Executor 分离模式,复杂且不确定的任务走一体式 ReAct(用强模型)。对于需要探索多条路径的任务,我们用了一个轻量版的 ToT——不是全 BFS 展开,而是先让 LLM 生成 3 个可能的方向,快速评估(用便宜模型,比如 Haiku),选最好的一条,然后在这条上用 ReAct 深入。实际运行的信号权重 > LLM 判断的权重。

2026-07-10 10:27:24 23

原创 AI大厂面试200问-第一章

它的角色-任务-团队抽象(Agent → Task → Crew)非常直观——比如『定义三个 Agent:Researcher、Writer、Reviewer,分配各自的 Task,按顺序执行』,十几行代码就能跑起来。比如——你们可能有一个内部的特殊模型路由策略(VIP 用户走 Opus,普通用户走 Haiku),或者一个自定义的安全审查流程(在每一步工具调用前要调用内部的风控模型),或者需要把 Agent 的状态持久化到公司内部的分布式存储而非简单的 SQLite checkpoint。

2026-07-08 10:25:30 21

原创 第17章:Docker 大厂面试题精选(腾讯/阿里/字节/美团)

"最大的区别是DNS 解析。默认 bridge 网络里,容器之间只能用 IP 互相访问,不能用容器名。比如你启动了一个 MySQL 容器叫db,另一个容器里配DB_HOST=db是解析不了的,必须写,IP 一变就挂了。自定义 bridge 网络自带 DNS 服务(127.0.0.11),容器名自动解析为 IP,所以DB_HOST=db直接就能用。还有一个问题是隔离性。默认 bridge 网络里所有容器都在同一个网络,互相都能访问。自定义网络可以做网络分组,比如把前端服务放frontend。

2026-07-03 09:50:24 116

原创 第16章:docker企业级实战综合项目

│ 电商系统容器化架构 ││ ││ 用户 → Nginx → API Gateway → 微服务 → 数据库/缓存 ││ ││ │ 接入层 │ ││ │ │ Nginx LB │ │ Nginx LB │ (主备) │ ││ │ │ ││ │ ▼ ▼ 应用服务层 │ ││ │ │ Gateway │ │ Gateway │ (API 网关) │ ││ │ │用户│ │商品│ │订单│ │支付│ │ ││ │ │服务│ │服务│ │服务│ │服务│ │ ││ ││ │ 数据层 │ │。

2026-07-03 09:49:44 157

原创 第15章:docker故障排查与面试题

本章目标:掌握 Docker 常见故障的排查方法,准备企业级面试题。

2026-07-03 09:49:10 178

原创 第14章:Docker 与 CI/CD

│ CI/CD 流水线 ││ ││ │提交 │ → │构建 │ → │测试 │ → │打包 │ → │部署 │ ││ ││ CI: 持续集成 (Continuous Integration) ││ 代码提交后自动构建和测试 ││ ││ CD: 持续交付/部署 (Continuous Delivery/Deployment) ││ 通过测试后自动打包和部署 │。

2026-07-03 09:48:31 192

原创 第13章:docker生产环境部署实战

本章目标:通过真实案例,演示如何在生产环境中部署和管理容器化应用。

2026-07-03 09:47:54 245

原创 第12章:Docker 监控与日志

本章目标:搭建完整的容器可观测性体系,包括监控、日志和告警。

2026-07-03 09:47:18 242

原创 第11章:Docker 安全加固

本章目标:理解 Docker 的安全威胁和攻击面,掌握容器安全加固的最佳实践。

2026-07-03 09:46:47 259

原创 第10章:企业级镜像仓库

镜像仓库(Registry)是用于存储和分发 Docker 镜像的服务。它是容器化工作流的核心组件,负责镜像的存储、版本管理和分发。镜像仓库的工作流程:开发者 仓库服务 部署环境│ docker │ push │ │ pull │ 生产服务器││ │ │ (镜像存储) │ │ │Docker Hub 是 Docker 官方的公共镜像仓库,也是最大的容器镜像社区。

2026-07-01 08:51:28 86

原创 第09章:Docker Compose 编排

Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具。通过一个 YAML 文件,你可以配置应用的所有服务、网络和存储卷,然后用一个命令创建并启动所有服务。传统方式(多个终端分别操作):终端1: docker run -d --name db mysql终端2: docker run -d --name redis redis终端3: docker run -d --name app myapp终端4: docker network connect ...

2026-07-01 08:50:52 197

原创 第08章:Docker 数据持久化

本章目标:理解容器数据的存储方式,掌握 Volume 和 Bind Mount 的使用,实现数据的持久化和共享。

2026-07-01 08:50:18 92

原创 第07章:Docker 网络模型

创建 bridge 类型的自定义网络# 创建并配置参数my-network# 查看网络详情# 1. 自动 DNS 解析(关键优势!# app-server 容器内可以直接通过 "web-server" 名称访问# curl http://web-server:80 ✅ 自动解析!# 2. 更好的隔离性# web 和 app 互相隔离,不能通信# 3. 灵活的网络配置--ipv6 \# 创建自定义网络# 启动多个容器# 在 web 容器中可以直接使用容器名访问。

2026-07-01 08:49:44 152

原创 第06章:Docker 容器生命周期

健康检查指令# 不同应用的健康检查示例:# Web 应用(HTTP 检查)# MySQL 数据库# Redis# 禁用健康检查# 运行时添加健康检查nginx。

2026-07-01 08:46:13 251

原创 第05章:Dockerfile 深度解析

本章目标:全面掌握 Dockerfile 的每条指令,理解构建缓存机制,编写企业级的高效 Dockerfile。

2026-07-01 08:45:39 212

原创 第04章:Docker 镜像管理

nginx:1.25 ← 精确版本nginx:1.25-alpine ← 精确版本 + 变体nginx:latest ← 最新版本(不推荐生产使用)nginx ← 等价于 nginx:latest# 1. 启动基础容器# 2. 在容器内安装软件# 3. 退出容器exit# 4. 基于容器创建镜像# 5. 验证新镜像# 6. 清理。

2026-07-01 08:45:05 245

原创 第03章:Docker 安装部署

本章目标:在不同操作系统上完成 Docker 的安装、配置和验证,搭建后续学习的实验环境。

2026-07-01 08:42:13 251

人工智能必修课-奥本海姆《信号与系统》

人工智能必修课--奥本海姆《信号与系统》

2025-05-23

空空如也

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

TA关注的人

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