诺瓦星云 - 嵌入式工程师 - 笔试
❗❗如果本文对您有帮助,请不要吝啬您的评论、点赞、收藏与小花,这对我非常重要!谢谢!❗❗
本文所涉及的题目均为基于个人学习和理解重新表述的内容,仅供学习交流之用,不代表任何实际考试题目。如有雷同,纯属巧合。
岗位:25届提前批-嵌入式工程师(西安)
题型:10 道单选题,5 道多选题,5 道填空题,2 道简答题,2 道编程题
1、选择题
1.1
下列关于 DMA 描述不正确的是 ==(B)==
- 内存可以被 CPU 访问,也可以被 DMA 控制器访问
- DMA 控制器的传输宽度有字节和字两种
- DMA 开始前,CPU 需要初始化 DMA 控制器
- DMA 在外设与内存进行数据传输时,不需要 CPU 干预
解答:
传输宽度有字节、半字、字和 FIFO 模式下的自定义宽度
1.2
以下属于并行通信的接口为?==(B)==
- UART
- FSMC
- IIC
- SPI
解答:
UART、I2C 和 SPI 均为串行通信接口
FSMC 是并行通信接口,灵活静态存储控制器
1.3
以下关于 Cortex-M 控制器中断嵌套说法正确的是?==(B)==
- 只要响应优先级不一样就有可能发生中断嵌套
- 只要抢占优先级不一样就有可能发生中断嵌套
- 只要抢占优先级和响应优先级都不一样才有可能发生中断嵌套
- 只有在响应优先级一样抢占优先级不一样时,才有可能发生中断嵌套
1.4
有如下函数,变量 video 的内存地址位于 ==(A)==
void novastar(){
static int video;
......
}
- 未初始化数据段
- 已初始化数据段
- 堆
- 栈
解答:
静态局部变量存储在未初始化数据段上
1.5
语言编译的正确过程是 ==(A)==
- 预处理,编译,汇编,链接
- 编译,预处理,链接,汇编
- 汇编,预处理,链接,编译
- 汇编,编译,预处理,链接
1.6
采用 7bit 地址寻址时,I2C 总线上最多可以挂载多少从机?==(C)==
- 128
- 255
- 127
- 256
解答:
7 位 I2C 从机地址,一共可以有 2^7 = 128 个设备,除去 0x00 保留地址,最多可挂载 127 个从机
1.7
以下属于传输层的协议为?==(B)==
- RGMII
- TCP
- IP
- SNMP
解答:
RGMII:物理层接口标准
TCP:传输层协议
IP:网络层协议
SNMP:网络管理,应用层协议
1.8
当变量 c 的值不为 2、4、6 时,值也为"真"的表达式是 ==(D)==
(c==2) || (c==4) || (c==6)
(c>=2 && c<=6) && !(c%2)
(c>=2 && c<=6)&& (c%2!=1)
(c>=2 && c<=6) || (c!=3) || (c!=5)
解答:
注意审题:不为 2、4、6 时,值也为真,意味着
选项 A、B、C 均表示只有 c 等于 2、4、6 时才为真,与题目要求不符
1.9
在小端系统中,定义 unsigned int a = 0x12345678;
则 a 在内存中的存储顺序为 ==(C)==
- 12 34 56 78
- 87 65 43 21
- 78 56 34 12
- 34 12 78 56
解答:
小端系统:高字节位于高地址,低字节位于低地址
内存地址是从左到右递增的
所以a
在内存中的存储顺序为 (低地址)78 56 34 12
(高地址)
1.10
Linux 运行后的文件句柄,下述描述正确的是:==(A)==
- 0:标准输入,1:标准输出,2:标准错误
- 0:标准错误,1:标准输入,2:标准输出
- 0:标准输出,1:标准输入,2:标准错误
- 以上说法都不对
2、多选题
2.1
在 C 语言中,关于数组和指针的关系以下说法正确的是 ==(BD)==
- 指针是数组的一种特殊形式
- 数组可以被解释为指针
- 指针和数组在内存中占用相同的空间
- 指针可以用于访问数组元素
解答:
指针和数组是两个不同的概念 ❌
数组名保存了数组第一个元素的地址,可以被解释为指针 ✅
指针占用 4/8 字节空间,数组由元素个数和类型决定占用内存大小 ❌
指针可以访问数组元素 ✅
2.2
在嵌入式系统中,以下哪些存储器类型通常用于存储程序和数据 ==(ACD)==
- ROM
- Cache
- EEPROM
- EMMC
解答:
Cache 不能,其他的都是可以的
2.3
下哪个是 C 语言的关键字 ==(ABD)==
- volatile
- const
- namespace
- auto
解答:
namespace
是 C++ 中的命名空间,C 中没有
2.4
下面进制转换中正确的是 ==(BD)==
- (10000111)8421BCD = (87)16
- (10000111)8421BCD = (87)10
- (10000111)8421BCD = (127)8
- (10000111)2 =(87)16
解答:
选项 1、2、3 中 8421BCD 码表示每个 4 位二进制数字代表一个十进制数字
因此(10000111)8421BCD = (87)10
选项 4 表示 10000111 为普通的二进制,因此(10000111)2 = (87)16
2.5
选出下图中的隔离电源电路 ==(X)==
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
欢迎来到我的专栏,在这里,我将整理并分享2024年各大企业的真实笔试/面试真题,同时还整理了嵌入式软件相关的八股知识。专栏内容涵盖C/C++基础、嵌软常见通信协议、ARM、FreeRTOS、Linux OS相关问题汇总,希望能帮助求职者了解考试趋势和嵌入式常见考点。无论你是准备面试,还是希望提升自己的专业知识,这里都能为你提供宝贵的参考和学习资源。