面试真题

技术面 + 非技术面高频问题 · 企业真题标题 + 校招宝自研参考答案
面试真题
2508 道
技术岗
641 道
非技术岗
1867 道
当前筛选
7 道

按赛道技术岗以技术方向细分;非技术岗按「结构化 / 半结构化 / 无领导 / HR / 职能」细分

按方向/形式点选即筛,再点「全部」还原

按难度

按企业点选查看该公司全部题目

技术岗 · 企业:拼多多7 道 · 点击进入查看参考答案

简单后端
设计模式应用:组合模式
结论:组合模式通过树形结构表示部分-整体层次,使客户端统一处理叶子与容器。核心要点:1. 定义组件接口(如Component)声明公共方法(add/remove/operation);2. 叶子节点(Leaf)实现接口,…
🎤 拼多多
简单操作系统
什么是内存泄露?列举检测内存泄露的方案
结论:内存泄露指程序分配内存后失去引用且无法释放,导致可用内存逐渐减少。检测方案:1.静态分析工具(如Coverity)扫描代码未释放路径;2.动态检测:Linux下Valgrind、AddressSanitizer跟踪…
🎤 拼多多
简单操作系统
为什么栈的分配速度比堆快?
结论:栈分配快因仅需移动栈指针,堆需复杂查找与维护。要点:1.栈内存随函数调用自动分配,栈顶指针递减即可,连续无锁;2.堆分配需搜索空闲链表、切分内存、处理碎片,可能调用系统brk/mmap;3.栈无碎片且缓存局部性好,…
🎤 拼多多
中等C++
手撕 std::vector
结论:std::vector是连续内存动态数组,手撕需实现内存管理、扩容和常用接口。核心要点:1. 内部维护起始指针data、大小sz、容量cap;2. 构造可分配cap空间,析构释放;3. push_back:若sz=…
🎤 拼多多
中等操作系统
堆和栈在操作系统底层的实现
结论:栈由内核映射固定区域并用寄存器管理,堆通过系统调用动态扩展虚拟内存。要点:1. 栈:进程创建时内核分配栈区,栈指针初始指向顶,函数调用push/pop修改esp,向下增长,缺页分配物理页;2. 堆:用户态分配器通过…
🎤 拼多多
中等网络
epoll线程安全分析
结论:epoll内核实例本身线程安全,但多线程使用方式需注意用户态同步。要点:1.epoll_create返回fd,多线程并发调用epoll_ctl添加/删除事件、epoll_wait获取事件,内核通过互斥锁保护红黑树和…
🎤 网易 / 拼多多
困难C++
STL 空间配置器实现原理,malloc中维护了一个内存池,为什么需要基于内存池的空间配置器?
结论:STL空间配置器分两级,一级直接malloc,二级对<128B小块用内存池+自由链表。原理:malloc虽内部有池,但通用分配带元数据开销(如size头、对齐碎片),频繁小分配易碎且慢;二级配置器将小块按8倍数划1…
🎤 拼多多
题目整理自公开面经,答案由校招宝自研生成,仅供参考