美团前端怎么准备
美团前端题常带地图和时效。选址错误、ETA 乱跳、弱网点餐失败,都是用户能直接骂的问题。
五题覆盖定位、ETA、列表筛选、弱网和骑手体验争议。用你做过的地图或到店页来答。
美团怎么面前端
- 会问定位失败的降级,不要假设 GPS 总可用。
- ETA 展示要诚实,不能为了下单造准时。
- 准备列表筛选与地图联动的性能。
面试阶段与知识点
第一批不把每个阶段拆成独立 URL,避免程序化重复页。阶段对应下面的题,练完再用模拟面试串起来。
- 地图与定位:失败路径。
- ETA:诚实展示。
- 列表联动:筛选性能。
- 体验:准时承诺。
值得开口练的题
每题给考察点、思路、结构化参考答案和追问。参考答案用来组织语言,面试时必须换成你自己的项目事实。
用户拒绝定位权限,首页怎么办?
考察点
- 降级
- 手选
- 缓存
回答思路
拒绝定位不能白屏,要提供手选地址、历史记录和可浏览的降级首页路径。
结构化参考答案
- 首页顶部常驻「选择收货地址」入口,并展示最近使用的历史地址供一键切换。
- IP 粗定位仅作默认建议,必须允许用户手动修改,不能 silently 绑定错误城市。
- 无有效地址时仍可浏览商家与活动,仅在下单环节拦截并引导补全地址。
- 用简短文案解释定位用途(配送范围与 ETA),减少反复弹系统权限框。
面试官可能追问
- IP 定位错误如何纠正?
- 多地址默认哪一个?
- 如何避免反复弹权限?
预计送达时间在下单前后跳了 20 分钟,如何避免被骂?
考察点
- 同一数据源
- 变化解释
- 承诺
回答思路
下单前后 ETA 必须读同一服务同一版本,跳变超过阈值要给用户可理解的原因说明。
结构化参考答案
- 商家列表、商详与下单页统一调用 ETA 服务同一接口版本,禁止各页各自估算。
- ETA 变化超过约定阈值时弹 toast 说明原因,如高峰、天气或骑手调度。
- 承诺型文案展示区间而非精确到分钟,避免把乐观估计写成准时保证。
- 下单成功时快照 ETA 写入订单,供客服与用户争议时核对。
面试官可能追问
- 高峰期是否隐藏精确到分钟?
- 如何避免前端自己倒计时漂?
- 跳变埋点如何设计?
地图上百个商家图钉和列表筛选如何不卡?
考察点
- 聚合
- 视口
- 状态
回答思路
地图与列表联动只渲染当前视口数据,筛选防抖,选中态用轻量 id 而非复制大对象。
结构化参考答案
- 地图图钉按缩放级别聚合,放大到阈值才展开单个 marker,减少同屏 DOM 与绘制量。
- 商家列表采用虚拟滚动,只挂载视口附近 cell,滚出即回收。
- 筛选条件变更做 300ms 防抖,避免用户拖动地图时每帧发请求。
- 选中商家只存 poiId,列表与地图通过 id 同步高亮,不传递完整商家对象。
面试官可能追问
- 聚合和精确点如何切换?
- 筛选无结果如何解释?
- 如何测低端机?
弱网点餐提交失败,餐已经在做了怎么办?
考察点
- 查询
- 幂等
- 客服
回答思路
弱网提交失败后先凭幂等号查单,确认服务端是否已受理,禁止盲目重试生成新单。
结构化参考答案
- 提交请求携带 clientOrderId 幂等号,超时或失败后进入订单查询页而非直接报错。
- 查询到订单已受理则展示制作进度,用户无需再次提交。
- 确认服务端无单且返回明确失败码后,才解锁重试按钮允许再次下单。
- 查询页提供客服入口并自动带上幂等号与门店 id,方便人工核对。
面试官可能追问
- 查询也失败?
- 商家已接单用户端仍失败?
- 如何防止重复出餐?
产品要把 ETA 写得更乐观提升下单,你怎么办?
考察点
- 诚信
- 实验
- 投诉
回答思路
乐观 ETA 会转化为超时投诉与差评,要用实验数据和骑手侧反馈而不是只看下单转化。
结构化参考答案
- 提出同时观测超时投诉率、退单率与下单转化,避免单一指标驱动 ETA 展示造假。
- 建议在小城市或单品类做小流量 A/B,乐观策略需设投诉熔断阈值与回滚预案。
- 投诉或准时率恶化超过阈值时自动回滚到保守展示策略,并通知业务与客服同步口径。
- 把评审结论与实验结果写入文档,避免下次大促再重复争论同一乐观 ETA 方案。
面试官可能追问
- 业务坚持全量怎么办?
- 你如何站在骑手一侧?
- 前端能否拒绝发版?
和岗位、模拟面试一起用
资料管理里保存目标岗位 JD,模拟面试会按简历出题。点题目下的按钮会把本题带进模拟开场,仍需先绑定简历与岗位。