电子/硬件开发面试题 · 问题拆解 · C++
电子/硬件开发相关岗位面试题。
共 11335 道真题 · 当前筛选命中 48 道 · 更新 2026-08-05
筛选题目已选:问题拆解 · C++
考察点
技术栈
第 1 题拷贝构造函数为什么必须使用引用参数?有什么作用? 考察拷贝构造函数参数设计的原因、语法要求和避免无限递归第 2 题C++ 多态中,构造函数和析构函数能不能是虚函数?为什么? 考察对 C++ 虚函数机制、对象构造析构顺序及多态语义的理解第 3 题C++类和C语言的函数调用有什么区别? 考察对C++类成员函数调用机制与C函数的差异理解第 4 题请编写一个使用weak_ptr解决shared_ptr互相引用(循环引用)的示例,并解释其原理。 考察weak_ptr打破循环引用及shared_ptr生命周期管理第 5 题static、const等关键字有什么用? 考察对C/C++语言中常见关键字的理解及其典型应用场景第 6 题一个父类定义了 2 个虚函数,子类继承该父类,求子类对象的内存占用(成员变量忽略不计)。请给出你的计算思路。 考察 C++ 虚函数表指针的内存模型与对象布局理解第 7 题介绍 C++ 的 RAII 机制。 考察对 RAII 核心思想、资源管理与作用域生命周期的理解第 8 题请解释结构体对齐(struct alignment)是什么,以及它如何影响内存布局。 考察对结构体内存对齐机制的理解第 9 题请介绍智能指针的原理,并说明如何解决共享指针的循环引用问题,至少给出两种方法。 考察智能指针内存管理机制及循环引用处理能力第 10 题请解释在C或C++中static和extern关键字的作用与区别。 考察对存储类说明符及链接属性、作用域和生命周期的理解第 11 题请用递归方式反转一个单链表,并说明其时间复杂度和空间复杂度。 考察递归理解和链表反转的边界处理第 12 题手写实现字符串反转:要求判断异常字符,且只反转单词顺序,单词本身不反转,可用 C/C++ 实现。 考察字符串处理、边界判断与 C/C++ 语言基本功第 13 题给定一个数字 limit 和一个数组,要求将数组重新排列:所有大于等于 limit 的元素放在左边,小于 limit 的元素放在右边,并且左右两部分各自升序排列。请实现该算法。 考察双指针分区、排序边界处理及编码实现能力第 14 题请描述程序从源代码到可执行文件的完整流程,并说明每个阶段的作用。 考察对编译、链接等构建流程各阶段的理解第 15 题请介绍 C/C++ 中 const 关键字的常见用法及其适用场景。 考察对 const 关键字多种语义的理解与应用能力第 16 题请介绍面向对象三大特性,并重点说明C++多态的实现原理。 考察面向对象基础与C++多态机制的理解深度第 17 题new和malloc的区别,new分配内存的时候一定是调用的malloc吗? 考察C++内存管理机制、new/malloc底层实现差异及标准与实现的区分第 18 题你了解联合体(union)吗?一般在什么场景下会使用它? 考察对联合体内存布局、赋值覆盖特性及典型工程应用的理解第 19 题智能指针 weak_ptr 解决什么问题?其底层实现原理是什么? 考察对 weak_ptr 用途的理解及其底层引用计数的实现机制第 20 题函数指针有什么用途? 考察对函数指针概念、作用及实际应用场景的理解