Skip to content

AI 应用全栈架构师岗位


🎯 核心知识领域

一、后端开发(重点)

1.1 编程语言(至少精通一门)

  • [ ] Python: FastAPI/Flask, 异步编程 (asyncio), 类型注解
  • [ ] Java: Spring Boot, Spring Cloud, JPA/MyBatis
  • [ ] Go: Gin/Echo, 并发模型 (goroutine/channel)
  • [ ] Node.js/TypeScript: NestJS, Express, 类型系统

1.2 数据库设计

  • [ ] MySQL/PostgreSQL: 索引优化、事务隔离级别、锁机制、执行计划分析
  • [ ] 数据建模: ER 图设计、范式与反范式、分库分表策略
  • [ ] pgvector: 向量相似度搜索 (Cosine, L2, IP)

1.3 缓存与消息队列

  • [ ] Redis: 数据结构、持久化 (RDB/AOF)、缓存穿透/击穿/雪崩、分布式锁
  • [ ] 消息队列: RabbitMQ/Kafka/RocketMQ - 消息可靠性、顺序消费、积压处理

1.4 API 设计

  • [ ] RESTful API 设计规范 (资源命名、状态码、版本控制)
  • [ ] WebSocket 实时通信
  • [ ] GraphQL (加分)
  • [ ] OpenAPI/Swagger 文档

二、前端开发

2.1 核心框架(至少精通一门)

  • [ ] React: Hooks, Context, Redux/Zustand, React Query
  • [ ] Vue: Composition API, Pinia/Vuex, Vue Router
  • [ ] Next.js: SSR/SSG, App Router, Server Actions

2.2 AI 交互场景

  • [ ] 流式响应渲染 (Server-Sent Events)
  • [ ] Markdown 渲染与代码高亮
  • [ ] 对话状态管理
  • [ ] Agent 任务进度展示

三、AI 应用能力(核心差异化)

3.1 LLM 基础概念

  • [ ] Token: 计算方式、不同模型的 token 限制
  • [ ] Context Window: 上下文长度管理与截断策略
  • [ ] Temperature/Top-P: 采样参数对输出的影响
  • [ ] System/User/Assistant: 角色消息设计

3.2 Prompt Engineering

  • [ ] Zero-shot / Few-shot Prompting
  • [ ] Chain of Thought (CoT)
  • [ ] ReAct 模式 (Reason + Act)
  • [ ] Structured Output (JSON Mode, Function Calling)

3.3 AI Agent 开发

  • [ ] 任务拆解: 复杂任务分解为可执行步骤
  • [ ] Tool Calling: Function Calling 机制与注册
  • [ ] Memory 管理: 短期记忆 vs 长期记忆
  • [ ] Workflow 编排: 有向无环图 (DAG) 执行
  • [ ] 异常处理: 重试机制、降级方案、人工介入

3.4 RAG (检索增强生成)

  • [ ] 文档处理: PDF/Word/Markdown 解析、文本分块 (Chunking)
  • [ ] Embedding: 向量模型选择 (text-embedding-3-small/large, m3e)
  • [ ] 向量数据库:
    • [ ] pgvector (PostgreSQL 扩展)
    • [ ] Milvus (独立向量库)
    • [ ] Elasticsearch (混合检索)
    • [ ] Chroma/Weaviate
  • [ ] 检索策略: 语义检索、关键词检索 (BM25)、混合检索
  • [ ] Rerank: 重排序模型 (Cohere Rerank, bge-reranker)
  • [ ] 召回优化: MMR (最大边际相关性)、过滤条件

3.5 AI 工程化问题

  • [ ] 超时处理: 流式响应、长任务轮询
  • [ ] 幻觉问题: 事实校验、引用溯源
  • [ ] 成本控制: Token 统计、缓存层、小模型优先
  • [ ] 结果不确定性: 重试、投票、一致性检查

3.6 AI 框架(加分项)

  • [ ] LangChain: Chains, Agents, Retrievers
  • [ ] LangGraph: 状态机、循环图、多 Agent 协作
  • [ ] LlamaIndex: 数据连接器、查询引擎
  • [ ] **MCP **(Model Context Protocol): Server/Client 协议

四、系统架构能力(重点考察)

4.1 架构设计原则

  • [ ] SOLID 原则
  • [ ] DRY / KISS / YAGNI
  • [ ] 关注点分离
  • [ ] 领域驱动设计 (DDD) 基础

4.2 系统分层

┌─────────────────────────────────────┐
│         前端层 (Web/Mobile)          │
├─────────────────────────────────────┤
│         API Gateway / BFF           │
├─────────────────────────────────────┤
│      业务服务层 (微服务/单体)        │
├─────────────────────────────────────┤
│      AI 服务层 (LLM/RAG/Agent)       │
├─────────────────────────────────────┤
│   数据层 (MySQL/Redis/VectorDB)      │
└─────────────────────────────────────┘

4.3 并发与异步

  • [ ] 同步 vs 异步: 何时使用异步任务队列
  • [ ] Celery/Dramatiq: Python 分布式任务队列
  • [ ] Bull/BullMQ: Node.js 队列
  • [ ] 定时任务: Cron, APScheduler

4.4 性能优化

  • [ ] 数据库查询优化 (索引、覆盖索引、避免 N+1)
  • [ ] 缓存策略 (本地缓存 + 分布式缓存)
  • [ ] CDN 静态资源加速
  • [ ] 连接池配置

4.5 安全考虑

  • [ ] JWT/OAuth2 认证
  • [ ] RBAC 权限模型
  • [ ] SQL 注入防护
  • [ ] XSS/CSRF 防护
  • [ ] 敏感数据加密存储

五、DevOps 与工程化

5.1 容器化

  • [ ] Docker: Dockerfile 编写、多阶段构建
  • [ ] Docker Compose: 本地环境编排
  • [ ] Kubernetes: Pod/Deployment/Service (加分)

5.2 CI/CD

  • [ ] GitHub Actions / GitLab CI
  • [ ] 自动化测试流水线
  • [ ] 蓝绿部署/金丝雀发布

5.3 监控与日志

  • [ ] 日志: 结构化日志 (JSON), 日志分级
  • [ ] 链路追踪: OpenTelemetry, Jaeger
  • [ ] 指标监控: Prometheus + Grafana
  • [ ] 告警: PagerDuty, 钉钉/飞书机器人

5.4 测试

  • [ ] 单元测试 (pytest/jest/vitest)
  • [ ] 集成测试
  • [ ] E2E 测试 (Playwright/Cypress)

六、AI Coding 工具使用(岗位特色)

6.1 工具熟练度

  • [ ] Cursor: Tab 补全、Chat 对话、整文件编辑
  • [ ] Claude Code: CLI 交互、批量修改
  • [ ] GitHub Copilot: 行内补全、Copilot Chat

6.2 高效使用模式

  • [ ] 需求分析 → 让 AI 输出技术方案
  • [ ] 架构设计 → 让 AI 画流程图/时序图
  • [ ] 代码生成 → 提供清晰的上下文和约束
  • [ ] 代码审查 → 让 AI 识别潜在问题
  • [ ] 重构建议 → 技术债治理
  • [ ] 测试生成 → 提高覆盖率

📝 项目经验准备

准备 1-2 个完整项目案例,能够清晰说明:

1. 业务背景
   - 解决什么问题?
   - 用户是谁?
   - 业务规模如何?

2. 你的职责
   - 负责哪些模块?
   - 做了哪些架构决策?
   - 带过多少人?

3. 技术架构
   - 技术选型理由
   - 系统分层设计
   - 关键组件选型

4. 数据模型
   - 核心表结构
   - 索引设计
   - 数据量级

5. 挑战与解决
   - 遇到的最大技术难点
   - 如何排查线上问题
   - 性能瓶颈如何突破

6. 演进过程
   - 需求变化如何应对
   - 技术债如何治理
   - 如果重做会改进什么

🔥 高频面试题预测

系统设计题

  1. 设计一个企业知识库问答系统(RAG 架构)
  2. 设计一个 AI Agent 任务调度系统
  3. 设计一个支持多租户的 SaaS 平台
  4. 如何保证 AI 输出的可靠性和一致性?

技术深度题

  1. RAG 检索效果差,如何定位和优化?
  2. 向量数据库选型:pgvector vs Milvus,如何选择?
  3. 如何处理 LLM API 超时或失败?
  4. 如何设计一个可复用的 Tool Calling 框架?
  5. 缓存穿透/击穿/雪崩的区别和解决方案?

架构权衡题

  1. 单体 vs 微服务,什么时候拆分?
  2. 同步调用 vs 异步队列,如何选择?
  3. 强一致性 vs 最终一致性,业务场景如何选?
  4. 自研 vs 开源 vs 云服务,决策因素有哪些?

📚 推荐学习资源

AI 应用开发

系统设计

实战项目建议

  • 搭建一个带 RAG 的企业知识库系统
  • 实现一个支持 Tool Calling 的 AI Agent
  • 用 LangGraph 实现一个多步骤工作流

✅ 自查清单

领域掌握程度备注
后端语言 (Python/Java/Go/Node)⬜⬜⬜⬜⬜
前端框架 (React/Vue/Next)⬜⬜⬜⬜⬜
数据库设计与优化⬜⬜⬜⬜⬜
Redis/消息队列⬜⬜⬜⬜⬜
LLM API 与 Prompt⬜⬜⬜⬜⬜
RAG 全流程⬜⬜⬜⬜⬜
Agent 开发⬜⬜⬜⬜⬜
系统架构设计⬜⬜⬜⬜⬜
Docker/部署⬜⬜⬜⬜⬜
AI Coding 工具⬜⬜⬜⬜⬜

💡 技巧

  1. 强调工程背景: 突出传统软件开发经验,而非仅 AI Demo
  2. 展示架构思维: 讲清楚技术选型背后的权衡
  3. 准备代码作品: GitHub 项目或技术博客
  4. AI 工具提效案例: 具体说明 AI 如何提高你的研发效率
  5. 承认知识边界: 对不了解的技术诚实,但展示学习能力

更新于:

note