缩短面试流程,直接进入代码环节,无论你是后台开发,移动开发仍是前端开发,拿代码说话!前端
(移动开发请用Android/iOS,前端开发请用JavaScript。其余语言不限。请在两天内完成做业,并经过表单提交给ThoughtWorks)git
面试题目:收银机github
需求描述面试
商店里进行购物结算时会使用收银机系统,这台收银机会在结算时根据客户的购物车中的商品和商店正在进行的优惠活动进行结算和打印购物小票。api
已知商品信息包含:名称,数量单位,单价,类别和条形码(伪)。 已知咱们能够对收银机进行设置,使之支持各类优惠。数据结构
咱们须要实现一个名为打印小票的小模块,收银机会将输入的数据转换成一个JSON数据而后一次性传给咱们这个小模块,咱们将从控制台中输出结算清单的文本。post
输入格式(样例):测试
[ 'ITEM000001', 'ITEM000001', 'ITEM000001', 'ITEM000001', 'ITEM000001', 'ITEM000003-2', 'ITEM000005', 'ITEM000005', 'ITEM000005']ui
其中对'ITEM000003-2'来讲,"-"以前的是标准的条形码,"-"以后的是数量。 当咱们购买须要称量的物品的时候,由称量的机器生成此类条形码,收银机负责识别生成小票。url
该商店正在对部分商品进行“买二赠一”的优惠活动和对部分商品进行95折的优惠活动。其中:
要求写代码支持上述的功能,并根据输入和设置的不一样,输出下列小票。
小票内容及格式(样例):
***<没钱赚商店>购物清单***名称:可口可乐,数量:3瓶,单价:3.00(元),小计:6.00(元)名称:羽毛球,数量:5个,单价:1.00(元),小计:4.00(元)名称:苹果,数量:2斤,单价:5.50(元),小计:11.00(元)----------------------买二赠一商品:名称:可口可乐,数量:1瓶名称:羽毛球,数量:1个----------------------总计:21.00(元)节省:4.00(元)**********************
***<没钱赚商店>购物清单***名称:可口可乐,数量:3瓶,单价:3.00(元),小计:9.00(元)名称:羽毛球,数量:5个,单价:1.00(元),小计:5.00(元)名称:苹果,数量:2斤,单价:5.50(元),小计:11.00(元)----------------------总计:25.00(元)**********************
***<没钱赚商店>购物清单***名称:可口可乐,数量:3瓶,单价:3.00(元),小计:9.00(元)名称:羽毛球,数量:5个,单价:1.00(元),小计:5.00(元)名称:苹果,数量:2斤,单价:5.50(元),小计:10.45(元),节省0.55(元)----------------------总计:24.45(元)节省:0.55(元)**********************
***<没钱赚商店>购物清单***名称:可口可乐,数量:3瓶,单价:3.00(元),小计:6.00(元)名称:羽毛球,数量:6个,单价:1.00(元),小计:4.00(元)名称:苹果,数量:2斤,单价:5.50(元),小计:10.45(元),节省0.55(元)----------------------买二赠一商品:名称:可口可乐,数量:1瓶名称:羽毛球,数量:2个----------------------总计:20.45(元)节省:4.55(元)**********************
做业要求
加分项
直接失败的减分项
金数据