文章目录
- 前言
- 一、大疆
-
- 1、谈谈你对多线程与多进程的理解?
- 2、线程,进程间通信方式
- 3、有名管道与匿名管道区别?
- 4、说一下条件变量怎么实现?
- 5、信号量机制怎么实现的?该机制可以用于进程间通信吗?信号量机制中PV操作是原⼦操作吗?
- 6、linux中断流程,谈谈你对中断上下文的理解
- 7、来谈⼀下 C++ 中多态
- 8、纯虚函数与虚函数有哪些区别
- 9、虚函数是怎么实现的?虚函数表存在哪个地方?
- 10、怎么访问类中私有变量,友元是单向的还是双向的?友元可以继承吗?
- 11、你怎么理解引用与指针,为什么有了指针还需要引用?
- 12、谈一下你对操作系统的理解,为什么有操作系统
- 13、什么时候会进行进程调度,如何实现的进程调度
- 14、如何实现进程调度?
- 二、奥比中光
- 三、芯动科技
前言
记录一些招聘公司在招聘嵌入式软件岗位时的一些问题,此文为第一篇。
一、大疆
1、谈谈你对多线程与多进程的理解?
答:多线程与多进程是两种常见的并发执行技术,广泛应用于程序设计中,以提高执行效率和资源利用率。
- 多进程
- 定义:进程是操作系统分配资源的基本单位,每个进程都拥有自己的独立内存空间和系统资源。
- 优点:
- 隔离性强:每个进程拥有独立的内存空间,一个进程崩溃不会直接影响到其他进程。
- 安全性:由于内存隔离,进程间不会直接影响,减少了数据错误和安全风险。
- 缺点:
- 资源消耗大:每个进程需要独立的内存和系统资源,切换成本高。
- 通信复杂:进程间通信(IPC)需要特定的技术和方法,如管道、消息队列、共享内存等。
- 多线程
- 定义:线程是进程内的一个执行序列,是操作系统能够进行运算调度的最小单位,它们共享父进程的内存空间和资源。
- 优点:
- 资源共享:线程之间可以直接共享内存和文件等资源,通信更简便。
- 效率高:线程的创建和切换的资源消耗和时间成本远低于进程。