百度面试题 · C++
百度相关面试题,按最终去重题目聚合。
共 3071 道真题 · 当前筛选命中 35 道 · 更新 2026-08-05
筛选题目已选:C++
考察点
技术栈
第 1 题在 C++ 中,裸指针带来的问题可以完全用 weak_ptr 解决吗? 考察对裸指针问题根源和智能指针适用边界的理解第 2 题C和C++有什么区别? 考察对面向对象、抽象机制和语言特性的理解第 3 题std::weak_ptr 除了解决 shared_ptr 的循环引用问题外,还解决了哪些问题? 考察对 weak_ptr 语义和典型应用的深入理解第 4 题请比较 C++ 中 map 和 unordered_map 的区别,并说明各自适用的场景。 考察对容器底层实现、性能特性和适用场景的理解第 5 题请解释 C++ 中多态的实现机制,并说明虚函数和虚表的作用。 考察 C++ 多态底层原理、虚函数机制及内存布局理解第 6 题C++动态多态的实现原理是什么? 考察对虚函数机制、虚表结构和运行时绑定的理解第 7 题C++ 中析构函数为什么应该声明为虚函数? 考察多态删除与基类析构的必要性第 8 题C++创建线程的方法有哪些? 考察C++多线程基础知识和标准库使用第 9 题请说明智能指针的作用,并简述其与普通指针的主要区别。 考察对智能指针职责、资源管理思想及使用场景的理解第 10 题请解释静态多态和动态多态的区别。 考察对多态分类、实现机制和适用场景的理解第 11 题C++中如何检测和处理内存泄漏及野指针? 考察对C++内存管理与指针安全的综合理解第 12 题谈谈你对C++的掌握程度,以及如果需要在项目中快速重新上手,你会如何安排复习? 考察C++知识深度、学习能力与快速恢复技能的方法论第 13 题vector可以用下标访问元素,也可以用vector.at()访问,有什么区别 考察C++ vector访问方式的安全性与性能差异第 14 题shared_ptr 可以 new 和 make_shared 创建,更推荐哪一个? 考察 shared_ptr 的创建方式差异、控制块分配与异常安全第 15 题构造函数和析构函数的调用顺序是什么?请结合继承关系说明。 考察对C++对象生命周期与继承中构造析构顺序的理解第 16 题动态内存管理中存储内存和执行内存的区别? 考察对内存层次、分配机制及安全性的理解第 17 题map和unordered_map的区别是什么,各自适合什么场景? 考察对关联容器底层实现、复杂度及适用场景的理解第 18 题请介绍 C++ 中智能指针的基本原理和常见类型,并说明它们各自的使用场景。 考察对 C++ 智能指针原理、类型差异及适用场景的理解第 19 题static 在C和C++中的区别 考察对C/C++中static关键字在不同场景下的语义掌握第 20 题在Lambda表达式中捕获了什么?能否用weak_ptr解决循环引用问题? 考察Lambda捕获机制与智能指针在闭包中的生命周期管理