面灵AI

美团后端开发岗面经-08

时间
2026-09
来源
牛客网

《面试题目》

  1. Bitmap 的基本原理和适用场景是什么?
  2. final、finally、finalize 有什么区别?
  3. 核心线程数和最大线程数分别控制什么?
  4. String、StringBuffer、StringBuilder 如何选择?
  5. RPC 和 HTTP 有哪些差异?
  6. 如何求无重复字符的最长子串?

《参考解析》

  1. Bitmap 用位表示集合成员,空间效率高,适合布尔标记、去重和基数统计,但受值域大小影响。
  2. final 用于常量、不可继承或不可重写;finally 用于清理;finalize 已不推荐依赖,不能作为可靠资源释放机制。
  3. 线程数先达到 core,再入队,队列满后才扩展到 maximum;参数应结合任务是 CPU 密集还是 IO 密集及队列容量设置。
  4. String 不可变,StringBuilder 适合单线程拼接,StringBuffer 提供同步但通常有额外开销。
  5. HTTP 通用、调试方便,RPC 通常有更紧凑的协议、服务发现和治理能力;选择取决于边界和运维要求。
  6. 用滑动窗口和字符最后出现位置维护无重复区间,右指针扩展、左指针跳到冲突字符之后,整体 O(n)。