拿下技术面上传简历

一个城市路网约 10^8 个节点、2.5×10^8 条边,边权是通行时间(非负,但按早晚高峰每 5 分钟整体更新一次)。要支持单点到单点最短路查询、峰值 10^4 QPS、P99 延迟 < 50ms。朴素 Dijkstra 单次查询要扫描大量节点。你怎么选算法与架构?说清预处理成本、查询延迟、以及权重频繁变化带来的矛盾怎么权衡。

数据结构与算法图与搜索3-5 年知识点 1 个

面试官在考什么

考察在“图规模 + 高 QPS + 动态权重”三重约束下做算法选型与架构权衡,而不是复述 Dijkstra 流程。

最短路

回答框架 · 前两步

  1. 朴素 Dijkstra 单次约 O((V+E)logV),在这个规模下要扫近全图,10^4 QPS 完全不可行。
  2. 路网稀疏且近似平面图,适合预处理加速:Contraction Hierarchies 或 A* + 地标(ALT),预处理一次分钟到小时级,把查询压到亚毫秒到毫秒级。

还有 3 条答案要点、 3 层追问、 4 个常见坑, 以及针对你简历的追问路径,在定制报告里。

上传简历,生成我的题库先看示例报告

延伸阅读

想看这个方向的整体准备路线? 进入「数据结构与算法」方向页

同一能力域的其他题