说明:本篇文章题库来源于网络,目的在于共同学习,共同进步,知识分享可以通过网络平台不断提高自己
海康威视嵌入式驱动工程师的题目只包含选择题和简答题,没有编程题。毫无疑问,C语言基础题依然是最多的(c可是嵌入式的笔尖),又因为是驱动方向,所以关于Linux操作系统和底层方面的题会比较多一点,但是就题目的总体难度而言,其实并不是特别难。但如果对Linux和驱动方面不是很了解的话,会比较吃亏。
选择题
1、若有8个待排序元素,采用冒泡排序和插入排序最大时间复杂度分别是()
A.64、24
B.64、64
C.16、64
D.16、16
答案:B
解答:9大内部排序的时间复杂度和空间复杂度如下表所示:
2、下面程序中b的值是()
int a[15] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 };
int *p = &a[5];
int b = p[7];
A.14
B.13
C.11
D.12
答案:B
3、下面哪个命令用来卸载一个内核模块?
A.modprobe
B.delmod
C.unmod
D.rmmod
答案:D
4、使用快速排序对n个数进行排序,其在最佳情况、平均情况、最差情况下的时间复杂度分别是()
A.n、nlogn、nlogn
B.nlogn、nlogn、n^2
C.nlogn、nlogn、nlogn
D.n、nlogn、n^2
答案:B
5、关于互斥锁的如下表述错误的是()。
A.互斥锁的加锁和解锁必须由同一线程分别对应使用
B.互斥锁只能为0/1
C.互斥锁的解锁过程不需要关心顺序,只需要成对使用即可
D.互斥锁用于线程的互斥
答案:C
解答:互斥量和信号量的区别:
互斥量用于线程的互斥,信号量用于线程的同步。这是互斥量和信号量的根本区别,也就是互斥和同步之间的区别;互斥量值只能为0/1,信号量值可以为非负整数。也就是说,一个互斥量只能用于一个资源的互斥访问,它不能实现多个资源的多线程互斥问题。信号量可以实现多个同类资源的多线程