ARM/Linux嵌入式面经(三四):CVTE
文章目录
-
- 1、C++单例模式
-
- 回答 C++ 单例模式问题
- 2、虚函数、纯虚函数
-
- 虚函数(Virtual Functions)
- 纯虚函数(Pure Virtual Functions)
- 虚函数与纯虚函数的主要区别
- 面试官可能的追问
- 3、堆和栈区别
-
- 回答堆和栈的区别
- 面试官可能的追问
- 怎么判断栈的大小?方法?
-
- 1. **编译器和链接器设置**
- 2. **运行时检查**
- 3. **使用调试器和工具**
- 4. **查看系统文档和限制**
- 面试官追问:
- 4、xv6启动流程
-
- 1. 硬件上电与初始化
- 2. 引导加载程序
- 3. 内核加载与初始化
- 4. 进入main()函数
- 面试官追问示例
- 5、C++重写
-
- 完整且有深度的回答
- 示例代码
- 面试官追问
- 6、智能指针
-
- 1. `std::unique_ptr`
- 2. `std::shared_ptr`
- 3. `std::weak_ptr`
- 7、进程间通信有哪些?哪个效率最高
-
- 常见的进程间通信方式
- 哪个效率最高
- 面试官追问示例
- 8、接触过linux驱动吗
- 9、CAN、IIC、USART区别
-
- CAN、IIC、USART的区别
-
- 1. 工作原理
- 2. 传输速率
- 3. 连接方式
- 4. 应用场景
- 模拟面试官追问
- 10、指针和引用区别
-
- 指针和引用的基本概念
- 指针和引用的主要区别
- 面试官可能追问的深入问题
- 11、用过哪些数据结构?用过哪些容器?
-
- 回答
-
- 数据结构
- 容器
- 追问及回答
- 12、这些容器都是什么类型的容器?
-
- 回答
- 追问及回答
- 13、怎么判断链表是单向链表还是双向?
-
- 回答
- 追问及回答
- 14、怎么判断链表是否有环?
-
- 回答
- 追问及回答
- 15、手撕123456....n位+1234567...m位大数相加
-
- 解答
- Python 示例代码
- 面试官追问
1、C++单例模式
回答 C++ 单例模式问题
问题概述:
在C++中,单例模式是一种常用的设计模式,用于确保一个类仅有一个实例,并提供一个全局访问点来获取该实例。这种模式在需要控制资源访问(如数据库连接、配置管理器等)时非常有用。
详细回答:
实现C++中的单例模式,通常需要考虑线程安全和懒汉式(Lazy Initialization)与饿汉式(Eager Initialization)的区别。
1. 饿汉式单例(线程安全,但非懒加载)
饿汉式单例在类声明时就完成了实例的初始化,因此是线程安全的,但无论是否使用到这个实例,它都会被创建,这可能会造成资源的浪费。
class Singleton {