- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
美团测试开发面试题及答案
一、基础测试理论与业务结合题
问题:请说明测试用例设计的核心原则,结合“美团外卖用户提交订单”场景,设计2个关键用例(需包含前置条件、操作步骤、预期结果)
答案:核心原则是“覆盖核心业务+边界场景+异常场景”,还要贴合用户真实操作路径。
用例1:正常提交外卖订单
前置条件:用户已登录,购物车有1份快餐(库存≥1),收货地址已设置,支付方式绑定微信
操作步骤:1.进入购物车点击“去结算”;2.确认收货地址/配送时间(默认30分钟后);3.选择微信支付,点击“提交订单”;4.在支付弹窗完成付款
预期结果:1.订单提交成功,跳转“待接单”页面;2.商家端收到订单通知;3.用户支付金额与订单金额一致(含配送费)
用例2:订单提交时库存不足
前置条件:用户购物车商品A(库存仅剩1),同时另一个账号正在结算商品A
操作步骤:1.本账号点击“去结算”;2.确认信息后提交订单(此时另一个账号已支付成功,商品A库存变为0)
预期结果:1.弹出“商品A已售罄”提示;2.订单无法提交,返回购物车页面;3.购物车中商品A自动移除或标红提示“无库存”
问题:美团商家后台“商品上下架”功能,若开发说“只要接口返回200就代表上下架成功”,你怎么反驳?
答案:不能只看接口状态码,要结合“数据一致性+业务影响”判断。比如:
接口返回200,但数据库中商品状态没改(比如上架时status仍为0,未变成1),此时商家以为上架成功,用户却看不到商品,会丢单;
接口返回200,但缓存没更新(比如Redis中商品状态还是下架),即使数据库改了,用户端短时间内仍看不到,影响转化;
还要考虑反向场景:比如下架时,若有用户正在下单该商品,是否会触发“下单后商品下架”的异常,不能只靠200码判断。
二、编程实战题(Python为主,美团常用)
问题:用Python写一个函数,处理美团商家ID列表(格式:[shop1001,shop2002,shop1001,shop3003]),要求:1.去重并保留原列表顺序;2.统计每个商家ID出现的次数;3.若列表为空,返回空字典和空列表
答案:
defprocess_shop_ids(shop_id_list):
ifnotshop_id_list:#处理空列表边界
return{},[]
#去重并保留原顺序(用列表推导+notin,避免用set丢顺序)
unique_shop_ids=[]
count_dict={}
forshop_idinshop_id_list:
#统计次数
count_dict[shop_id]=count_dict.get(shop_id,0)+1
#去重:只加第一次出现的ID
ifshop_idnotinunique_shop_ids:
unique_shop_ids.append(shop_id)
returncount_dict,unique_shop_ids
#测试:输入[shop1001,shop2002,shop1001,shop3003]
#输出:count_dict={shop1001:2,shop2002:1,shop3003:1},unique_shop_ids=[shop1001,shop2002,shop3003]
说明:实际工作中若列表极大(比如10万+ID),用“notin列表”效率低,会换成fromcollectionsimportOrderedDict,用OrderedDict.fromkeys(shop_id_list)去重,再遍历统计次数,平衡效率和顺序。
问题:美团订单接口返回的JSON中,有个字段order_details是列表,每个元素含dish_name(菜品名)、dish_price(单价)、dish_count(数量)。写代码提取所有菜品名,并计算订单总金额(不考虑优惠)
答案:
defget_dish_names_and_total(order_json):
#先判断order_details是否存在且是列表,避免KeyError/TypeError
order_details=order_json.get(order_details,[])
ifnotisinstance(order_details,
原创力文档


文档评论(0)