后端岗位面试题更新 2026-08-05

new/malloc的底层是如何实现的?用了哪些系统调用?

网易游戏雷火后端开发技术原理方案权衡C++Linux

考察说明

考察内存分配器的分层原理、系统调用边界及实现细节

回答思路

  1. 说明malloc通过glibc的ptmalloc维护堆内存,new调用operator new后调用malloc
  2. 指出分配小块内存时从空闲链表或桶中分配,大块或空闲不足时调用brk或mmap扩展堆
  3. 区分brk和mmap的适用场景:小内存扩展堆、大块或释放后归还用mmap
  4. 提及系统调用只是申请虚拟内存,实际物理内存按需分配,并考虑粒度对齐、锁和线程安全
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。