返回架构笔记
Arch Day 164

Arch Day 164: Web3系统设计面试框架 — 45分钟的结构化方法

Web3系统设计面试不是"画架构图",而是展示你在约束条件下做trade-off决策的能力。与Web2最大的区别:必须处理链上/链下数据分离、区块确认的概率性最终性、24/7不间断运行、和市场波动时10-100x流量突增。

2026-09-10
第七阶段 - Web3专题深度
系统设计面试Web3架构限时练习

日期: 2026-09-10 (Day 164) 阶段: 第七阶段 - Web3专题深度 标签: #系统设计 #面试 #Web3 #架构 #限时练习


核心概念

一句话定义

Web3系统设计面试不是"画架构图",而是展示你在约束条件下做trade-off决策的能力。与Web2最大的区别:必须处理链上/链下数据分离、区块确认的概率性最终性、24/7不间断运行、和市场波动时10-100x流量突增。


知识点详解

1. Web3 vs Web2系统设计差异

维度Web2Web3
数据源单一数据库链上状态+链下数据库
一致性强一致概率性最终性(reorg风险)
可用性99.99%24/7/365必须+突发10-100x
安全常规auth私钥管理、MEV保护、合约安全
合规GDPR/SOC2KYC/AML + 链上透明性

2. 8步答题框架

1. 需求澄清 (3min)
   ├── 功能需求(核心用户故事)
   ├── 非功能需求(延迟/吞吐/链支持)
   └── Web3特有:哪些链?链上还是链下?

2. 规模估算 (2min)
   ├── 用户量/交易量/QPS
   └── 存储量估算

3. 高层架构 (5min)
   ├── 核心组件图
   └── 链上/链下边界

4. 数据模型 (5min)
   ├── 链上状态 vs 链下数据库
   └── 索引策略

5. API设计 (5min)
   ├── 核心端点
   └── WebSocket/Webhook

6. 深入核心组件 (15min)
   ├── 选1-2个核心组件深入
   └── 讨论实现细节

7. 扩展性 (5min)
   ├── 水平扩展方案
   └── 缓存策略

8. Trade-offs讨论 (5min)
   ├── 安全性 vs 性能
   └── 去中心化 vs 用户体验

3. Web3系统设计Checklist

每道题都要考虑:

  • Reorg处理(区块回滚怎么办?)
  • Gas优化(如何减少链上交易成本?)
  • 私钥管理(HSM/MPC/多签?)
  • MEV保护(前端运行/三明治攻击?)
  • 多链支持(如何抽象链差异?)
  • 合规要求(KYC/AML/地理限制?)

4. 各公司面试风格

公司风格注意事项
Coinbase安全优先,KYC/AML是核心"负余额=自动挂"
Chainlink两轮1小时技术轮分布式系统+组件实现
Alchemy基础设施视角RPC性能/可靠性
Circle支付/合规视角稳定币/结算

面试题

问题:面试中如何处理"我不确定"的情况?

回答:坦诚+"提出假设"——"I'm not sure about the exact TPS of Solana validators, but let me assume 3,000 TPS and design around that. We can adjust if the actual number is different." 面试官看的不是你记住了多少数字,而是你的思考过程和trade-off能力。