文远知行面试题 · C++

文远知行相关面试题,按最终去重题目聚合。

327 道真题 · 当前筛选命中 38 · 更新 2026-08-05

筛选题目已选:C++
第 21 题描述vector底层实现、扩容方式及扩容时的构造方式 考察对vector内存布局、扩容策略和对象生命周期管理的理解技术原理技术选型C++第 22 题请列举C++中常用的八股知识点,并选择一个深入解释其原理。 考察C++基础知识的掌握广度和深度理解能力沟通表达技术原理C++第 23 题请解释C++中std::vector扩容时为什么会导致元素引用和迭代器失效,并说明如何避免。 考察对vector内存布局、扩容机制及引用迭代器失效原因的理解风险判断技术原理C++第 24 题请解释 shared_ptr 在多线程环境下的线程安全性,以及如何安全地使用它? 考察对 shared_ptr 线程安全边界及并发控制的理解风险判断技术原理C++第 25 题如何拷贝一个由自定义对象指针构成的 vector,其中每个元素本身又是一个 vector? 考察嵌套容器拷贝时的深拷贝需求与实现方式问题拆解技术原理C++第 26 题auto的使用场景 考察对C++ auto关键字适用场景和限制的理解技术原理C++第 27 题请解释 SharedPtr 的原理并手写一个简易实现。 考察智能指针的引用计数、拷贝/赋值与析构的边界处理编码实现风险判断技术原理C++第 28 题基类和派生类中,谁的析构函数应该声明为虚函数? 考察多态删除场景下的析构函数设计风险判断技术原理C++第 29 题请说明如何使用 unique_ptr 转移所有权,并给出具体写法。 考察 C++ 智能指针所有权转移的语法与语义理解编码实现技术原理C++第 30 题纯虚函数和虚函数的区别是什么? 考察C++多态机制中纯虚函数与虚函数的语义差异及应用场景技术原理C++第 31 题手撕代码:实现 shared_ptr,包含拷贝构造、析构、委托构造,并验证引用计数。 考察智能指针底层原理、引用计数管理及拷贝构造和析构的正确实现编码实现问题拆解技术原理C++第 32 题请说明C++中const、static、extern这几个关键字的含义及典型使用场景。 考察C++常用关键字的语义理解与典型应用技术原理C++第 33 题C++ 的三大特性是什么? 考察面向对象编程基础概念的理解技术原理C++第 34 题malloc和new的区别是什么? 考察对C/C++内存管理机制的理解技术原理CC++第 35 题reserve和resize有什么区别? 考察对容器容量与大小语义的区分及实际影响技术原理C++第 36 题C++ 中有哪几种拷贝构造函数?各自的适用场景是什么? 考察对 C++ 拷贝构造函数分类及调用时机的基本掌握技术原理C++第 37 题从空 vector 开始持续调用 emplace_back 扩容,请分析其均摊时间复杂度、总元素移动次数、总构造次数,并说明期望复杂度如何用幂级数求和来推导。 考察 vector 动态扩容的均摊复杂度分析与数学推导能力问题拆解技术原理C++第 38 题介绍一下C++中的inline关键字,它有什么用? 考察对inline关键字语义、适用场景和限制的理解技术原理方案权衡C++