Web3 学习路线与面试经验
下面这套路线图借鉴了近一年来社区最受欢迎的 Web3 学习路线与面试经验文章,并结合 2025 年最新技术栈(ERC‑4337、zkEVM、Account Abstraction 等)做了适度扩充。你可以把它理解成「从 0 到安全上线 DApp」的 6 阶段冲刺,每个阶段都给出核心能力、参考教材/实战项目、验证方式以及在远程面试中最常被问到的知识点。
目录
1. 一张总览图:6 阶段能力树
2. 分阶段学习清单(含核心资源 & 验证方式)
0️⃣ 预热(1‑2 周)
1️⃣ 基础链 & Solidity(3‑6 周)
2️⃣ 全栈 DApp(6‑10 周)
3️⃣ 安全与优化(4‑6 周)
4️⃣ 扩容 & 新范式(6‑8 周)
5️⃣ 专精 & 社区(持续)
3. 远程工作面试高频技术点(总结版)
4. 建议的周度节奏
5. 常见踩坑 & 建议
6. 结语
1. 一张总览图:6 阶段能力树
阶段 | 目标关键字 | 里程碑项目 | 面试高频点 |
---|---|---|---|
0. 预热 | CS/密码学/TypeScript | 用 TypeScript 写个 ECDSA 签名与验证脚本 | “区块链=数据库?”、“ECDSA 原理” |
1. 基础链 & Solidity | 部署第一个 ERC‑20+Hardhat 单元测试 | 解释区块、交易、Gas、EVM | “public vs private chain”(Web3 Jobs) |
2. 全栈 DApp | Next.js + wagmi 接管前端,Metamask 交互 | 构建“链上 TodoList”并写 Subgraph | “EIP‑712 签名流程” |
3. 安全与优化 | Slither + Foundry Fuzz 覆盖率 > 80% | 在 Ethernaut/Paradigm CTF 通关 10 关 | “Reentrancy 防御模式”(scs.owasp.org) |
4. 扩容与新范式 | L2 (Optimistic & zkEVM) + ERC‑4337 钱包 | 把 TodoList 迁到 Linea/Polygon zkEVM | “Account Abstraction 打包流程”(Solichain Web3 Blog, Grenade 手榴彈) |
5. 专精&社区 | 安审/DeFi/NFT/ZK Circuits/新链 | 参与 Audit Contest 或提 EIP 草案 | “Flash‑loan 漏洞、MEV、防护” |
终点判断:能独立把一条 L2 上线的 DApp 从合约 → 前端 → 子图 → CI/CD → 安审报告打完闭环,同时能回答上表 90% 的高频面试题。
2. 分阶段学习清单(含核心资源 & 验证方式)
0️⃣ 预热(1‑2 周)
-
知识:密码学原理、HTTP + P2P 基础、TypeScript/Node.js。
-
资源:CryptoZombies 第 0 章「区块链基础」(含交互式签名演示) cryptozombies.io
-
验证:写个 CLI 工具:对字符串做 Keccak256 hash、签名、验签。
1️⃣ 基础链 & Solidity(3‑6 周)
-
Solidity 0.8.x 语法:结构体、事件、modifier、library。
-
开发流程:Hardhat + OpenZeppelin + Chai,学会写 fixtures、覆盖率报告。
-
安全入门:重放攻击、整数溢出、有/无访问控制。
-
项目:
-
部署可升级 ERC‑20(UUPS),写 15 + 测试用例
-
阅读并复现 Ethernaut Level 0‑5
-
-
面试热点:EVM 调用栈、storage slot 计算、Gas 费组成、public vs private 链Web3 Jobs。
2️⃣ 全栈 DApp(6‑10 周)
-
前端栈:Next.js 15、wagmi 2.x、viem、RainbowKit;学会 EIP‑712 TypedData 签名。
-
后端/索引:The Graph Subgraph、本地 Anvil/Foundry 节点、Alchemy RPC。
-
项目:Todo DApp
-
Solidity: CRUD + 事件
-
Next.js: CSR + SSR,钱包登录,签名授权删除
-
部署到 Vercel,GraphQL 查询链上数据
-
-
面试热点:
-
“请手写一个 EIP‑712 结构体并解释 typed dataHash”
-
“在没有 MetaMask 的手机浏览器里,你如何让用户签名?”
-
3️⃣ 安全与优化(4‑6 周)
-
漏洞模型:OWASP Smart Contract Top10 2025 owasp.org
-
工具:Slither、Foundry fuzz、Echidna、MythX。
-
Gas 优化:unchecked {++i}、Storage slot packing、显式 calldata。
-
练习:
-
Ethernaut 全部 27 关
-
Paradigm CTF 2025(≥ 10 分)
-
-
面试热点:Reentrancy、unchecked external call、閃電貸,如何写重入 Guard scs.owasp.org。
4️⃣ 扩容 & 新范式(6‑8 周)
-
Layer 2:Optimism、Arbitrum、zkSync、Polygon zkEVM;桥接机制。
-
Account Abstraction:ERC‑4337 流程、Bundler、Paymaster 模式 Solichain Web3 Blog
-
ZK 基础:Groth16 vs Plonk、ZK‑EVM、Halo2。
-
项目:把 TodoList 迁到 zkEVM,并用自定义 Paymaster 代付 Gas。
-
面试热点:
-
“请解释 Optimistic vs ZK Rollup 的欺诈/有效性证明差异”
-
“Bundler 收费模式有什么激励问题?”
-
5️⃣ 专精 & 社区(持续)
-
方向选择:
-
安全审计:参加 Immunefi、Sherlock contest。
-
DeFi/NFT/GameFi:AMM、拍卖、ERC‑1155、链游经济模型。
-
跨链/模块化:IBC、EigenLayer、Celestia DA。
-
新链:Solana (Rust)、Move (Aptos/Sui)、Cosmos SDK (CosmWasm)。
-
-
输出:写技术博客、录视频、在 GitHub 开源工具,提 EIP 或 ERC draft。
-
职业验证:安全审计报告、开源贡献、黑客松奖项、EIP PR 被合并。
3. 远程工作面试高频技术点(总结版)
主题 | 常见提问 | 参考来源 |
---|---|---|
区块链基础 | 公有链 vs 私有链;去中心化意义;PoS vs PoW 共识 | Web3.career 问答 2025 (Web3 Jobs) |
Solidity 语义 | storage vs memory vs calldata;delegatecall 场景及风险 | Himalayas & FinalRound 合集 (Himalayas, finalroundai.com) |
安全 | 设计一份可被重入攻击的合约并修复;整数溢出为何在 0.8+ 默认安全 | OWASP SC‑Top10 (owasp.org) |
ERC 标准 | ERC‑20 vs 1155;实现可升级 UUPS 代理 | CryptoJobsList 问答 (Crypto Jobs List) |
扩容/AA | 4337 五角色;L1‑L2 消息桥双向流程 | Solichain & YouTube 视频 (Solichain Web3 Blog, YouTube) |
ZK | zk‑SNARK vs zk‑STARK 特点;证明与验证复杂度 | 零知识证明入门文章 (CSDN博客) |
全栈 | 在 Next.js 中如何用 wagmi 监听链上事件;如何优化子图处理延迟 | 面试指南 EkoLance (EkoLance) |
面试形式:多数远程公司会先做 30 分钟「知识点口头问答」,随后给 2‑4 小时家庭作业(实现或审计一个小合约),最后是 1 小时 Code Review + 系统设计。提前熟悉 Hardhat/Foundry 测试框架和 GitHub PR 流程往往能加分。
4. 建议的周度节奏
周 | 计划 | 产出 |
---|---|---|
1‑2 | 阶段 0 + Solidity Basic 视频 & CryptoZombies | GitHub Repo:ECDSA 脚本 |
3‑4 | 阶段 1 | ERC‑20 + 单元测试 + README |
5‑6 | 阶段 1 安全 | Ethernaut 1‑5 题解博客 |
7‑10 | 阶段 2 | Todo DApp 上线 (Vercel) |
11‑14 | 阶段 3 | 安审报告 + Paradigm CTF 战绩 |
15‑18 | 阶段 4 | zkEVM 迁移 + Paymaster Demo |
19‑24 | 阶段 5 | 选择专精方向,参与黑客松 / Audit Contest |
5. 常见踩坑 & 建议
-
只学 Solidity 不学测试 → 面试一定会让你写测试或审计。
-
忽视安全/Gas 优化 → 现在连初级岗位都会考 Slither/Foundry fuzz。
-
只跟教程不做博客 → 远程公司看重「公共可验证输出」。
-
忽视社区 → 进 Telegram/Discord/ETHGlobal 黑客松能快速对接招聘。
6. 结语
按照上述 6 阶段,你大约在 6‑8 个月可达到“独立上线 + 通过面试”的水位(当然这个时间不是绝对的,根据个人能力而定,执行力决策力强的的宝子时间可能时间会更短)。学习过程中务必保持 构建‑复盘‑输出 的循环,并把安全贯穿始终。