海康威视嵌入式BSP的笔试
《嵌入式软件开发笔试与面试手册》:https://blog.nowcoder.net/zhuanlan/jvN8gj
《软件开发笔试汇总》:https://blog.nowcoder.net/zhuanlan/0oDWVm
点赞&&评论mark超10,附上答案
单选题
关于ADC采样说法正确的是()
A、ADC的精度由软件决定
B、10位ADC转换为8位应取其高8位
C、10位ADC比8位ADC的精度高出100倍
D、10位ADC转换为8位应取其低8位
有如下变量定义: unsigned long temp = 100,请问变量temp在下列操作系统中所占的字节数各是多少? Windows32:() Linux32:() Windows64:()Linux64:()
A 8,8,8,8
B 4,4,8,4
C 4,4,4,8
D 4,4,8,8
E 4,4,4,4
cpu从用户态进入到内核态的途径是
A 修改进程状态字
B 系统调用
C 中断屏蔽
D 进程调度
以下目录中,用于保存内核运行状态的是():
A dev
B sys
C proc
D etc
设在内存中有P1、P2、P3三道程序,并按照P1、P2、P3的优先次序运行,身内部计算和I/O操作时间如下:
P1:计算60ms-->I/O 80ms-->计算20ms
P2:计算120ms--> I/O 40ms-->计算40ms
P3:计算40ms-->1/O 80ms-->计算40ms
调度程序的执行时间忽略不计,并发完成这三道程序比单道运行节省的时间是()
A 120ms
B 200ms
C 80ms
D 160ms
关于程序的运行效率,下列说法错误的是?
A if else的分支语句编写,把最可跳发生的条件写在最前面
B 对二推数组a[M][N]进行遍历时,应该外层循环遍历M,内层循环进历N,这样执行效率最高
C 便用volatile关键字会影响编译的优化,所以只应在必要的情况下使用
D 发生Cache miss时,CPU要到内存中存取数据,这个过程比较慢,所以操作系统一般会调度到其它线程去执行以提升CPU利用率
以下关于lseek的描述错误的是()
A lseek自式地为一个打开的文件设置其偏移值
B lseek仅将当前的文件偏移量记录在内核中,并不引起任何I/O操作
C 在 off_t lseek(int filedes, off_t offset, int whence)中,若whence是SEEK_SET。则将该文件的偏移量设为为距文件结束处offset个字节
D 在off_t lseek(int filedes, off_t offset, int whence)中,若whence是SEEK CUR, offset可以是正或负
能有效限制广播风暴的网络设备是()
A 集线器器
B 交换机
C 网桥
D 路由器
存储一个32位数0x1389287到8004H~8007H四个字节单元中,若以大端模式仔储,则
8004H单元存储的内容为:()
A 0x87
B 0x13
C 0x92
D 0x01
若有定义:int a[3][4];则对a数组的第i行第j列元素地址的正确使用是()
A *(a[i]+j)
B a[i]+j
C (a+i)
D *(a+j)
有如下一段代码,请问其中sum的值是多少?
unsigned int A = 86, B=200;
unsigned int resW = 0, sum =0;
unsigned short G=436, H= 578;
unsigned short resT = 0;
resW =B*((A* 2)/ B);
resT =G*H;
sum = resW + resT;
A 0
B 55300
C 252008
D -172
E 55400
下面选项属于函数指针的是()
A int *func(int, int)
B (int*)func(int, int)
C 两者都是
D 两者都不是
下面程序的运行结果是():
int main(){
const int i=5;
const int *ptr;
ptr=&i;
*ptr=1024;
printf(" %d\n",i++);
return 0;
}
A 1024
B 编译出错,无法运行
C 6
D 5
下列四组选项中,均不是C语言关键字的选项是()
A define, IF, type
B if, struct, type
C getc, char, printf
D include, scanf, case
(File Transfer Protocol,文件传输协议)是 TCP/IP协议组中的协议之一属于TCP/IP 4层协议哪一层?
A 网络层
B 应用层
C 传输层
D 数据链路层
多选题
以下说法正确的是()
A 函数中的static局部变量不是分配在栈区。
B 层次较深的递归调用会导致堆栈溢出。
C 函数的局部变量分配在堆上,不用程序员手动申请和释放
D C语言中,局部变量和全局变量不能重名。
以下哪些事件会导致进程的创建?
A 用户请求创建一个新进程
B 一个批处理作业的初始化
C 执行正在运行的进程所调用的进程创建系统调用
D 系统初始化
以下属于epoll相对于select优势的是()
A 支持的FD上限最大可以打开文件的数目
B 轮询方式遍历所有的fd
C 支持水平触发、边沿触发模式
D 在epoll_wait时不重复拷贝fd
系列哪些属于Linux进程调度的策略?
A SCHED_RR实时调度策略,时间片轮转
B SCHED_INT中断调度策格,实时响应中断
C SCHED_FIFO实时调度策略,先到先服务
D SCHED_OTHER分时调度策略
以下属于main函数参数有?
A envp
B argc
C main
D argv
问答题
根据宏定义写出如下函数打印输出
#define MAX VAL(a,b) (a)>(b)?(a):(b)
#define MIN_VAL(a,b)(a)<(b)?(a):(b)
int max min test(void)
{
int a= 2, b= 1, ret = 0;
ret= MAX_VAL(a, b) + 3;
printf(" %d\n",ret);
ret = MIN_VAL(b, a)+ 3;
printf("%dn",ret);
return 0;
}
请说明设备ARP表中的MAC地址来源有哪些?
编写一个标准strcpy函数
#海康威视##笔试##嵌入式##BSP#本专栏主要发布2024年嵌入式软件开发相关岗位笔试真题(嵌入式软件开发、通用软件开发、C/C++软件开发、算法工程师、测试开发等)主要是算法编程题,其中一些岗位笔试含有对应的选择题、填空题、简单题。