海康威视嵌入式软件开发工程师(BSP)笔试题(附超详细解答)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、若有8个待排序元素,采用冒泡排序和插入排序最大时间复杂度分别是()。

64、24

64、64

16、64

16、16

KEY:B

解答:9大内部排序的时间复杂度和空间复杂度如下表所示:

O() O()

O() O()

O() O() O() O()

O() O()

O() O()

O() O() O()

O() O() O()

O() O() O()

1.int a[15] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 };

2.int *p = &a[5];

3.int b = p[7];

14

13

11

12

KEY:B

3、下列代码中数组data最终的数据是哪个()。

1.#define MAX_DATA_SIZE (10)

2.

3.int main()

4.{

5.unsigned int i = 0;

6.unsigned char data[MAX_DATA_SIZE] = { 1,2,3,4,5,6,7,8,9,0 };

7.

8.memcpy(&data[2], data, MAX_DATA_SIZE / 2);

9.

10.return 0;

11.}

1234567890

1212121890

1212345890

其他结果都不对

KEY:D

解答:由于本题中data数组里直接放的是数字,直接强制转化为char类型,按照ASCII码进行查询,显然不会是这些数字了。也就是说,如果改成以下的定义:

unsigned char data[MAX_DATA_SIZE] =

{ '1','2','3','4','5','6','7','8','9','0' };

那么答案就是C了。

4、下面哪个命令用来卸载一个内核模块?

modprobe

delmod

unmod

rmmod

KEY:D

5、使用快速排序对n个数进行排序,其在最佳情况、平均情况、最差情况下的时间复杂度分别是()。

n、nlogn、nlogn

nlogn、nlogn、n^2

nlogn、nlogn、nlogn

n、nlogn、n^2

KEY:B

6、关于互斥锁的如下表述错误的是()。

互斥锁的加锁和解锁必须由同一线程分别对应使用

互斥锁只能为0/1

互斥锁的解锁过程不需要关心顺序,只需要成对使用即可

互斥锁用于线程的互斥

KEY:C

解答:互斥量和信号量的区别:

•互斥量用于线程的互斥,信号量用于线程的同步。这是互斥量和信号量的根本区别,也就是互斥和同步之间的区别;

•互斥量值只能为0/1,信号量值可以为非负整数。也就是说,一个互斥量只能用于一个资源的互斥访问,它不能实现多个资源的多线程互斥问题。信号量可以实现多个同类资源的多线程互斥和同步。当信号量为单值信号量是,也可以完成一个资源的互斥访问;

•互斥量的加锁和解锁必须由同一线程分别对应使用,信号量可以由一个线程释放,另一个线程得到。

这里区分一下互斥和同步:

•互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的;

•同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源。

参考文章:线程同步(互斥锁与信号量的作用与区别)。

7、Linux在某目录下查找某字符串通常如下哪个指令?

find

grep

cat

其他都不对

KEY:A

解答:Linux的find命令用来在指定目录下查找文件,可以使用-name选项来完成:

1.find /home -name "*.txt"//不忽略大小写

2.find /home -iname "*.txt"//忽略大小写

8、多个进程按照顺序逐一来访问某个资源,这种制约关系称之为()。

调度

协同

互斥

同步

KEY:D

9、支持多道程序的操作系统在运行过程中,不断地选择新进程运行来实现CPU的共享,但其中()不是引起操作系统选择新进程的直接原因。

运行进程要等待某一事件发生

运行进程的时间片用完

有新进程进入就绪状态

运行进程出错

KEY:C

解答:运行进程时间片用完,进程运行出错,运行进程阻塞(也就是等待某一事件发生)都会使操作系统选择新进程,但有新进程进入就绪状态不会影响其他进程状态变化。

10、()是操作系统分配资源的基本单位。

进程

程序

线程

指令

KEY:A

11、执行下述的main函数后,输出结果是多少?

1.int main()

2.{

3.int i = 10;

4.

5.switch(i) {

6.case 9:i++;

7.case 10:i++;

8.case 11:i++;

9.default:i++;

10.}

11.printf("result= %d\n", i);

12.

13.return 0;

14.}

12

13

11

14

KEY:B

12、以下能对二维数组a进行完整初始化的语句是()。int a[2][3]=((0,1,2),(3,4,5));

int a[2][3]={{0,1,2},{3,4,5}};

int a[2][3]={{0,1},{2,3},{4,5}};

int a[2][3]={0,1,2,3,4};

KEY:B

相关文档
最新文档