拿下技术面上传简历

一个有序数组有 10^8 个 int64 键(约 800MB),存放在 SSD 上并按 4KB 页读取,要在上面做点查。朴素二分查找需要多少次比较、多少次页读取?为什么它在这个规模上会成为瓶颈,你换成什么结构或布局来改善?

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

面试官在考什么

考察能否把“二分是 O(log n)”落到实际访存/IO 次数上,并据此选择替代结构或内存布局。

二分查找

回答框架 · 前两步

  1. 比较次数 = ⌈log2(10^8)⌉ ≈ 27,每次把区间折半。
  2. 每次比较落在不同页上,最坏约 27 次随机页读;SSD 随机读几十 μs 量级,合计毫秒级,单点查到不了高 QPS。

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

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

延伸阅读

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

同一能力域的其他题