Stripe OA

标题是University Hackerrank challenge 2019-2020

Coding

主观题
怎么改进代码




Corner Cases:

  1. 必须按顺序,如果有重复的action,忽略第二个

  2. 如果action 不在 create/finalize/pay⾥面,忽略

  3. currency 不是 USD 忽略。 比如 create的时候是100USD,finalize变成1000RMB,每条invoice如果不是USD就不合法。

  4. 如果某个ID pay 过了,再次create相同id的invoice, 忽略(test case 10)

有可能出现这个情况,id是交错出现的:
“CREATE: id=14&amount=500&currency=USD”
“CREATE: id=15&amount=500&currency=USD”
“FINALIZE: id=14&amount=700&currency=USD”
“FINALIZE: id=15&amount=700&currency=USD”
case9 好像是id amount currency顺序会不一样且可能有其他的attributes
都过了,我觉得考虑了我总结corner case应该就都能过。。我不知道test case 11具体是什么

刚做完Stripe OA,题目很简单,时间绝对够,主要就是几个test case比较刁钻

过特别的几个test case要注意的几点:

1.input的id,amount,currency的顺序不一定
2.input的字母大小写不一定,建议一开始toLowerCase()一下
3.判断USD的时候最好把input的currency转化为大写字母
4.必须按顺序CREATE-FINALIZE-PAY,如果后面有id进行重复的action,ignore掉

还有一些正常需要注意的上面帖子里都有提到,我就不补充了

我是海投的, 我是9/4投的,大概2周到3周左右时间收到oa的,收到拒信了