文远知行面试题 · 技术原理 · C++
文远知行相关面试题,按最终去重题目聚合。
共 327 道真题 · 当前筛选命中 38 道 · 更新 2026-08-05
筛选题目已选:技术原理 · C++
考察点
技术栈
第 1 题介绍一下 C++ 中左值引用和右值引用,以及它们各自的使用场景。 考察对 C++ 引用类型本质的理解及移动语义、完美转发等实际应用第 2 题请解释C++中多态的实现机制,并说明虚函数在其中的作用。 考察对C++多态与虚函数机制的理解深度第 3 题一个没有默认构造和拷贝构造、只有移动构造的自定义类,能否用 std::vector::resize? 考察 vector 对元素构造与拷贝语义的要求第 4 题请说明智能指针的作用,并分别介绍C++中常见的智能指针类型及其适用场景。 考察对C++智能指针原理、种类和典型用途的理解第 5 题请仿写 STL 的 vector,重点实现 push_back 和 operator[],并说明在写这类容器时容易遗漏的关键设计点。 考察 C++ 动态数组的核心实现、模板语法与资源管理第 6 题请描述C++中堆内存和栈内存的区别,并说明new/delete与malloc/free的差异。 考察C++内存管理的核心概念与工具选择第 7 题请简述一个C++程序从编写到最终运行的完整流程,并说明每个阶段可能的主要产出或目的。 考察对C++编译、链接、加载运行全流程的理解及对阶段划分的清晰度第 8 题请说说指针和引用的区别 考察C++语言基础,对指针与引用本质差异的理解第 9 题如何让 class A{} A a; A b = a; 报错 考察对C++拷贝构造函数和访问控制的深入理解第 10 题请解释 C++ 中 std::unique_ptr 的设计目的、所有权语义和主要用法。 考察对 C++ 智能指针所有权模型和 RAII 的理解第 11 题C++ 中构造函数和析构函数能被声明为虚函数吗? 考察对C++虚函数机制和对象生命周期管理的理解第 12 题C++中的动态多态是如何实现的? 考察对C++虚函数机制和运行时多态底层原理的理解第 13 题请解释C++中模板的原理是什么? 考察对模板实例化、类型推导和代码生成机制的理解第 14 题链表和 vector 的区别是什么?vector 删除某元素之后会发生什么行为,时间复杂度是多少? 考察对顺序容器与链式容器的底层结构、删除操作的内部机制及时间复杂度的理解第 15 题为什么模板函数的声明和定义要放在一起? 考察C++模板实例化机制及编译期约束的理解第 16 题请解释 weak_ptr 的作用和使用场景。 考察对 weak_ptr 设计目的及循环引用问题的理解第 17 题请解释C++中的move语义及其作用。 考察对C++移动语义原理、应用场景及性能影响的理解第 18 题请对 emplace_back(move(...))、push_back(move(...))、emplace_back()、push_back() 在添加临时对象时的性能进行排序,并解释原因。 考察C++容器插入操作中拷贝/移动/原地构造的差异与性能理解第 19 题虚函数可以写成模板函数吗?请说明原因。 考察对虚函数机制和模板实例化机制的深入理解第 20 题如何拷贝一个包含自定义对象的vector嵌套vector? 考察STL容器深拷贝与自定义类型拷贝语义