- Web3基础知识:区块链、共识机制、智能合约、预言机等 - DeFi协议与AMM:Uniswap、借贷协议、流动性挖矿、闪电贷 - 智能合约安全:重入攻击、整数溢出、访问控制、前置交易 - 高并发应用:Layer2扩容、Rollup、侧链、状态通道 - Golang开发:Geth、Cosmos SDK、P2P网络、共识算法 - Layer2扩容:Optimistic Rollup、ZK-Rollup、跨链桥 - 跨链技术:HTLC、原子交换、跨链桥安全 - 简历项目迁移:Web2经验到Web3的转化路径 针对性结合候选人简历: - 字节跳动大促活动 → Web3营销活动 - 生活服务营销表达 → DeFi收益聚合器 - 低代码平台 → Web3开发平台 - 预算管理 → DAO治理 - 策略增长 → DeFi激励机制
792 lines
18 KiB
Markdown
792 lines
18 KiB
Markdown
# 简历项目Web3迁移
|
||
|
||
## 核心思路
|
||
|
||
这份文档将你在字节跳动、阿里巴巴、ThoughtWorks的Web2项目经验,转化为Web3面试的优势点。
|
||
|
||
---
|
||
|
||
## 1. 抖音生服大促活动 → Web3营销活动
|
||
|
||
### 原项目经验
|
||
|
||
```
|
||
抖音生服大促活动搭建&策略玩法方向(2024.10-至今)
|
||
|
||
关键成果:
|
||
- 引导GMV 1亿+
|
||
- 50k+ QPS抢券流量
|
||
- 1000+活动/年
|
||
- 0线上零事故荣誉
|
||
```
|
||
|
||
---
|
||
|
||
### Web3迁移问题
|
||
|
||
**面试官会问**:
|
||
> "你做过电商大促活动,如何在Web3设计NFT白名单或空投活动?"
|
||
|
||
**参考回答**:
|
||
```
|
||
相似点:
|
||
1. 高并发
|
||
- 电商:50k+ QPS抢券
|
||
- Web3:NFT Mint(防Gas War)
|
||
|
||
解决方案:
|
||
- Layer2(Arbitrum/Polygon):提升TPS到2000+
|
||
- 白名单:Merkle Tree验证
|
||
- 分批Mint:分散时间压力
|
||
- 限流:每地址Mint数量限制
|
||
|
||
2. 活动管理
|
||
- 电商:1000+活动/年
|
||
- Web3:NFT Drop、Airdrop
|
||
|
||
解决方案:
|
||
- 活动模板化(智能合约工厂)
|
||
- 可视化配置(低代码平台)
|
||
- 自动化测试(Foundry)
|
||
- 监控告警(链上事件监听)
|
||
|
||
3. 稳定性保障
|
||
- 电商:双机房容灾、0零事故
|
||
- Web3:合约安全、应急暂停
|
||
|
||
解决方案:
|
||
- 安全审计(Slither、MythX)
|
||
- 多重签名(关键操作)
|
||
- 暂停机制(Pausable)
|
||
- 保险基金(覆盖损失)
|
||
|
||
代码示例:
|
||
```solidity
|
||
// 活动合约(类似大促活动)
|
||
contract CampaignNFT is ERC721, Pausable, Ownable {
|
||
uint256 public maxSupply = 10000;
|
||
uint256 public whitelistPrice = 0.05 ether;
|
||
uint256 public publicPrice = 0.1 ether;
|
||
bytes32 public merkleRoot;
|
||
|
||
mapping(address => uint256) public mintedCount;
|
||
|
||
// 白名单Mint(类似消费券抢购)
|
||
function whitelistMint(bytes32[] memory proof) public payable whenNotPaused {
|
||
require(verifyMerkleProof(msg.sender, proof), "Not whitelisted");
|
||
require(mintedCount[msg.sender] < 3, "Exceed limit");
|
||
require(msg.value >= whitelistPrice, "Insufficient payment");
|
||
|
||
mintedCount[msg.sender]++;
|
||
_safeMint(msg.sender, totalSupply++);
|
||
}
|
||
|
||
// 紧急暂停(类似故障熔断)
|
||
function pause() public onlyOwner {
|
||
_pause();
|
||
}
|
||
|
||
function unpause() public onlyOwner {
|
||
_unpause();
|
||
}
|
||
}
|
||
```
|
||
```
|
||
|
||
---
|
||
|
||
## 2. 生活服务C端营销表达 → DeFi收益聚合器
|
||
|
||
### 原项目经验
|
||
|
||
```
|
||
生活服务C端营销表达(2023.10-2024.10)
|
||
|
||
关键成果:
|
||
- 300+场景营销表达
|
||
- 50+优惠类型叠斥
|
||
- 研发效率:5pd/需求 → 1pd/需求
|
||
- 业务收益:人均GMV+2.9%
|
||
```
|
||
|
||
---
|
||
|
||
### Web3迁移问题
|
||
|
||
**面试官会问**:
|
||
> "你做过营销策略平台,如何设计DeFi收益聚合器?"
|
||
|
||
**参考回答**:
|
||
```
|
||
相似点:
|
||
1. 复杂策略组合
|
||
- 电商:50+优惠类型叠斥
|
||
- Web3:多协议收益聚合
|
||
|
||
解决方案:
|
||
- 策略抽象(收益、风险、流动性)
|
||
- 动态组合(自动最优分配)
|
||
- 实时计算(链下计算 + 链上验证)
|
||
|
||
2. 通用架构
|
||
- 电商:原子组件+策略组合
|
||
- Web3:模块化合约
|
||
|
||
解决方案:
|
||
- 钻石代理(Diamond Proxy)
|
||
- 可升级合约(Transparent Proxy)
|
||
- 插件化设计(Facet)
|
||
|
||
3. 性能优化
|
||
- 电商:降低5pd → 1pd
|
||
- Web3:降低Gas费
|
||
|
||
解决方案:
|
||
- 链下计算(Merkle Tree)
|
||
- 批量操作(Batch Mint)
|
||
- Gas优化(EIP-1167)
|
||
|
||
代码示例:
|
||
```solidity
|
||
// 收益聚合器(类似营销策略平台)
|
||
contract YieldAggregator {
|
||
struct Protocol {
|
||
address protocol;
|
||
uint256 apy;
|
||
uint256 tvl;
|
||
uint256 riskLevel; // 1-10
|
||
}
|
||
|
||
struct Strategy {
|
||
uint256[] protocolIds;
|
||
uint256[] weights; // 百分比
|
||
}
|
||
|
||
Protocol[] public protocols;
|
||
mapping(address => Strategy) public userStrategies;
|
||
|
||
// 添加协议(类似添加优惠类型)
|
||
function addProtocol(
|
||
address _protocol,
|
||
uint256 _apy,
|
||
uint256 _riskLevel
|
||
) public onlyOwner {
|
||
protocols.push(Protocol({
|
||
protocol: _protocol,
|
||
apy: _apy,
|
||
tvl: 0,
|
||
riskLevel: _riskLevel
|
||
}));
|
||
}
|
||
|
||
// 自动优化策略(类似最优价格计算)
|
||
function optimizeStrategy(address user, uint256 riskTolerance) public {
|
||
// 根据风险偏好选择最优协议组合
|
||
// 链下计算,链上验证
|
||
|
||
Strategy memory strategy = calculateOptimalStrategy(riskTolerance);
|
||
userStrategies[user] = strategy;
|
||
}
|
||
|
||
// 执行策略(应用营销表达)
|
||
function executeStrategy(uint256 amount) public {
|
||
Strategy memory strategy = userStrategies[msg.sender];
|
||
|
||
for (uint256 i = 0; i < strategy.protocolIds.length; i++) {
|
||
uint256 protocolAmount = amount * strategy.weights[i] / 100;
|
||
Protocol memory protocol = protocols[strategy.protocolIds[i]];
|
||
|
||
// 存入协议
|
||
IProtocol(protocol.protocol).deposit(protocolAmount);
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
4. 业务收益
|
||
- 电商:人均GMV+2.9%
|
||
- Web3:APY提升
|
||
|
||
收益来源:
|
||
- 多协议收益聚合
|
||
- 自动复投
|
||
- 奖励代币(CRV、AAVE等)
|
||
```
|
||
|
||
---
|
||
|
||
## 3. 电商创新应用低码平台 → Web3开发平台
|
||
|
||
### 原项目经验
|
||
|
||
```
|
||
抖音电商创新应用低码平台(2022.07-2023.10)
|
||
|
||
关键成果:
|
||
- 提效3人日/应用
|
||
- 接入成本:2天 → 1小时
|
||
- AIGC搭建:2小时 → 10分钟
|
||
```
|
||
|
||
---
|
||
|
||
### Web3迁移问题
|
||
|
||
**面试官会问**:
|
||
> "你做过低代码平台,如何设计Web3智能合约开发平台?"
|
||
|
||
**参考回答**:
|
||
```
|
||
相似点:
|
||
1. 降低开发门槛
|
||
- 电商:前端模板+接口SPI
|
||
- Web3:合约模板+SDK封装
|
||
|
||
解决方案:
|
||
- OpenZeppelin Wizard(合约生成器)
|
||
- Thirdweb(无代码部署)
|
||
- Remix IDE(在线开发)
|
||
|
||
2. 可视化搭建
|
||
- 电商:页面搭建
|
||
- Web3:合约搭建
|
||
|
||
解决方案:
|
||
- 拖拽式合约生成
|
||
- 可视化调试
|
||
- 一键部署
|
||
|
||
3. AIGC应用
|
||
- 电商:AIGC页面搭建
|
||
- Web3:AI生成智能合约
|
||
|
||
解决方案:
|
||
- GitHub Copilot(代码补全)
|
||
- ChatGPT(合约生成)
|
||
- AI审计(漏洞检测)
|
||
|
||
代码示例:
|
||
```solidity
|
||
// 合约工厂(类似低代码平台)
|
||
contract TokenFactory {
|
||
mapping(address => address[]) public userTokens;
|
||
|
||
event TokenCreated(address indexed token, address indexed creator);
|
||
|
||
// 创建代币(一键部署)
|
||
function createToken(
|
||
string memory name,
|
||
string memory symbol,
|
||
uint256 supply
|
||
) public returns (address) {
|
||
// 部署新合约
|
||
ERC20Token newToken = new ERC20Token(name, symbol, supply);
|
||
|
||
userTokens[msg.sender].push(address(newToken));
|
||
|
||
emit TokenCreated(address(newToken), msg.sender);
|
||
|
||
return address(newToken);
|
||
}
|
||
|
||
// 批量创建(类似批量搭建)
|
||
function createTokens(
|
||
string[] memory names,
|
||
string[] memory symbols,
|
||
uint256[] memory supplies
|
||
) public {
|
||
for (uint256 i = 0; i < names.length; i++) {
|
||
createToken(names[i], symbols[i], supplies[i]);
|
||
}
|
||
}
|
||
}
|
||
|
||
// 使用OpenZeppelin模板
|
||
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
|
||
|
||
contract ERC20Token is ERC20 {
|
||
constructor(string memory name, string memory symbol, uint256 supply) ERC20(name, symbol) {
|
||
_mint(msg.sender, supply);
|
||
}
|
||
}
|
||
```
|
||
|
||
4. 成本降低
|
||
- 电商:接入成本2天 → 1小时
|
||
- Web3:部署成本$100 → $1
|
||
|
||
解决方案:
|
||
- Layer2(Arbitrum、Polygon)
|
||
- Gas优化(批量操作)
|
||
- 元交易(Relay)
|
||
```
|
||
|
||
---
|
||
|
||
## 4. 项目管理&预算管理 → DAO治理&国库管理
|
||
|
||
### 原项目经验
|
||
|
||
```
|
||
抖音电商-项目管理与预算管理平台(2021.06-2022.06)
|
||
|
||
关键成果:
|
||
- ROI测算:3天 → 1分钟
|
||
- 预算池模型(多层级、强管控)
|
||
- 借贷+回流模型
|
||
```
|
||
|
||
---
|
||
|
||
### Web3迁移问题
|
||
|
||
**面试官会问**:
|
||
> "你做过预算管理平台,如何设计DAO治理和国库管理?"
|
||
|
||
**参考回答**:
|
||
```
|
||
相似点:
|
||
1. 多层级管理
|
||
- 电商:多层级预算池
|
||
- Web3:DAO多签治理
|
||
|
||
解决方案:
|
||
- Gnosis Safe(多签钱包)
|
||
- Snapshot(链下投票)
|
||
- 授权委托(Delegation)
|
||
|
||
2. ROI测算
|
||
- 电商:项目ROI快速测算
|
||
- Web3:提案成本收益分析
|
||
|
||
解决方案:
|
||
- 链上数据分析(Dune Analytics)
|
||
- 实时APY计算
|
||
- 风险评估模型
|
||
|
||
3. 预算管控
|
||
- 电商:预算超花防护
|
||
- Web3:国库资金管理
|
||
|
||
解决方案:
|
||
- 支出限额(Spending Limit)
|
||
- 时间锁(Timelock)
|
||
- 多重审批(Multi-sig)
|
||
|
||
代码示例:
|
||
```solidity
|
||
// DAO国库管理(类似预算管理)
|
||
contract DAOTreasury {
|
||
struct Proposal {
|
||
address recipient;
|
||
uint256 amount;
|
||
string description;
|
||
uint256 voteStart;
|
||
uint256 voteEnd;
|
||
uint256 forVotes;
|
||
uint256 againstVotes;
|
||
bool executed;
|
||
}
|
||
|
||
mapping(uint256 => Proposal) public proposals;
|
||
mapping(address => uint256) public votingPower;
|
||
|
||
uint256 public totalBudget;
|
||
uint256 public spentBudget;
|
||
uint256 public budgetLimit = 1000000 * 1e18; // 100万
|
||
|
||
// 创建提案(类似项目立项)
|
||
function propose(
|
||
address recipient,
|
||
uint256 amount,
|
||
string memory description
|
||
) public returns (uint256) {
|
||
require(votingPower[msg.sender] > 0, "No voting power");
|
||
require(spentBudget + amount <= budgetLimit, "Exceed budget");
|
||
|
||
Proposal memory proposal = Proposal({
|
||
recipient: recipient,
|
||
amount: amount,
|
||
description: description,
|
||
voteStart: block.timestamp,
|
||
voteEnd: block.timestamp + 7 days,
|
||
forVotes: 0,
|
||
againstVotes: 0,
|
||
executed: false
|
||
});
|
||
|
||
proposals[totalProposals] = proposal;
|
||
totalProposals++;
|
||
|
||
return totalProposals - 1;
|
||
}
|
||
|
||
// 投票(类似项目审批)
|
||
function vote(uint256 proposalId, bool support) public {
|
||
Proposal storage proposal = proposals[proposalId];
|
||
|
||
require(block.timestamp >= proposal.voteStart, "Not started");
|
||
require(block.timestamp <= proposal.voteEnd, "Ended");
|
||
require(votingPower[msg.sender] > 0, "No voting power");
|
||
|
||
if (support) {
|
||
proposal.forVotes += votingPower[msg.sender];
|
||
} else {
|
||
proposal.againstVotes += votingPower[msg.sender];
|
||
}
|
||
}
|
||
|
||
// 执行提案(类似项目执行)
|
||
function executeProposal(uint256 proposalId) public {
|
||
Proposal storage proposal = proposals[proposalId];
|
||
|
||
require(block.timestamp > proposal.voteEnd, "Not ended");
|
||
require(
|
||
proposal.forVotes > proposal.againstVotes,
|
||
"Not approved"
|
||
);
|
||
require(!proposal.executed, "Already executed");
|
||
|
||
proposal.executed = true;
|
||
spentBudget += proposal.amount;
|
||
|
||
payable(proposal.recipient).transfer(proposal.amount);
|
||
}
|
||
|
||
// ROI测算(链下计算)
|
||
function calculateROI(uint256 proposalId) public view returns (int256) {
|
||
// 根据提案成本和收益计算ROI
|
||
// 实际使用链下数据
|
||
return 0;
|
||
}
|
||
}
|
||
```
|
||
|
||
4. 资金回流
|
||
- 电商:预算回流模型
|
||
- Web3:国库收入自动回流
|
||
|
||
解决方案:
|
||
- 自动复投(Yearn)
|
||
- 收益聚合(Convex)
|
||
- 动态调整
|
||
```
|
||
|
||
---
|
||
|
||
## 5. 商家策略增长 → DeFi协议激励机制
|
||
|
||
### 原项目经验
|
||
|
||
```
|
||
ICBU商家策略增长线索清洗引擎(2020.04-2021.06)
|
||
|
||
关键成果:
|
||
- GC优化:12h → 10min
|
||
- 判重提升90%
|
||
- 最佳合作伙伴奖(3/50)
|
||
```
|
||
|
||
---
|
||
|
||
### Web3迁移问题
|
||
|
||
**面试官会问**:
|
||
> "你做过策略增长平台,如何设计DeFi流动性激励?"
|
||
|
||
**参考回答**:
|
||
```
|
||
相似点:
|
||
1. 线索清洗
|
||
- 电商:商家线索判重补全
|
||
- Web3:清洗交易(MEV)
|
||
|
||
解决方案:
|
||
- Flashbots(MEV优化)
|
||
- 私有内存池(避免前置)
|
||
- 套利机器人
|
||
|
||
2. 策略分发
|
||
- 电商:多级销售跟进
|
||
- Web3:多协议收益分配
|
||
|
||
解决方案:
|
||
- 收益聚合器(Yearn)
|
||
- 自动再平衡
|
||
- 风险评估
|
||
|
||
3. 性能优化
|
||
- 电商:GC优化12h → 10min
|
||
- Web3:Gas优化、批量操作
|
||
|
||
解决方案:
|
||
- EIP-1167(最小代理克隆)
|
||
- 批量交易(Multicall)
|
||
- 链下计算
|
||
|
||
代码示例:
|
||
```solidity
|
||
// 流动性激励(类似线索清洗)
|
||
contract LiquidityIncentive {
|
||
struct Pool {
|
||
uint256 totalLiquidity;
|
||
uint256 rewardPerToken;
|
||
mapping(address => uint256) userRewardPerTokenPaid;
|
||
mapping(address => uint256) rewards;
|
||
}
|
||
|
||
mapping(address => Pool) public pools;
|
||
address public rewardToken;
|
||
|
||
uint256 public rewardRate = 100 * 1e18; // 每秒奖励
|
||
|
||
// 添加流动性(类似清洗线索)
|
||
function addLiquidity(address pool, uint256 amount) public {
|
||
Pool storage p = pools[pool];
|
||
|
||
// 更新奖励
|
||
updateReward(pool, msg.sender);
|
||
|
||
// 添加流动性
|
||
p.totalLiquidity += amount;
|
||
}
|
||
|
||
// 提取奖励(类似转化)
|
||
function claimReward(address pool) public {
|
||
Pool storage p = pools[pool];
|
||
|
||
updateReward(pool, msg.sender);
|
||
|
||
uint256 reward = p.rewards[msg.sender];
|
||
p.rewards[msg.sender] = 0;
|
||
|
||
IERC20(rewardToken).transfer(msg.sender, reward);
|
||
}
|
||
|
||
// 更新奖励(类似优化算法)
|
||
function updateReward(address pool, address user) internal {
|
||
Pool storage p = pools[pool];
|
||
|
||
uint256 reward = p.totalLiquidity * rewardRate;
|
||
p.rewardPerToken += reward;
|
||
|
||
p.rewards[user] += p.rewardPerToken - p.userRewardPerTokenPaid[user];
|
||
p.userRewardPerTokenPaid[user] = p.rewardPerToken;
|
||
}
|
||
}
|
||
```
|
||
|
||
4. 资源盘活
|
||
- 电商:优化资源盘活任务
|
||
- Web3:闲置资产利用
|
||
|
||
解决方案:
|
||
- 流动性挖矿(Yield Farming)
|
||
- 借贷(Aave、Compound)
|
||
- 权益质押(Staking)
|
||
```
|
||
|
||
---
|
||
|
||
## 6. 技术栈迁移
|
||
|
||
### Java → Solidity/Rust
|
||
|
||
**面试官会问**:
|
||
> "你精通Java,如何快速学习Solidity?"
|
||
|
||
**参考回答**:
|
||
```
|
||
语言对比:
|
||
1. 类型系统
|
||
- Java:强类型、面向对象
|
||
- Solidity:强类型、面向合约
|
||
|
||
2. 内存管理
|
||
- Java:GC自动回收
|
||
- Solidity:无需管理(存储自动清理)
|
||
|
||
3. 并发
|
||
- Java:Thread、ExecutorService
|
||
- Solidity:无并发(单线程执行)
|
||
|
||
4. 错误处理
|
||
- Java:try-catch-finally
|
||
- Solidity:require、revert
|
||
|
||
代码迁移示例:
|
||
```java
|
||
// Java
|
||
public class Bank {
|
||
private mapping(address => uint256) balances;
|
||
|
||
public void transfer(address to, uint256 amount) {
|
||
require(balances[msg.sender] >= amount, "Insufficient balance");
|
||
balances[msg.sender] -= amount;
|
||
balances[to] += amount;
|
||
}
|
||
}
|
||
```
|
||
|
||
```solidity
|
||
// Solidity
|
||
contract Bank {
|
||
mapping(address => uint256) public balances;
|
||
|
||
function transfer(address to, uint256 amount) public {
|
||
require(balances[msg.sender] >= amount, "Insufficient balance");
|
||
balances[msg.sender] -= amount;
|
||
balances[to] += amount;
|
||
}
|
||
}
|
||
```
|
||
|
||
学习路径:
|
||
1. 基础语法(1周)
|
||
- Solidity by Example
|
||
- CryptoZombies
|
||
|
||
2. 安全实践(1周)
|
||
- OpenZeppelin合约
|
||
- 常见漏洞学习
|
||
|
||
3. 项目实战(2周)
|
||
- ERC20代币
|
||
- NFT合约
|
||
- DeFi协议
|
||
|
||
4. 工具链(1周)
|
||
- Hardhat、Foundry
|
||
- OpenZeppelin
|
||
- Ethers.js
|
||
```
|
||
|
||
---
|
||
|
||
### Golang → Rust
|
||
|
||
**面试官会问**:
|
||
> "你精通Golang,如何学习Rust开发区块链?"
|
||
|
||
**参考回答**:
|
||
```
|
||
语言对比:
|
||
1. 内存管理
|
||
- Go:GC自动回收
|
||
- Rust:所有权系统
|
||
|
||
2. 并发
|
||
- Go:Goroutine、Channel
|
||
- Rust:Async/Await、Tokio
|
||
|
||
3. 错误处理
|
||
- Go:error、panic
|
||
- Rust:Result、Option
|
||
|
||
4. 性能
|
||
- Go:优秀
|
||
- Rust:极致(接近C++)
|
||
|
||
Web3应用:
|
||
Go适用:
|
||
- Geth(以太坊客户端)
|
||
- Cosmos SDK(跨链框架)
|
||
- 服务器应用
|
||
|
||
Rust适用:
|
||
- Solana(高性能公链)
|
||
- Polkadot(Substrate框架)
|
||
- ZK证明系统
|
||
|
||
学习路径:
|
||
1. Rust基础(2周)
|
||
- 所有权系统
|
||
- 生命周期
|
||
- Trait系统
|
||
|
||
2. 区块链开发(2周)
|
||
- Substrate框架
|
||
- Solana程序
|
||
- ink!(合约语言)
|
||
|
||
3. 项目实战(2周)
|
||
- Substrate节点
|
||
- Solana Token
|
||
- ink!合约
|
||
```
|
||
|
||
---
|
||
|
||
## 7. 综合迁移框架
|
||
|
||
### 核心能力映射
|
||
|
||
| Web2能力 | Web3应用 | 迁移难度 |
|
||
|---------|---------|---------|
|
||
| **高并发** | Layer2扩容 | ⭐⭐ |
|
||
| **分布式系统** | 跨链技术 | ⭐⭐⭐ |
|
||
| **营销系统** | DeFi激励 | ⭐⭐ |
|
||
| **低代码平台** | Web3开发平台 | ⭐⭐⭐ |
|
||
| **预算管理** | DAO治理 | ⭐⭐⭐⭐ |
|
||
| **风控系统** | 智能合约安全 | ⭐⭐⭐ |
|
||
|
||
---
|
||
|
||
### 学习路径(3个月)
|
||
|
||
**第1个月:基础**
|
||
- Week 1-2:区块链基础、Solidity语法
|
||
- Week 3-4:智能合约开发、Web3.js
|
||
|
||
**第2个月:深入**
|
||
- Week 5-6:DeFi协议(Uniswap、Aave)
|
||
- Week 7-8:安全审计、Gas优化
|
||
|
||
**第3个月:实战**
|
||
- Week 9-10:项目开发(NFT、DeFi)
|
||
- Week 11-12:安全审计、部署上线
|
||
|
||
---
|
||
|
||
### 推荐资源
|
||
|
||
**文档**
|
||
- Ethereum官方文档
|
||
- OpenZeppelin合约
|
||
- Solidity by Example
|
||
|
||
**课程**
|
||
- CryptoZombies(Solidity游戏)
|
||
- LearnWeb3(Web3开发)
|
||
- Patrick Collins(YouTube)
|
||
|
||
**工具**
|
||
- Remix IDE(在线开发)
|
||
- Hardhat(开发框架)
|
||
- Foundry(测试框架)
|
||
|
||
**社区**
|
||
- Ethereum Stack Exchange
|
||
- Discord(Web3社区)
|
||
- Twitter(关注Web3开发者)
|
||
```
|
||
|
||
---
|
||
|
||
## 总结
|
||
|
||
你的Web2经验是Web3面试的巨大优势:
|
||
|
||
1. **高并发** → Layer2扩容
|
||
2. **营销系统** → DeFi激励
|
||
3. **低代码** → Web3开发平台
|
||
4. **预算管理** → DAO治理
|
||
5. **风控系统** → 智能合约安全
|
||
6. **Golang** → 公链客户端开发
|
||
|
||
关键:
|
||
- 强调可迁移的能力
|
||
- 展示学习能力和适应性
|
||
- 用Web2经验理解Web3问题
|
||
- 快速学习Web3技术栈
|