腾讯面试题 · C++
腾讯相关面试题,按最终去重题目聚合。
共 3056 道真题 · 当前筛选命中 116 道 · 更新 2026-08-05
筛选题目已选:C++
考察点
技术栈
第 41 题让你用代码设计 sharedptr 怎么设计 考察智能指针核心原理、引用计数与资源管理第 42 题C++中的override和final关键字分别有什么作用?各自适用于什么场景? 考察C++11关键字的语义理解与实际应用场景第 43 题C++ 多线程一般怎么去实现? 考察C++多线程编程的基本方法与常用工具第 44 题智能指针析构时,引用计数如何变化?何时真正释放资源? 考察智能指针析构时引用计数递减与资源释放条件第 45 题如果用new创建一个对象,再用free去释放会导致什么问题? 考察内存分配与释放匹配、未定义行为识别能力第 46 题对函数加 static 有什么作用? 考察对 C/C++ 中 static 函数作用域和链接属性的理解第 47 题请解释 C/C++ 中的 inline 关键字:它的作用是什么?在什么场景下应使用或避免使用? 考察对编译器内联优化机制的理解及合理使用边界的判断第 48 题请介绍 C++ 中常见的智能指针类型及其特点。 考察智能指针的类型区分与使用场景第 49 题引用和指针有什么区别? 考察C++中引用与指针的核心差异性及正确使用场景第 50 题未初始化的指针调用成员方法将有什么表现? 考察对未定义行为产生机制及典型后果的理解第 51 题为什么构造函数不能是虚函数? 考察C++对象构造机制与虚函数调用原理的理解第 52 题请说明 std::list 与 std::vector 的区别,以及你在什么场景下会选择它们。 考察对 STL 容器底层结构差异的理解与应用选型能力第 53 题C++ 中内存管理的主要方式有哪些? 考察对栈、堆、智能指针等内存管理机制的理解第 54 题请解释 STL 中 vector 的 push_back 操作的时间复杂度,并说明其扩容机制如何保证均摊复杂度为 O(1)。 考察对 STL 容器底层实现、扩容策略及均摊复杂度分析的理解第 55 题new/delete和malloc/free有什么区别?为什么不能混用? 考察C++内存管理和构造析构机制的理解第 56 题如果在一个 h 文件中定义一个类,然后在 B、C 中写这个类,有影响吗? 考察类的定义与实现分离、多文件包含、链接和 ODR 规则的理解第 57 题请解释 C++ 中 unordered_map 和 map 的区别。 考察对 C++ 容器底层实现、性能特性及适用场景的理解第 58 题请解释C++中虚函数的原理及其作用。 考察对C++虚函数机制及其在面向对象多态中作用的理解第 59 题请谈谈你对 C++ 纯虚函数的理解。 考察面向对象抽象、接口设计与多态机制的理解第 60 题多态里的虚函数的底层是怎么实现的? 考察对虚函数表机制和运行时多态原理的理解