嵌入式36题

#通信硬件知识分享# 1. 什么是进程、线程,各自有什么优点
2. 多进程、多线程的优缺点
3. 什么时候用进程,什么时候用线程
4. 多进程、多线程同步(通讯)的方法
5. 进程的空间模型
6. 父进程、子进程的关系以及区别
7. 什么是线程同步和互斥
8. 线程同步与阻塞的关系
9. 同步一定阻塞吗?阻塞一定同步吗?
10. 孤儿进程、僵尸进程、守护进程的概念
11. 基本概念
12. 正确处理僵尸进程的方法
13. new和malloc的区别
14. malloc的底层实现
15. 在1G内存的计算机中能否malloc(1.2G)?为什么?
16. 指针与引用的相同和区别;如何相互转换?
17. C语言检索内存情况 内存分配的方式
18. extern "C" 的作用
19. 头文件声明时加extern定义时不要加
20. 函数参数压栈顺序,即关于__stdcall和__cdecl调用方式的理解
21. 重写memcpy()函数需要注意哪些问题
22. 数组到底存放在哪里
23. struct和class的区别
24. char和int之间的转换
25. static的用法(定义和用途)
26. const常量和#define的区别
27. volatile作用和用法
28. 常量指针、指针常量、常量引用
29. C/C++中变量的作用域
30. C++中类型转换机制及适用环境
31. dynamic_cast转换失败时的情况
32. TCP、UDP的区别
33. TCP、UDP的优缺点
34. TCP和UDP适用场景
35. TCP为什么是可靠连接
36. 典型网络模型了解吗?
我面试看的是大佬的面经,链接放下边了
全部评论

相关推荐

联x 嵌入式工程师 22w保底
点赞 评论 收藏
分享
#通信硬件知识分享# 1. 嵌入式系统的组成嵌入式系统通常由以下几个部分组成:硬件平台:包括微处理器(如ARM、MIPS、x86等)、传感器、执行器、输入输出设备(如LCD、按键、LED等)。操作系统:嵌入式系统可以使用实时操作系统(RTOS)或裸机(bare-metal)开发。RTOS如FreeRTOS、uC/OS-II等,裸机编程通常指直接与硬件打交道,没有操作系统的介入。软件:包括驱动程序、应用程序、系统软件等。驱动程序负责硬件与软件的通信,应用程序则实现系统功能。2. 嵌入式开发工具链嵌入式开发通常需要一系列的开发工具:集成开发环境(IDE):常用的IDE有Keil、IAR Embedded Workbench、Eclipse等,它们提供了代码编辑、编译、调试等功能。编译器:常见的嵌入式编译器有GCC、ARM Compiler等,能够将源代码编译成适合嵌入式平台的机器代码。调试器:如JTAG调试器、ST-Link、OCD等,用于调试程序的执行,帮助开发者查看寄存器、内存等信息,实时诊断问题。仿真器:帮助开发者在没有实际硬件的情况下测试代码。3. 嵌入式编程语言嵌入式开发中,最常用的编程语言是:C语言:几乎所有嵌入式开发都使用C语言,因为它能够直接操作硬件,提供较高的执行效率,并且占用内存较少。嵌入式开发中,C语言常用于编写驱动、操作系统和应用层代码。汇编语言:对于需要极高性能和硬件控制的任务,汇编语言有时用于优化代码,直接操作硬件寄存器。C++:在一些复杂的嵌入式系统中,C++用于面向对象编程,尤其是在处理较为复杂的算法时。4. 嵌入式开发中的实时性要求实时性是嵌入式系统中至关重要的概念,特别是在处理信号采集、控制系统时。根据实时性要求,嵌入式系统可以分为:硬实时系统:对时间要求非常严格,任务必须在规定的时间内完成,否则将导致系统失败。例如,航空航天、医疗设备等。软实时系统:虽然有时间限制,但如果超时不会导致系统完全失败,系统仍然能正常工作。例如,视频播放、音频处理等。5. 基本的嵌入式开发流程嵌入式开发流程一般包括以下步骤:需求分析:明确系统的功能需求、硬件需求、性能要求等。硬件选择:选择适合的微控制器(MCU)或微处理器(MPU),并了解其硬件资源(如GPIO、UART、SPI、I2C等外设)。软件设计:根据需求设计嵌入式软件架构,包括驱动、RTOS配置、应用层逻辑等。编程与调试:在开发环境中编写代码,进行调试和测试,确保软件的正确性和性能。测试与验证:在目标硬件上进行系统测试,验证软件和硬件的协同工作。我面试看的是大佬的面经,链接放下边了  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
点赞 评论 收藏
分享
评论
点赞
8
分享

创作者周榜

更多
牛客网
牛客企业服务