互联网/IT行业面试题 · 问题拆解 · C++
互联网/IT行业相关面试题,按题目行业基础数据聚合。
共 47588 道真题 · 当前筛选命中 108 道 · 更新 2026-08-05
筛选题目已选:问题拆解 · C++
考察点
技术栈
第 41 题STL容器是在栈上还是堆上? 考察对STL容器内存管理机制和对象生命周期的基本理解第 42 题请解释虚函数表的作用,并说明虚函数在单继承与多继承下的内存布局差异。 考察虚函数机制与继承布局的理解第 43 题C++中多态是如何实现的?请解释虚函数表(vtable)和虚指针(vptr)的工作原理。 考察C++多态实现机制、虚函数表与虚指针的底层原理第 44 题手撕代码:用两个队列实现一个栈。 考察队列与栈的数据结构特性及代码实现能力第 45 题给定一个图,每个节点代表一个任务,节点上有执行时间(秒)。边表示依赖:任务B依赖任务A,表示A完成后才能执行B。设计一个多线程调度器,在满足依赖的前提下并发执行所有就绪任务。多个没有依赖或依赖已满足的任务可以同时执行。任务执行需要真实的时间消耗(使用std::this_thread::sleep_for模拟),请使用多线程并发执行所有任务。如果所有任务都成功执行完成,返回true;否则返回false。 考察多线程并发编程、依赖调度和条件变量等同步机制的应用第 46 题请描述C/C++源文件编译成ELF可执行文件经历的各个阶段,并说明每个阶段产生的中间产物文件名后缀。 考察对编译链接流程全链路及其中间产物命名规范的掌握第 47 题C++和Java的区别 考察对两种主流编程语言核心特性的理解与对比能力第 48 题请描述如何实现一个线程安全的智能指针,并说明其内部同步机制。 考察多线程环境下智能指针的线程安全实现原理第 49 题假设有一个A.cpp和B.cpp,A.cpp调用B.cpp的方法,是如何找到的? 考察C++编译链接流程中符号解析与链接器的工作原理第 50 题智能指针被赋值时,引用计数如何变化? 考察智能指针赋值时引用计数变化的深层理解第 51 题C++程序中的代码,在内存和CPU层面,其内存读写和CPU进程控制是如何实现的? 考察对C++程序运行机制、内存模型和CPU进程调度原理的理解深度第 52 题C++11中移动构造函数和移动赋值运算符在什么情况下会被调用? 考察移动操作触发条件的准确判断第 53 题在 C++ 中,std::vector 和 std::list 各自按值查找某个元素的时间复杂度是多少? 考察对不同容器按值查找的复杂度对比与原理理解第 54 题请实现一个函数,找出无序数组中第 k 大的元素。 考察排序算法、堆与快速选择等实现能力及复杂度分析第 55 题一个函数的参数以值传递的方式传入一个 shared_ptr,引用计数会如何变化? 考察 shared_ptr 值传递时的引用计数机制第 56 题请介绍 C++ 中默认构造函数、拷贝构造函数和移动构造函数的特点及使用场景。 考察 C++ 构造函数类型、语义及资源管理意识第 57 题常量指针和指针常量是什么,一般应用场景是什么? 考察 C/C++ 指针与 const 修饰的语义区分及常见使用场景第 58 题在C++类成员函数中定义lambda表达式时,为什么需要捕获this才能访问类成员?请解释捕获方式及其影响。 考察对lambda捕获机制与类成员访问底层的理解第 59 题你刚刚谈到它的移动构造,描述一下unique_ptr从使用层面怎么去转移所有权,再分析一下它是怎么实现的? 考察对unique_ptr移动语义和所有权转移机制的理解深度第 60 题C++从编译到运行发生了什么? 考察对C++程序生命周期各阶段的理解