嵌入式实战题目总结

1. 中断怎么发生,中断处理流程
2. Linux操作系统挂起、休眠、关机相关命令
3. 数据库为什么要建立索引,以及索引的缺点
4. CPU、内存、虚拟内存、磁盘/硬盘的关系
5. CPU内部结构
6. ARM结构处理器简析
7. 波特率是什么,为什么双方波特率要相同
8. ARM和DSP的区别
9. ROM和RAM的概念
10. IO口工作方式:上拉输入、下拉输入、推挽输出、开漏输出
11. 扇区、块、页、簇的概念
12. 处理器在读内存的过程中,CPU核、cache、MMU如何协同工作
13. 总线接口USART、I2C、USB的异同点
14. 异步串口和同步串口的区别
15. FreeRTOS同优先级的任务创建的执行顺序
16. FreeRTOS中任务调度的机制
17. FreeRTOS中任务调度发生的时机
18. FreeRTOS中非抢占非礼让模式下的任务执行情况
19. 冒泡排序的思路及时间复杂度的计算
20. 裸机开发实现软件定时器的方法
21. IO口的模式及推挽输出和开漏输出的区别
22. IIC协议的读时序
23. 链表是否有二分查找,什么情况下使用二分查找
24. DFS与BFS算法的解释
25. 操作系统的基本功能与结构
26. 进程与线程的区别
27. 死锁的产生条件及解决方法
28. 网络协议层次模型及其功能
29. 数据库的ACID特性
30. 计算机网络中的TCP与UDP的区别
相关问题收录到专栏中
全部评论

相关推荐

02-21 10:34
嵌入式软件工程师则主要负责嵌入式设备上的软件开发工作,与传统软件工程师不同。传统的软件工程师通常开发PC或服务器上运行的应用程序,所依赖的操作系统大多是Windows、Linux等,而嵌入式软件工程师的工作环境则是诸如Wince、VxWorks、Linux等嵌入式操作系统。一、嵌入式软件工程师的工作通常包括:1. 应用程序开发:根据客户需求开发嵌入式设备上的应用程序,如智能家居设备、医疗仪器的用户界面等。2. 嵌入式开发工具的使用:使用专门的开发工具,如Wince下的EVC(Embedded Visual C++)或Linux下的QT等。3. 底层软件设计:尽管嵌入式软件工程师的主要工作在上层软件,但有时也需要参与到底层驱动的设计和调试中,确保上层应用与硬件的协调。二、嵌入式硬件工程师与嵌入式软件工程师的区别1. 工作性质的区别嵌入式硬件工程师主要负责设计和搭建硬件平台,为软件工程师提供开发环境。硬件工程师的工作更像建筑师,设计并构建产品的硬件基础;而嵌入式软件工程师则像室内设计师,为产品增添功能和美感。硬件工程师的工作重点在于确保电路的正常工作以及各种外设和芯片的兼容性,他们在设计时需要考虑以下几个关键问题:- 功耗:控制电路设计的功耗,特别是在便携式设备中,这一因素尤为重要。- 电磁干扰(EMI):确保电路不会干扰其他设备,也不容易受到外部干扰的影响。- 生产可行性:电路设计不仅要满足功能需求,还需考虑生产的便捷性和成本。- 可靠性:设计要能经受住长时间的使用和环境考验。而软件工程师则专注于通过编写代码实现产品的功能,他们的主要职责包括应用程序开发、操作系统移植、以及优化软件性能等。2. 项目依赖的差异硬件的设计在整个项目中尤为关键。没有硬件,软件无法运行;但是在某些嵌入式系统中,硬件产品可以独立工作,比如简单的单片机应用无需操作系统支持。这种情况下,硬件工程师往往需要负责从硬件设计到功能实现的所有工作。而软件工程师在某些项目中可以缺席,特别是在没有复杂操作系统或用户交互界面的系统中。3. 就业形式的差异国内嵌入式软件工程师的就业市场较为广泛,培训资源也多,因此入门较为简单。硬件工程师由于门槛较高,需要深入的电路设计知识和实践经验,因此市场需求相对较少,但核心硬件开发人员的需求始终存在。一旦硬件产品定型,软件的升级和维护成本较低,因此在后期,企业会更依赖软件开发来提高产品的功能和竞争力,这也导致嵌入式软件工程师在企业中的需求量较大。我面试看的是大佬的面经,链接放下边了https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
点赞 评论 收藏
分享
评论
7
36
分享

创作者周榜

更多
牛客网
牛客企业服务