海康威视嵌入式BSP的笔试

《嵌入式软件开发笔试与面试手册》https://blog.nowcoder.net/zhuanlan/jvN8gj

《软件开发笔试汇总》https://blog.nowcoder.net/zhuanlan/0oDWVm

点赞&&评论mark超10,附上答案

单选题

关于ADC采样说法正确的是()

AADC的精度由软件决定

B10ADC转换为8位应取其高8

C10ADC8ADC的精度高出100

D10ADC转换为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

 

设在内存中有P1P2P3三道程序,并按照P1P2P3的优先次序运行,身内部计算和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),whenceSEEK_SET。则将该文件的偏移量设为为距文件结束处offset个字节

D off_t lseek(int filedes, off_t offset, int whence),whenceSEEK CUR, offset可以是正或负

 

能有效限制广播风暴的网络设备是()

A 集线器器

B 交换机

C 网桥

D 路由器

 

存储一个32位数0x13892878004H~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++软件开发、算法工程师、测试开发等)主要是算法编程题,其中一些岗位笔试含有对应的选择题、填空题、简单题。

全部评论
Mark
点赞 回复
分享
发布于 04-06 18:43 江苏
mark
点赞 回复
分享
发布于 04-21 11:49 广东
滴滴
校招火热招聘中
官网直投
感谢分享
点赞 回复
分享
发布于 04-22 19:14 广东

相关推荐

4 20 评论
分享
牛客网
牛客企业服务