考察候选人是否会先确认 API 语义,再讨论资产冻结和成交结束条件。
分别说明“买多少 ETH”和“花多少 USDT 买 ETH”的输入、结束条件、冻结方式和前端体验。
按基础币数量买,是用户输入要买多少基础币,例如买入 2 ETH。系统结束条件是累计成交数量达到 2 ETH。由于最终成交价格未知,冻结时不能简单用最新价,通常要根据盘口深度、保护价或最大滑点估算最坏成交额。
按计价币金额买,是用户输入最多花多少计价币,例如花 5,000 USDT 买 ETH。系统结束条件是预算用完、目标满足、盘口耗尽或触发保护条件。这种模式更适合普通用户,因为用户更容易理解“我最多花多少钱”。
两种语义的冻结、成交、剩余处理都不同,接口必须明确。面试中不能上来就假设市价买一定是按数量或按金额。
如果市价买按数量买,冻结金额不足但盘口价格继续上移,系统如何处理?