拼多多集团-PDD面试题 · C++
拼多多集团-PDD相关面试题,按最终去重题目聚合。
共 1351 道真题 · 当前筛选命中 26 道 · 更新 2026-08-05
筛选题目已选:C++
考察点
技术栈
第 1 题析构函数可以抛出异常吗? 考察对析构函数异常安全与资源管理的理解第 2 题请谈谈你对C++语言的理解,包括它相对其他语言的主要特点、适用场景和潜在挑战。 考察对C++语言综合认知、技术原理理解及风险判断第 3 题map和unordered_map的区别 考察对有序与哈希容器的实现原理、性能与适用场景的理解第 4 题C++怎么实现多态 考察C++多态的实现机制和适用场景第 5 题C++中没有接住抛出的异常会发生什么? 考察C++异常处理机制与未捕获异常的后果第 6 题请实现一个将字符串转换为 int 类型的函数,要求:非法输入返回 0;数值越界时返回 INT_MAX 或 INT_MIN。面试官不认可使用 long 类型保存中间变量,请问你会如何实现? 考察边界处理、溢出判断和不用 long 的编码技巧第 7 题请详细说明C++中智能指针的种类、各自的适用场景以及使用时的注意事项。 考察对C++智能指针内存管理机制的理解与正确选型能力第 8 题请手写实现一个 shared_ptr,要求覆盖引用计数、拷贝构造、赋值运算和析构逻辑。 考察智能指针引用计数原理与手动内存管理能力第 9 题请解释 C++ 中 static_cast 的作用、适用场景以及使用时的注意事项。 考察对 C++ 类型转换运算符 static_cast 的掌握程度第 10 题请手写实现一个线程安全的单例模式,要求说明懒加载与双检锁的细节。 考察并发下单例实现与线程安全边界理解第 11 题delete释放内存的时候并不知道内存大小,如何完成释放? 考察对C++内存管理机制的理解,特别是new/delete与内存块的元信息存储原理第 12 题你的技术栈主要是C++,对Java了解吗? 考察候选人技术栈广度与迁移学习能力第 13 题C++中std::vector的resize和reserve有什么区别?push_back的过程是怎样的? 考察对vector内存管理、容量与大小概念以及扩容机制的理解第 14 题询问C++中使用到的特性,以及智能指针的底层原理。 考察C++语言特性的掌握程度与智能指针的实现原理理解第 15 题请解释C++中进程虚拟内存的布局及各区域的用途,并说明堆和栈在分配方式上的差异。 考察对虚拟内存布局、堆栈分配机制及性能特征的理解第 16 题用C++实现一个内存池的类,包括初始化、分配和回收操作。 考察C++内存池设计、内存分配与回收的正确性和性能意识第 17 题请手写一个不依赖标准模板库的 shared_ptr 实现。 考察手动内存管理、引用计数与拷贝语义的实现能力第 18 题你在实现单例时容易记混 unique_lock 和 lock_guard,能区分一下两者的使用场景吗? 考察对 C++ 锁封装类型的理解与选型能力第 19 题请说明 C++ 中 std::vector 各常用操作的时间复杂度,并解释原因。 考察对 std::vector 内存布局与操作代价的理解第 20 题vector中push_back一个string会有什么问题? 考察C++ vector扩容与string拷贝/移动的代价及性能风险