大疆笔试题目解析

【阅读推荐】

小米嵌入式软件工程师笔试题目解析

在深圳做嵌入式,大疆公司绝对是Top级别的,大疆的技术栈也很深。但2020受美国制裁后,有所缩招。另外提醒,研发岗对学历要求高一些。

大疆公司每年秋招是分批考试,考试时间自选,分为AB卷,本文分享是B卷。

选考时间:2020.08.16,19:00-20:30(A卷为2020.08.10)

题型:单选(2' * 10)、多选(3' * 5)、填空(4' * 4)、简答(6' * 3)、编程( * 2 = 31')

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(Link Register),寄存器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四种模式,简述其中一种模式,画出时序图?

回答:请参考CSDN博客。

2、判断大小端的三种方式?

3、为什么TCP是稳定传输?

回答:可以从TCP和UDP的区别出发去回答。

五、编程

1、求最大的和:

取两个不重复的字串,求他们的最大的和

输入

10
1 -1 2 2 3 -3 4 -4 5 -5

取 2、2、3、-3、4、5,最大输出13

输入

5
-5 9 -5 11 20

取9、11、20,加起来40

输入

10
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1

答案是-2

2、停车,求收费最多(数据太多,可能有误,自己可以想思路)

用户编号    1      2      3      4
开始时间    1      2      3      7
结束时间    4      4      12     9

同一时间只能服务一个用户

1<=t<6     10元一小时
6<=t<10    5元一小时
10<=t      2元一小时

5T技术资源大放送!包括但不限于:C/C++,Arm, Linux,Android,人工智能,单片机,树莓派,等等。在公众号内回复「peter」,即可免费获取!!

 记得点击分享在看,给我充点儿电吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值