云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 海康笔试题目及部分答案

海康笔试题目及部分答案

  • 62 次阅读
  • 3 次下载
  • 2025/6/6 3:43:54

初始化数组

char msg[10];

memcpy(msg,0,sizeof(memcpy));

方法2:

写一个内存拷贝函数

// 考虑重叠的状况

void* _memcpy(void* dest, void* src, int len) {

if(!dest || !src || !len || dest == src) return dest;

char* pdest = static_cast(dest); char* psrc = static_cast(src);

// dest 在 src + len 范围内

if(pdest > psrc && pdest < (psrc + len)) {

// 先备份被覆盖部分

int need = psrc + len - pdest; int offset = pdest - psrc;

char* pcache = new char[need];

int i = 0;

for (i = 0; i < need; ++i) pcache[i] = psrc[offset + i];

// 拷贝起始部分

for (i = 0; i < offset; ++i) pdest[i] = psrc[i];

// 拷贝剩余部分

for (i = 0; i < need; ++i)

pdest[offset + i] = pcache[i];

delete[] pcache; } else {

for (int i = 0; i < len; ++i) pdest[i] = psrc[i]; }

- 5 -

return dest; }

补充B卷:

1.32位机器上,假设有一个32位数字0x1234abcd保存在0x00000000开始的内存中,那么在little endian和big endian的机器上,按字节该整数在内存中存放的顺序是怎么样的? 2.ISO七层模型是什么,tcp/udp属于哪一层?

3.下面是一个中断服务程序的代码,请指出有那些问题? _interrupt double compute_area(double radius) {

double area= PI*radius*radius; return area; }

4.多任务系统中,常见的任务通讯机制有哪些?

5.请实现内存复制函数memcpy(void *dst,const void *src,int size). 答案:

1. 大端模式:数据的高字节存储在内存地址的低字节,(正常存储)小端模式:数据的高字节存储在内存地址的高字节.

little endian:0x00000000-0x000000003h:cd,ab,34,12 big endian: 0x00000000-0x000000003h: 12,34,ab,cd

2. 物理层-数据链路层-网络层-传输层-会话层-表示层-应用层,tcp/udp工作在传输层。 3. 中断子程序不能有返回值,去掉return area; compute_area之前的double关键字。

1)ISR 不能返回一个值。如果你不懂这个,那么你不会被雇用的。 3) 在许多的处理器/编译器中,浮点一般都是不可重入的。有些处理器/编译器需要让额处的寄存器入栈,有些处理器/编译器就是不允许在ISR中做浮点运算。此外,ISR应该是短而有效率的,在ISR中做浮点运

这个函数有太多的错误了,以至让人不知从何说起了:

2) ISR 不能传递参数。如果你没有看到这一点,你被雇用的机会等同第一项。

算是不明智的。 4) 与第三点一脉相承,printf()经常有重入和性能上的问题。如果你丢掉了第三和第四点,我不会太为难你的。不用说,如果你能得到后两点,那么你的被雇用前景越来越光明了。

4. 操作系统还提供进程间的通讯机制来帮助完成这样的任务。Linux中常见的进程间通讯机制有:

信号、管道、共享内存、信号量和套接字等。 5. 举例:

// memcpy.c #include #include

int main(int argc, char* argv[]) {

char *s=\iew\ char d[20]; clrscr();

- 6 -

memcpy(d,s,strlen(s)); d[strlen(s)]='\\0'; printf(\getchar(); return 0; }

截取view #include

int main(int argc, char* argv[]) {

char *s=\char d[20];

memcpy(d,s+14,4);

//memcpy(d,s+14*sizeof(char),4*sizeof(char));也可 d[5]='\\0';

printf(\getchar(); return 0; }

输出结果: View

初始化数组

char msg[10];

memcpy(msg,0,sizeof(memcpy));

*******************************************************************************

Linux开发工程师

1. 请列举主流linux的发布版本(四个以上)。

(1)Redhat有两大Linux产品系列,其一是免费的Fedora Core系列主要用于桌面版本,提供了较多新特性的支持。另外一个产品系列是收费的Enterprise系列,这个系列分成:AS/ES/WS等分支。

- 7 -

(2)Advanced Server,缩写即AS。AS在标准Linux内核的基础上,做了性能上的增强,并提高了可靠性,集成了众多常见服务器的驱动程序。可轻松识别IBM/DELL/HP等常见机架式服务器的磁盘阵列卡等设备。

2. makefile的基本写法,完成将test.c文件编译成可执行文件demo的makefile文件。 书上?

3. linux的基本命令有什么?在控制台root根目录下,查找包含字符”hikvision”的文

件名,要求使用管道命令而且包含子目录查找。 查???..

4. 当前linux最主流的两大桌面环境是什么,两者区别是什么?

KDE与GNOME是目前Linux/UNIX系统最流行的图形操作环境 5. linux系统下主要三类设备文件类型是什么?

块设备、字符设备、网络设备。 书——P354

Linux 中的设备有2种类型:字符设备(无缓冲且只能顺序存取)、块设备(有缓冲且可以随机存取)。每个字符设备和块设备都必须有主、次设备号,主设备号相同的设备是同类设备(使用同一个驱动程序)。这些设备中,有些设备是对实际存在的物理硬件的抽象,而有些设备则是内核自身提供的功能(不依赖于特定的物理硬件,又称为\虚拟设备\。

*******************************************************************************

网络开发工程师

1. 请写出OSI模型,TCP/IP模型。 2. 以太网的MTU是多大?

通常意义上的以太网MTU是指没有以太网header和FCS的以太网payload部分,IEEE802规定了大小为0~1500字节;所以,二层以太网帧长应该为这个长度加上18B(6B的DA、6B的SA和2B的Length/Etype以及4B的FCS),这样大小应该<1518;在Dot1Q情况下,应该在加上4B的802.1Q的Tag,即应该<1522B;在MPLS VPN环境中,IGP标签和VPN标签各是4B,所以,作为中间环节的交换机如果不支持Jumbo帧的话,就需要手工配置MTU=1500+N*4(N为MPLS Tag层数)。 3. IP地址,地址范围 4. ARP协议作用

IP数据包常通过以太网发送。以太网设备并不识别32位IP地址:它们是以48位以太网地址传输以太网数据包的。因此,IP驱动器必须把IP目的地址转换成以太网网目的地址。在这两种地址之间存在着某种静态的或算法的映射,常常需要查看一张表。地址解析协议(Address Resolution Protocol,ARP)就是用来确定这些映象的协议。

ARP工作时,送出一个含有所希望的IP地址的以太网广播数据包。目的地主机,或另一个代表该主机的系统,以一个含有IP和以太网地址对的数据包作为应答。发送者将这个地址对高速缓存起来,以节约不必要的ARP通信。

如果有一个不被信任的节点对本地网络具有写访问许可权,那么也会有某种风险。这样一台机器可以发布虚假的ARP报文并将所有通信都转向它自己,然后它就可以扮演某些机器,或者顺便对数据流进行简单的修改。ARP机制常常是自动起作用的。在特别安全的网络上, ARP映射可以用固件,并且具有自动抑制协议达到防止干扰的目的。

- 8 -

搜索更多关于: 海康笔试题目及部分答案 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

初始化数组 char msg[10]; memcpy(msg,0,sizeof(memcpy)); 方法2: 写一个内存拷贝函数 // 考虑重叠的状况 void* _memcpy(void* dest, void* src, int len) { if(!dest || !src || !len || dest == src) return dest; char* pdest = static_cast(dest); char* psrc = static_cast(src); // dest 在 src + len 范围内 if(pdes

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com