B卷主要考察C语言,还考察一些Liunx和ARM知识点
一、单选:
1、
const \*char 和 const char\* 定义变量的区别
2、关于cache错误的是?
3、sizeof 结构体(含位域的)
unit16\_t
unit32\_t
unit8\_t
4、FIQ中断向量入口地址?(考察ARM知识点)
回答:FIQ的中断向量地址在0x0000001C,而IRQ的在0x00000018。
5、R15除了本身的功能还可以作为程序计数器?
回答:寄存器R13在ARM指令中常用作堆栈指针SP,寄存器R14称为子程序链接寄存器LR(LinkRegister),寄存器R15用作程序计数器(PC)。
ARM微处理器共有37个32位寄存器,其中31个为通用寄存器,6个位状态寄存器。通用寄存器R0~R14、程序计数器PC(即R15)是需要熟悉其功能的。
6、如何判断机器大小端?
联合体方法判断方法:利用union结构体的从低地址开始存,且同一时间内只有一个成员占有内存的特性。大端储存符合阅读习惯。联合体占用内存是最大的那个,和结构体不一样。
a和c公用同一片内存区域,所以更改c,必然会影响a的数据
#include<stdio.h>
int main(){
union w
{
int a;
char b;
}c;
c.a = 1;
if(c.b == 1)
printf("小端存储\n");
else
printf("大端存储\n");
return 0;
}
指针方法
通过将int强制类型转换成char单字节,p指向a的起始字节(低字节)
#include <stdio.h>
int main ()
{
int a = 1;
char \*p = (char \*)&a;
if(\*p == 1)
{
printf("小端存储\n");
}
else
{
printf("大端存储\n");
}
return 0;
}
二、多选
1、哪些类型可以自加:i++
2、全双工总线类型有哪几个?
3、线程间同步方式?
进程间通讯:
(1)有名管道/无名管道(2)信号(3)共享内存(4)消息队列(5)信号量(6)socket
线程通讯:
(1)信号量(2)读写锁(3)条件变量(4)互斥锁(5)自旋锁
三、填空
1、填一种编译优化选项:-o
2、在有数据cache情况下,DMA数据链路为:外设-DMA-DDR-cache-CPU,CPU需要对cache做什么操
作,才可以得到数据?
3、面向对象编程三大特点?
回答:封装、继承和多态
四、简答
1、SPI四种模式,简述其中一种模式,画出时序图?
回答:请参考优快云博客。
2、判断大小端的三种方式?
3、为什么TCP是稳定传输?
回答:可以从TCP和UDP的区别出发去回答。
五、编程
1、求最大的和:
取两个不重复的字串,求他们的最大的和
2、停车,求收费最多(数据太多,可能有误,自己可以想思路)
用户编号 1 2 3 4
开始时间 1 2 3 7
结束时间 4 4 12 9
同一时间只能服务一个用户
用户编号 1 2 3 4
开始时间 1 2 3 7
结束时间 4 4 12 9
2、小米笔试题
岗位:嵌入式软件工程师
笔试时间:2020.09.08,18:00-19:30
选择题10(3分)=30
专项选择题10(3分)=30
编程题2(20分)=40
选择题:
1、如果要在根目录运行程序,需要把路径设置到下面哪个环境变量中?
2、inline函数的特性。
3、冯‘诺依曼体系:计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成。
4、对900,512,613,700,810,采用选择排序,则第三轮排序后结果输出是多少?
5、某一段程序的时间复杂度是多少?(考察时间复杂度和空间复杂度)
6、简单逻辑题。
7、入栈ABCDE,不可能的出栈顺序是?
答案
8、死锁是怎么发生的,以下哪种情况会发生死锁?
9、在搜索中“主键”的意思是?
10、采样频率至少不小于多少才能还原波形?
专项选择题:
1、构造函数和析构函数的调用参数的顺序是?
2、进程和线程的区别?(经典)
答案:经典题目,参见下面链接
3、java如何实现类继承?
4、java的垃圾回收机制是哪些表述?
5、结构体避免编译器优化的关键字?
比如:attribute((packed))
6、java中,switch(expression)语句,expression不可能是什么类型?
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!
yir5T-1715715951929)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!