后端岗位面试题 · 编码实现 · C++
题库中标记为“后端”的结构化面试题。
共 89928 道真题 · 当前筛选命中 373 道 · 更新 2026-08-05
筛选题目已选:编码实现 · C++
考察点
技术栈
第 161 题给两个点,求过这两点的直线,再给一组点,根据这些点到这条直线的距离排序(需使用 C++ 的 sort 自定义排序)。 考察直线方程计算、二维几何距离公式与 C++ 自定义排序的掌握第 162 题请结合具体代码说明 C++ 内存管理在实践中是如何体现的? 考察对 C++ 内存管理的理解及实际编码中的落实第 163 题如何实现一个线程安全的互斥锁和读写锁? 考察线程安全同步机制的实现原理第 164 题请描述使用CMake编译一个C++类的完整过程。 考察CMake构建系统的基本使用与C++编译流程第 165 题设计函数时,你会选择传左值引用还是右值引用?请结合使用场景说明。 考察对引用类型语义、拷贝与移动语义的理解及设计取舍第 166 题模板(template)在编译期起到什么作用? 考察对C++模板编译期实例化、代码生成与类型检查机制的理解第 167 题请编写一个类的拷贝构造函数、拷贝赋值函数、移动构造函数和移动赋值函数,并说明各自的作用与注意事项。 考察C++四大特殊成员函数的作用、深拷贝与移动语义的实现第 168 题如何避免野指针? 考察编码习惯与内存管理能力第 169 题合并两个有序数组并去重,请写出完整的 ACM 模式代码。 考察归并排序思想与去重的实现,以及 ACM 模式下的输入输出处理第 170 题如何删除一个 vector 中所有的数字 2? 考察 STL 容器遍历与删除的正确模式和迭代器失效管理第 171 题请解释右值引用与左值引用的区别,并说明在实际开发中如何正确使用右值引用。 考察对C++移动语义、右值引用核心概念的理解及工程实践能力第 172 题请手写实现一个线程池,并基于它完成生产者消费者模型,要求处理队列空和满的情况,并讨论 unique_lock 与 condition_variable 的 wait 是否可能死锁。 考察线程池实现、并发同步与条件变量死锁风险的理解第 173 题手撕:给定一个 32 位有符号整数 x,返回将 x 的数字部分反转后的结果。如果反转后的整数超出 32 位有符号整数的范围 [−2^31, 2^31 − 1],则返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。 考察整数反转的边界处理、溢出判断与基础编码能力第 174 题请解释C++中模板特化与偏特化的区别,并各举一个例子说明其用途。 考察对C++模板特化与偏特化的理解及实际应用能力第 175 题请解释C++中静态成员变量的定义和访问方式。 考察C++静态成员变量的存储、定义要求与访问规则第 176 题手写 shared_ptr 并说明其核心设计要点 考察 C++ 智能指针的资源管理、引用计数与线程安全设计第 177 题手写实现一个 myString 类,包含构造函数、析构函数、拷贝构造函数和移动构造函数。 考察 C++ 资源管理、拷贝语义与移动语义的实现细节第 178 题请介绍C++中的右值引用 考察对C++核心特性右值引用的理解与应用第 179 题请实现一个简化版的 shared_ptr,重点包含引用计数、拷贝构造、赋值和析构等核心功能,并说明线程安全性问题。 考察智能指针原理、引用计数实现及线程安全边界第 180 题如果要在 C++ 中实现一个智能锁,如何避免忘记释放导致的危险? 考察 RAII 封装互斥锁与异常安全设计