大众点评 在线笔试题 2014

1、团购(Group purchase)就是团体购物,指认识或不认识的消费者联合起来,加大与商家的谈判能力,以求得最优价格的一种购物方式。
 大众点评团是中国领先的本地生活消费平台,致力于为消费者提供本地餐馆美食、电影、KTV、休闲娱乐、酒店旅游、美容保健、婚庆亲子、购物等生活服务信息。
 
为了更好的服务消费者,点评推出了优惠券这项功能,并且也扩张到了非常多的商户。现在计划上线一个新的业务,在团购的基础上增加优惠券功能,更大幅度的让利消费者。
 现在需要实现这个功能,具体的业务需求描述如下(描述有点长,大家不用担心,题目不难):
 团购的购物车里面的每一件商品为Product类,其中包含id,name,description,price,category(类型,uuid类型),count, totalPrice 等等
 现在需要增加 优惠劵的功能,当用户添加完所有的商品后,有一个地方可以输入优惠劵code,当用户应用优惠劵后,购物车将自动列出优惠后的价格,包括跟使用之前的价格对比。
 
注意事项
 a). 当前优惠劵只有一种,就是满200减20,上不封顶,例如满400减40,满600减60...未满200的不优惠
 b). 优惠劵不能叠加多次使用,比如团购总价为240,使用优惠劵后变为220,不能继续再使用该优惠劵。
 优惠劵类自定。属性自定。
 
后期优惠劵功能可能扩充,比如(后期功能可不实现,但是要提供思路和方法)
 c1. 针对Product的category,比如食物,书籍,衣服,电子产品等等,该优惠劵会针对于该类型的Product,不会应用到别的category的产品
 c2. 打折券,不仅仅是限制于满200减20,而是可以打折,每一个优惠劵可以有不同的折率
 d). 优惠劵不能叠加使用,比如不能使用两个不同的优惠劵。但是当用户多次输入不同的优惠劵后,我们必须给用户提供更划算的优惠劵方案。
 
根据以上的业务需求,完成功能实现(编写相应的代码和测试代码,语言不限,可以用伪代码表示。不需要考虑界面问题)。

答案:在大话设计模式中寻找答案。这应该是策略模式的应用


2、十六进制序列
 描述:有一个十六进制序列由S1S2…Sk组成,其中Sk由1到k的十六进制数字依次组成。给定一个位置i,返回第i个位置上的字符。数字i为32位int
 例如,S1S2…Sk的前200个字符为112123123412345123456123456712345678123456789123456789A123456789AB123456789ABC123456789ABCD123456789ABCDE123456789ABCDEF123456789ABCDEF10123456789ABCDEF1011123456789ABCDEF101112123456789ABCDEF10111213
 所以i=50时,字符为5,i=100时,字符为9
 要求时间复杂度小于O(n),空间复杂度O(1)




3、uptime命令的输出中有load average: 0.24, 0.30, 0.24,请(1)解释这里load的数值的含义;(2)说明该数值多大时表示系统负载很高;(3)当系统负载高时,如何找出是什么因素导致负载高的。
1、系统在过去的1分钟、5分钟和15分钟内的平均负载。
2、当该数值达到CPU的总颗数,说明满负载。
3、可能是有大的计算任务,死循环任务,大量磁盘IO操作等
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值