嵌入式面试资料(嵌入式程序员面试须知)
什么是同步呢?当两个或多个线程需要访问同一资源时,它们需要以某种顺序来确保该资源某一时刻只能被一个线程使 用的方式称为同步。 一面,技术面 (1)VxWorks、uc/OS、Palm嵌入式系统操作系统的区别? 我的课题是做vxworks,说了些自己比较熟悉的方面,接口函数丰富,调试工具效率高好用云云,其他的操作系统了解不 多,如实交待了。 (2)做嵌入式软件开发和普通桌面软件开发有什么区别? 我答曰,两者侧重点不同,嵌入式系统软件开发侧重在多任务的划分、多任务处理。实施性要求严格。不用考虑界面等 因素。 (3)c语言问题,union和struct 的区别? 共享一个存储单元和按定义分配存储单元。 (4)sizeof(一大堆变量),如果用这个函数分配内存的大小一定与定义相同吗? 答曰:想不相同不清楚,但是肯定的是指回答不会小,因为使用sizeof分配内存不会错 ### 嵌入式面试资料知识点总结 #### 同步概念 同步是在多线程编程中非常重要的概念。当多个线程需要访问同一资源时,为了避免数据竞争和不一致性问题,需要通过同步机制来控制线程对资源的访问。同步通常涉及到锁(Locks)、信号量(Semaphores)等机制,确保同一时刻只有一个线程可以访问共享资源。 #### VxWorks、uc/OS、Palm嵌入式操作系统对比 - **VxWorks**:是一款实时操作系统(RTOS),广泛应用于航空航天、军事、医疗等领域。它具有高度可靠性和稳定性,支持多任务处理,并提供了丰富的API和高效的调试工具。 - **uc/OS**:是一款开源的RTOS,适用于小型嵌入式设备。它简单、易用,支持多任务调度,并且可以根据具体需求进行裁剪。 - **Palm OS**:最初由Palm公司开发,主要用于PDA(个人数字助理)等移动设备。它具备图形用户界面,支持多种应用程序和服务。 #### 嵌入式软件开发与桌面软件开发的区别 嵌入式软件开发与普通桌面软件开发的主要区别在于: - **资源限制**:嵌入式系统通常资源有限(如内存、CPU速度等),因此需要高效利用资源。 - **实时性要求**:很多嵌入式应用对响应时间有严格的要求,需要实现硬实时或软实时。 - **多任务管理**:嵌入式系统中的任务划分和调度更为复杂,需要考虑优先级、抢占模式等因素。 - **用户界面**:嵌入式设备可能不需要复杂的图形界面,或者只提供简单的命令行界面。 #### C语言union与struct的区别 - **union**:多个成员共享同一段内存空间,同时只能有一个成员有效。因此,union在内存占用上比struct紧凑,但需要注意数据类型之间的转换可能会导致数据丢失。 - **struct**:各成员分别占用独立的内存空间,按照定义顺序连续分配内存。因此,struct在内存使用上更加灵活和安全,但可能占用更多空间。 #### sizeof运算符的使用 `sizeof`运算符用于获取变量或类型所占的字节数。对于基本类型,`sizeof`的结果通常与定义时的大小一致;但对于复杂类型(如数组、结构体等),结果可能会受到编译器优化的影响。使用`sizeof`时,应注意以下几点: - 对于动态分配的内存(如`malloc`),`sizeof`无法给出正确的结果。 - `sizeof`运算符的结果不会小于变量的实际大小。 #### 优先级反转现象 优先级反转是指在多任务环境中,由于资源的竞争,导致低优先级的任务抢先执行的现象。这种情况下,高优先级的任务虽然准备就绪,但由于等待低优先级任务释放资源而无法执行。解决优先级反转的一种方法是使用优先级继承(Priority Inheritance)机制,即暂时提升低优先级任务的优先级,使其尽快完成资源释放,从而允许高优先级任务继续执行。 #### 面试技巧 面试时,对于自己不熟悉的问题,诚实地承认自己的不足是非常重要的。同时,可以尝试从自己熟悉的角度出发,给出合理的答案或思路,展现积极的学习态度和解决问题的能力。 #### 嵌入式系统C语言测试要点 - **预处理器指令**:如`#define`用于声明常数,需要注意宏定义的正确语法和潜在问题。 - **宏的编写**:例如编写`MIN`宏,要求能够正确处理不同类型参数的情况,并确保代码的健壮性。 通过上述知识点的总结,可以看出嵌入式软件开发不仅要求扎实的基础知识,还需要深入了解特定领域的特点和技术挑战。对于求职者来说,准备面试时不仅要复习基础知识,还要关注实际应用场景中的问题解决能力。
剩余10页未读,继续阅读
- zhaogc1234567892016-04-21实在是太好了,平时都没有注意到这些细节问题,面试前看看真是太有用了!
- imGala2012-11-28还不错,有价值,3q
- u0107303812014-12-01找工作前练练手
- lb_hnu2012-11-30这个对面试嵌入式很有帮助
- 粉丝: 0
- 资源: 6
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助