縮短面試流程,直接進入代碼環節,無論你是後臺開發,移動開發仍是前端開發,拿代碼說話!前端
(移動開發請用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(元)**********************
做業要求
加分項
直接失敗的減分項
金數據