讨论/求职面试/蚂蚁金服在线笔试题,竞拍系统/
蚂蚁金服在线笔试题,竞拍系统

问题描述:

有一个车牌拍卖系统,参与竞拍的人每个人需要拍出一个价格,
但是竞拍人,不能连续出价,必须有人出价以后自己才能出价,否则无效。
并且每次竞拍价格区间在1-200元以内,请写一段代码,
模拟多人竞拍1000次以后,谁获得了基础价格是4000元的车牌.

欢迎写下各位的答案

我感觉这道题要关注的是高并发下的串行处理,所以如果我写的话会这样处理:
1、判断价格是否可能会被接受,如果价格低于当前价格,直接返回出价失败;
2、判断是否已经到了1000,到了返回拍卖结束;
3、获取锁
4、再次判断价格是否在1~200之间,如果不是,释放锁、返回出价失败;
5、判断是否到了1000,如果已经过了,返回拍卖结束;
6、更新最新价、累加拍卖次数、如果正好是第1000个人,返回竞拍成功,否则返回出价成功。

展开全部 4 讨论