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 {
   

你可能感兴趣的:(ARM/Linux嵌入式面试,arm开发,单例模式)