系统设计:设计一个餐厅列表 + 下单应用,支持加配(toppings/salads 等)自定义订单。
System design: Design a restaurant listing and ordering app with customizable add-ons (toppings, salads, etc.).
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
参考答案摘要
关键点:需求澄清(配送范围、库存/可用性、登录/支付、离线/缓存)、前端架构(页面路由、全局状态 vs server state)、数据模型(Restaurant/MenuItem/OptionGroup/Option/Cart/Order)、API(列表分页、菜单获取、价格计算/校验、下单/支付)、以及优化(搜索与筛选、缓存、乐观更新、错误恢复)。自定义订单建议用“选项组 + 约束(必选/多选、...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。