查看原文
其他

秋招“笔试经”第八弹:大华嵌入式岗

坐标轴 达尔闻说 2021-01-17

不想错过我的推送,记得右上角-查看公众号-设为星标,摘下星星送给我!

备注:目前笔试经固定在每周二更新,今天开始解析大华嵌入式题目,如果大家有其他需求,可以进入秋招求职群,添加妮姐微信:459888529,注明:秋招


今日解析是大华的嵌入式岗位题目,从题目要求看嵌入式岗位的要求,对Linux考核范围比较宽。如果大家对Linux有想学习的内容,可以在文末留言告诉我们,不管怎样尽量安排上!


1、以下哪种协议属于网络层协议的()
A  HTTPS            B  SSL
C  ARP                D  SNMP
解析:ARP
HTTPS、SSL、SNMP属于应用层协议,ARP属于网络层

2、Linux系统每个进程有独立的用户空间,这个用户空间可访问的逻辑地址受()限制?
A  Cache大小         B  页表大小
C  内存空间大小       D 计算机地址位数
解析:计算机地址位数
Linux系统每个进程都有自己独立的地址空间,他的访问地址受计算机位数限制,32位计算机的地址长度是32位;64位计算机的地址长度是64位。


3、某IP地址为88.55.126.33/20,它的子网划分出来的网络ID地址()
A  88.55.112.0         B  88.55.126.0
C  88.55.112.33       D  88.55.126.255
解析:88.55.112.0
其中/20表示子网掩码二进制表示中有20个1,也就是11111111 11111111 11110000 00000000,也即是255.255.240.0。
IP地址为88.55.126.33,二进制表示为01011000 00110111 01111110 00100001,则网络ID为两者按位与的结果,01011000 00110111 01110000 00000000 也就是十进制的88.55.112.0。

快速做法:确定子网掩码后可以不管全1和全0的8位,全1的话按位与不变,全0安位与为0,主要是关注第三个8为数据11110000。

4、32位系统中以下结构体大小为()
typedefstruct VideoDecCaps
{
unsignedint transDecFlag:8;
unsignedint localIntelliFlag:8;
unsignedint reserved1:16;
intreserved2[31];
}VideoDecCaps;
A  32         B 31
C  128       D 124
解析:128
定义后面的冒号代表定义数据的位数,transDecFlag为8位,也就是一个字节locallnterlliFlag为8位,也就是一个字节。reserved1为16位,也就是两个字节,reserved2每个元素都为整形数据,占用四个字节,一共是31*4=124个字节。除此之外还应考虑对齐的问题,但是本体都是对齐的,结构体大小即为1+1+2+124=128。
对于结构体中地址对齐的问题,大家可以自行搜索了解。

5、以下程序的运行结果是()

int main()

{

std::vector<int> IntArray;

IntArray.push_back(2);

IntArray.push_back(3);

IntArray.push_back(4);

IntArray.push_back(3);

IntArray.push_back(3);

IntArray.push_back(5);

std::vector<int>::iterator itor;

for(itor = IntArray.begin();itor!=IntArray.end();)

{

if(3==*itor)

{

IntArray.erase(itor++);

}

else

{

itor++;

}

}

for(itor=IntArray.begin();itor!=IntArray.end();)

{

printf("%d",*itor++);

}

return0;

}

A  2 4 5           B 2 4 3 5
C  2 3 4 5        D 存在不确定性崩溃
解析:2 4 3 5
push_back() 将元素放入容器的最后一位。则程序的前一部分定义了向量,并依次放入了2、3、4、3、3、5。第二部分是处理部分,遍历向量中的所有元素,当元素值为3时,清除当前的元素,然后指针加1(这里需要注意itor++与++itor的区别)。但需要注意erase是将向量该处元素清除,清除之后则所有元素会向前移动一位,如判断第二个元素3时,清除之后向量会变成:2,4,3,3,5。此时itor++会直接略过对元素4的判断(此时元素4的位置前移了,原来指向4的指针指向了4之后的元素3),那么当连续出现两个3时,程序只能清除第一个3,然后略过对第二个3的判断。 当元素值不为3时,则指针加1,继续遍历。第三部分是显示,显示向量中所有元素,也就是2,4,3,5。


6、Linux下给文件start.sh设置权限为自己可读可修改可执行,组内用户为可执行不可修改,其余用户没有任何权限,那么设置该文件权限的命令为()

A  chmod start.sh 760

B  chmod start.sh 705

C  chmod start.sh 750

D  chmod start.sh 706

解析:chmod start.sh 750

权限分为读取(r),写入(w)和执行(x)。在设置权限时可以直接使用字母rwx表示,同时也可以使用数字表示linux中规定了r为4、w为2,x为1,那么rwx权限就是4+2+1=7,题目中的rx权限就是4+1=5。当设置不同用户的权限时,就需要多个数字来表示了,其中从左往右第一个数字代表用户权限,第二数字代表群组的权限,第三个数字代表其他用户权限。


7、处理机主要由处理器、存储器和总线组成,总线包括:

A  数据总线、地址总线、控制总线

B  并行总线、串行总线、逻辑总线

C  单工总线、双工总线、外部总线

D  逻辑总线、物理总线、内部总线

解析:数据总线、地址总线、控制总线


8、某CPU执行一条指令需要取指、分析、执行3步,分别耗时5,2,3个单位时间,则以流水线方式执行400条指令的时间为()

A  4000      B  2005

C  2003      D 2000

解析:2005

在非流水线方式下,只有当每条指令执行结束,才开始下一条指令的执行。而在流水线方式下,当第一条指令完成了取指操作进入分析操作时,第二条指令便开始了取指操作。当第一条指令执行完成时,第二条指令已经进入了分析阶段。两条指令的间隔时间由各个环节中最耗时的环节决定,在本题中,相邻两条指令的间隔时间即为5。而第一条指令执行的时间是5+2+3=10,那么400条指令的时间应为5*199+10=2005。

需要注意的是对于零散的单条指令,他的执行时间还是不变的,只有针对连续的多条指令,流水线的设计才可以节省时间。


9、多任务操作系统中,下列哪个事件不是引起操作系统切换进程的直接原因()

A  有新进程进入就绪状态

B  运行进程出错终止

C  运行进程时间片用完

D 运行进程等待其他事件

解析:有新进程进入就绪状态

进程的切换主要发生在1. 系统中断、2. 程序调用


10、32位系统中,以下代码输出值为()

#include <stdio.h>

class Base

{

   virtual void fun(){}

};

int main(int argc,char**argv)

{

    printf("%d\n",sizeof(Base));

    return0;

}

A  0               B  1

C  4               D  8

解析:4

这道题主要考察虚函数,在类中定义函数是不占用空间的,但是定义虚函数会包含一个指向虚函数表的指针,也就是VPTR指针,该指针占用4个字节的存储空间。

END

目前,我们安排的是每周二更新笔试经系列,计划涵盖的公司包含:华为,京东,大疆,商汤,中兴,CVTE,AMD,海康威视,黑金,汇顶,大华等。(会陆续补充)

关于更新时间:每周二,如果同学们诉求高,很希望看到更多的分享,我们可以加番。达尔闻 秋招“笔试经”系列:

第一弹:华为硬件逻辑岗

第二弹:海康威视硬件岗

第三弹:华为硬件逻辑岗

第四弹:华为硬件逻辑岗&通用硬件岗

第五弹:华为硬件逻辑岗和硬件通用岗

第六弹:华为硬件逻辑岗

第七弹:华为硬件逻辑岗

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存