优惠券系统工程师考试试卷及答案_第1页
优惠券系统工程师考试试卷及答案_第2页
优惠券系统工程师考试试卷及答案_第3页
优惠券系统工程师考试试卷及答案_第4页
优惠券系统工程师考试试卷及答案_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

优惠券系统工程师考试试卷及答案一、填空题(每题1分,共10分)1.优惠券按使用场景可分为满减券、折扣券、______券等。2.优惠券的核心属性包括ID、类型、面值、______、有效期等。3.发放优惠券避免超发,常使用______锁控制库存。4.Redis存储优惠券缓存常用的数据结构是______。5.核销优惠券的核心逻辑是“扣库存+______”。6.标识重复核销的参数是______。7.多商户优惠券系统常通过______实现隔离。8.优惠券过期处理方式包括自动失效和______。9.缓存优惠券需设置与数据库同步的______。10.限制同一用户领券的策略是______。答案:1.现金2.使用门槛3.乐观4.Hash5.标记已使用6.唯一订单号7.分库分表8.手动回收9.过期时间10.领取上限二、单项选择题(每题2分,共20分)1.核销幂等处理常用()A.唯一订单号校验B.重复点击过滤C.缓存过期D.日志记录2.Redis缓存优惠券优先用()结构A.ListB.HashC.SetD.ZSet3.数据库存优惠券状态最优类型是()A.VARCHARB.INTC.CHARD.TEXT4.高并发发券避免超发的高效方式是()A.悲观锁B.乐观锁C.分布式锁D.无锁5.核销重试需保证()A.多次扣库存B.幂等性C.不校验有效期D.直接成功6.过期时间最优存储格式是()A.字符串日期B.时间戳C.枚举D.布尔值7.多商户隔离核心是()A.加前缀B.分库分表C.权限控制D.缓存隔离8.Redis缓存过期时间应()A.等于数据库同步周期B.永久有效C.随机设置D.比有效期短9.核销日志主要作用是()A.提升性能B.便于对账C.减少缓存D.简化逻辑10.领券限流常用()A.不限制B.固定窗口C.随机限制D.按等级答案:1.A2.B3.B4.B5.B6.B7.B8.A9.B10.B三、多项选择题(每题2分,共20分,多选少选不得分)1.优惠券系统核心模块包括()A.发放模块B.核销模块C.缓存模块D.风控模块2.缓存优化策略有()A.热点预热B.过期时间设置C.穿透防护D.击穿防护3.风控措施包括()A.同一用户领券上限B.IP限制C.设备限制D.订单金额校验4.核销必要校验步骤有()A.优惠券有效性B.用户归属C.有效期D.库存充足5.幂等实现方式包括()A.唯一订单号B.状态机校验C.分布式IDD.重复请求过滤6.数据库设计要点()A.加索引B.核销表分表C.商户ID关联D.状态枚举7.多终端同步方式()A.实时同步B.定时同步C.缓存一致性协议D.手动同步8.过期券处理方式()A.自动失效B.手动回收C.延期D.批量删除9.发放接口安全校验()A.签名校验B.参数合法C.权限校验D.限流10.核销日志存储内容()A.券IDB.用户IDC.核销时间D.订单号答案:1.ABCD2.ABCD3.ABCD4.ABCD5.ABD6.ABCD7.ABC8.ABD9.ABCD10.ABCD四、判断题(每题2分,共20分,√对×错)1.核销必须做幂等校验避免重复扣库存。()2.Redis缓存券可无过期时间依赖数据库。()3.乐观锁发券比悲观锁高并发效率高。()4.核销日志无需存用户ID。()5.券过期自动失效无需手动处理库存。()6.分库分表比单库多表商户隔离性好。()7.领券接口无需限流。()8.核销必须校验券是否在有效期内。()9.INT枚举存券状态比VARCHAR高效。()10.布隆过滤器可防缓存穿透。()答案:1.√2.×3.√4.×5.√6.√7.×8.√9.√10.√五、简答题(每题5分,共20分)1.如何实现券发放不超发?答案:①库存字段加乐观锁(版本号),发放时校验库存>0且更新-1;②高并发用分布式锁(RedisRedlock)避免并发超发;③预扣Redis库存,异步同步数据库;④设置同一用户领券上限;⑤库存不足提前返回,不进入扣减逻辑。2.核销券核心校验步骤?答案:①券有效性:存在、未过期、未核销;②用户归属:是否为券所属用户;③库存:可用库存>0;④规则:满足满减门槛/适用商品;⑤幂等:是否已用订单号核销过。校验通过后标记已核销、扣库存、记日志。3.如何避免缓存穿透?答案:①布隆过滤器预存有效券ID,过滤不存在的请求;②空值缓存:对不存在的ID缓存空值(短过期5分钟);③数据库加条件(ID>0)避免全表扫描;④缓存预热:启动时加载热点券到缓存。4.多商户券系统隔离方案?答案:①分库分表:按商户ID哈希分库;②单库多表:表名加商户前缀;③租户ID关联:所有表加tenant_id字段;④缓存隔离:Redis按商户ID加前缀存储;⑤权限隔离:接口层校验用户所属商户。六、讨论题(每题5分,共10分)1.券系统缓存与数据库一致性如何保证?答案:①读写策略:读优先缓存,写优先数据库再异步更新缓存;②过期时间与数据库同步周期一致(15分钟);③写库后立即删除缓存(避免旧数据);④消息队列异步同步库变更到缓存;⑤定期全量校验热点缓存与库,修复差异。强一致性会降性能,业务选最终一致性即可。2.高并发下券核销接口设计?答

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论