互联网/IT行业面试题 · 编码实现 · C++
互联网/IT行业相关面试题,按题目行业基础数据聚合。
共 47588 道真题 · 当前筛选命中 119 道 · 更新 2026-08-05
筛选题目已选:编码实现 · C++
考察点
技术栈
第 41 题请实现一个简化版 shared_ptr,要求包含构造函数、析构函数、拷贝构造、移动构造、拷贝赋值、移动赋值以及引用计数查看函数,并说明为什么引用计数需要放在堆区并用指针指向它。 考察 C++ 资源管理、智能指针语义和引用计数设计第 42 题请讲一下C++里的多态? 考察对C++多态机制的理解与表达能力第 43 题请用递归方式反转一个单链表,并说明其时间复杂度和空间复杂度。 考察递归理解和链表反转的边界处理第 44 题Lambda表达式通常由哪几个部分组成,[](方括号)的作用是什么,什么时候适合使用Lambda? 考察Lambda表达式语法结构、捕获机制和适用场景的理解第 45 题写一个vector原地删除重复元素的代码。 考察容器遍历、原地修改与算法思维第 46 题向 vector 容器中插入元素时,分别会发生几次构造、拷贝和移动? 考察 vector 插入操作的底层对象生命周期与移动语义第 47 题C++模板参数包(Parameter Pack)如何展开? 考察对可变参数模板中包展开机制的理解与运用第 48 题请用 C++ 的 vector 实现螺旋矩阵的生成(正序和逆序),并注意代码风格要符合现代 C++ 工作实践,避免过于 C 风格的写法。 考察 C++ 容器使用、边界处理与代码风格第 49 题C++ 中 RAII 机制是什么,智能指针如何体现 RAII? 考察 RAII 核心思想与智能指针的资源管理应用第 50 题请说明如何在C++中创建和管理进程,并列举常用的进程控制相关API。 考察对C++中进程创建、执行和管理的掌握程度第 51 题请手写实现一个简化版的 shared_ptr,说明其核心机制。 考察智能指针的引用计数原理与内存管理正确性第 52 题请从实现层面说明 std::unique_ptr 是如何做到排他所有权、移动语义和自定义删除器支持的。 考察对 unique_ptr 底层实现机制和 C++ 模板深层理解第 53 题请用C++将包含姓名和年龄的list转换为map,并尽量使用lambda表达式实现。 考察C++容器转换、lambda表达式及标准库算法使用第 54 题在C++中,vector调用erase之后会返回什么? 考察对vector迭代器和erase返回值语义的理解第 55 题std::move() 是必需的转换工具吗?不使用它能否实现移动语义? 考察对std::move本质的理解和移动语义触发的条件第 56 题手撕代码:用两个队列实现一个栈。 考察队列与栈的数据结构特性及代码实现能力第 57 题给定一个图,每个节点代表一个任务,节点上有执行时间(秒)。边表示依赖:任务B依赖任务A,表示A完成后才能执行B。设计一个多线程调度器,在满足依赖的前提下并发执行所有就绪任务。多个没有依赖或依赖已满足的任务可以同时执行。任务执行需要真实的时间消耗(使用std::this_thread::sleep_for模拟),请使用多线程并发执行所有任务。如果所有任务都成功执行完成,返回true;否则返回false。 考察多线程并发编程、依赖调度和条件变量等同步机制的应用第 58 题请解释C++中虚函数继承的实现原理。 考察对虚函数表和动态绑定的理解第 59 题在C++中,如何实现多态? 考察C++多态的实现机制及适用场景第 60 题请说明lambda表达式如何与泛型编程结合使用,并举例说明。 考察lambda在泛型算法和模板中的应用能力