(十一)web3面试第4弹

vvEcho 2025-12-26 19:34:50
Categories: Tags:

1.常见的匹配策略

FIFO(价格优先+时间优先),市价单,限价单,部分成交,多次成交(拆单),冰山策略
TWAP(Time Weighted Average Price)把一笔大单,按时间平均拆成多笔小单去执行
VWAP(Volume Weighted Average Price)根据市场成交量节奏来拆单,市场成交多多下单,市场少成交少则少下单

TWAP/VWAP 是拆单执行策略,不是撮合规则
它们拆单后会生成普通订单,进入撮合引擎

1
2
3
4
5
6
7
用户 / 量化策略

TWAP / VWAP(拆单器)

普通限价 / 市价单

撮合引擎

集合竞价:在一个时间窗口内集中收集订单,用统一规则找出“最公平、成交量最大”的价格;然后以此价格作为盘口的参考价,然后卖一价和卖一价在此价格附近

2.常见的下单规则

1️⃣ 订单与下单相关
Limit Order(限价单):指定成交价格的订单,只能在该价格或更优价格成交
Market Order(市价单):以当前市场最优价格立即成交的订单,不指定价格
Post Only(只做挂单):只允许作为 Maker 挂单,若会立刻成交则直接撤单
Trigger Order(条件单 / 触发单):当价格满足条件时才生成真实订单
Stop Order(止损 / 止盈单):价格触发后用于止损或止盈的订单
OCO(One Cancels the Other,二选一订单):两个订单绑定,一个成交,另一个自动取消
OTO(One Triggers the Other,先后订单):第一个订单成交后,才触发第二个订单

2️⃣ 时间与成交控制
GTC(Good Till Cancel):订单一直有效,直到成交或手动撤销
IOC(Immediate Or Cancel):立即成交,未成交部分立刻撤销
FOK(Fill Or Kill):必须一次性全部成交,否则全部撤销

3️⃣ 撮合与市场机制
Maker(挂单方):提供流动性、进入订单簿等待成交的一方
Taker(吃单方):主动成交、直接吃掉订单簿中订单的一方
Order Book(订单簿):按价格和时间排序的买卖订单集合
Tick Size(最小价格变动单位):价格允许变动的最小单位

4️⃣ 合约与风控
Mark Price(标记价):用于计算强平和盈亏的参考价格,防止插针
Index Price(指数价):由多家现货价格加权得到的参考价格
STP(Self-Trade Prevention,自成交保护):防止用户自己和自己成交的机制
Liquidation(强制平仓):保证金不足时系统强制平仓

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
交易所下单规则

├─ 1. 订单基本要素规则
│ ├─ 交易方向
│ │ ├─ 买(Buy)
│ │ └─ 卖(Sell)
│ ├─ 开平仓(合约)
│ │ ├─ 开仓(Open Position)
│ │ └─ 平仓(Close Position)
│ ├─ 交易品种
│ │ ├─ 现货(Spot)
│ │ ├─ 永续合约(Perpetual)
│ │ ├─ 交割合约(Futures)
│ │ └─ 期权(Options)
│ └─ 订单类型
│ ├─ 限价单(Limit Order)
│ ├─ 市价单(Market Order)
│ ├─ 条件单 / 触发单(Trigger Order)
│ └─ 组合订单(OCO / OTO)

├─ 2. 价格类规则
│ ├─ 价格精度(Tick Size)
│ ├─ 合理价格区间
│ │ ├─ 涨跌停限制(股票)
│ │ └─ 标记价偏离限制(合约)
│ ├─ 市价保护机制
│ │ ├─ 市价转保护限价
│ │ └─ 超出保护范围拒单或部分成交
│ └─ 报价合法性校验

├─ 3. 数量类规则
│ ├─ 最小下单量
│ ├─ 最小成交量
│ ├─ 数量精度限制
│ ├─ 最大下单量
│ └─ 冻结规则
│ ├─ 买单冻结资金
│ ├─ 卖单冻结资产
│ └─ 合约冻结保证金

├─ 4. 时间有效性规则
│ ├─ GTC(一直有效)
│ ├─ IOC(立即成交否则撤单)
│ ├─ FOK(全部成交否则撤单)
│ └─ Post Only(只做挂单 / Maker)

├─ 5. 成交与撮合规则
│ ├─ 撮合优先级
│ │ ├─ 价格优先
│ │ └─ 时间优先
│ ├─ 成交方式
│ │ ├─ 全部成交
│ │ ├─ 部分成交
│ │ └─ 剩余继续挂单或撤单
│ ├─ 连续竞价(Continuous Matching)
│ └─ 集合竞价(Call Auction)
│ ├─ 最大成交量原则
│ ├─ 最小剩余量原则
│ └─ 中间价原则

├─ 6. 条件单与高级下单规则
│ ├─ 触发价格类型
│ │ ├─ 最新价(Last Price)
│ │ ├─ 标记价(Mark Price)
│ │ └─ 指数价(Index Price)
│ ├─ 止盈单(Take Profit)
│ ├─ 止损单(Stop Loss)
│ ├─ OCO(二选一订单)
│ ├─ OTO(先后触发订单)
│ └─ 追踪止损(Trailing Stop)

└─ 7. 风控与限制规则
├─ 账户级风控
│ ├─ 下单频率限制
│ ├─ 最大挂单数限制
│ └─ API 调用限流
├─ 仓位级风控
│ ├─ 最大持仓限制
│ ├─ 最大杠杆限制
│ └─ 强平线(Liquidation Line)
└─ 交易安全机制
├─ 异常价格拒单
├─ 自成交保护(STP)
└─ 风控熔断机制

3.常见的挂单方式

4.nft 玩法有哪些?

交易所的 NFT 玩法可以分为交易型发行型金融化运营拉新四大类,从基础的挂单交易、盲盒发行,到 NFT 抵押、借贷、碎片化,本质是在将低流动性的非标准资产逐步金融化;在 CEX 场景下通常采用链下撮合、链上结算的混合架构,同时配合强风控和运营机制

玩法有:

5.ERC721 / ERC1155 gas优化

场景 更优方案
大规模 mint ERC721A / ERC1155
批量空投 ERC1155
游戏道具 ERC1155
单一高价值 NFT ERC721
二级市场兼容 ERC721

6.下单流程图梳理

下单 = 校验 → 冻结 → 撮合 → 成交 → 清算 → 行情广播
用户

API Gateway

交易系统(Order Service)

撮合引擎(Matching Engine)

清算结算(Clearing)

行情系统(Market Data)

7.欧易有哪些模块,对应有哪些表

用户系统(用户表,用户KYC表,用户安全设置表,用户登录日志表)
账户系统(账户表,账户余额表,账户冻结明细表,账户资产汇总表)
钱包系统(钱包地址表,充值记录表,提现记录表,链上交易记录表,钱包流水表)
交易系统(订单表,订单冻结表,撤单记录表,条件单表,OCO订单表)
撮合引擎(成交记录表,撮合日志表,撮合回放表)
清算结算(资金流水表,成交结算表,手续费记录表,盈亏记录表)
行情系统(最新行情表,深度快照表,成交明细表,K线数据表)
风控系统(风控规则表,风控命中记录表,用户风控状态表,限频记录表)
衍生品系统(合约 / 杠杆)

8.链上链下如何通信

链上solidity事件

链下
Web3 / WebSocket 订阅
监听区块
解析 event log

链上充值我用 (chain_id, tx_hash, log_index) 做幂等键,配合事件校验和确认数,避免重复、漏记和假充值
chain_id:区块链的唯一编号(EIP-155),说明交易发生在哪条链
tx_hash:交易哈希,一笔链上交易的唯一哈希
lohg_index: event log在交易中的索引,代表交易中第几个事件

9.代币授权的场景有哪些,需要注意什么

代币授权用于所有“合约代用户操作资产”的场景,包括 DEX 交易、DeFi 借贷、NFT 市场、流动性挖矿等