2013年海康威视校园招聘笔试题

海康威视校招C++岗面经(笔试+一面+二面+三面+Offer) 前言   海康的提前批挺早的,8月份就开始了,尽管海康本身口碑不怎么好,但是海康研究院貌似还不错,听说提前批会大概率进海康研究院,所以网申了海康提前批,岗位是C++研发岗,结果秒拒了,效率还挺高,后来听师兄讲,海康研究院应该只要某些985,像我这种双211渣硕,简历都过不了……   然后是9月份的正式秋招,总体来说,海康的整体难度不是很高,实验室的小伙伴几乎都拿到海康的Offer了,2019校招的... 阅读详情
1、10、10、4、4四个数,怎么算出24点?
(10*10-4)/4=24
2、下列表达式在32位机器编译环境下的值()
class A
{
};

class B
{
public:
	B();
	virtual ~B();
};

class C
{
private:
#pragma pack(4)
	int i;
	short j;
	float k;
	char l[64];
	long m;
	char *p;
#pragma pack()
};

class D
{
private:
#pragma pack(1)
	int i;
	short j;
	float k;
	char l[64];
	long m;
	char *p;
#pragma pack()
};

int main(void)
{
	printf("%d\n",sizeof(A));
	printf("%d\n",sizeof(B));
	printf("%d\n",sizeof(C));
	printf("%d\n",sizeof(D));
	return 0;
}
A、1、4、84、82      B、4、4、82、84      C、4、4、84、82      D、1、4、82、82
3、以下程序在32位机器下运行的结果是()
#pragma pack(4)
struct info_t
{
	unsigned char version;
	unsigned char padding;
	unsigned char extension;
	unsigned char count;
	unsigned char marker;
	unsigned char payload;
	unsigned short sequence;
	unsigned int timestamp;
	unsigned int ssrc;
};

union info_u
{
	unsigned char version;
	unsigned char padding;
	unsigned char extension;
	unsigned char count;
	unsigned char marker;
	unsigned char payload;
	unsigned short sequence;
	unsigned int timestamp;
	unsigned int ssrc;
};
#pragma pack()

int main(void)
{
	printf("%d\n",sizeof(info_t));
	printf("%d\n",sizeof(info_u));
	return 0;
}
A、12  12      B、12  4       C、16  4   D、16  12     E、16  1
4、以下表达式result的值是()
#define VAL1(a,b) a*b
#define VAL2(a,b) a/b--
#define VAL3(a,b) ++a%b

int a = 1;
int b = 2;
int c = 3;
int d = 3;
int e = 5;

int result = VAL2(a,b)/VAL1(e,b)+VAL3(c,d);
A、-2     B、1     C、0     D、2
5、请写出以下程序的输出(5分)
void swap_1(int a , int b)
{
	int c;
	c = a;
	a = b;
	b = c;
	return ;
}
void swap_2(int &a , int &b)
{
	int c;
	c = a;
	a = b;
	b = c;
	return ;
}
void swap_3(int *a , int *b)
{
	int c;
	c = *a;
	*a = *b;
	*b = c;
	return ;
}

int main(void)
{
	int a = 100;
	int b = 200;
	swap_1(a , b);
	printf("a = %d , b = %d\n",a , b);
	swap_2(a , b);
	printf("a = %d , b = %d\n",a , b);
	swap_3(&a , &b);
	printf("a = %d , b = %d\n",a , b);
	return 0;
}
输出结果:
a = 100 , b = 200
a = 200 , b = 100
a = 100 , b = 200
6、下面的程序是否有问题,如有问题,请重构代码(5分)
void test_type(bool b , const char *p , float f)
{
	if(!b)
	{
		return ;
	}
	else if(!p)
	{
		return ;
	}
	else if(!f)
	{
		return ;
	}
}
修改如下:
void test_type(bool b , const char *p , float f)
{
	if(!b)
	{
		return ;
	}
	else if(!p)
	{
		return ;
	}
	else if(f > -1e-10 && f < 1e-10)
	{
		return ;
	}
}
7、请指出以下程序有什么问题(5分)
void test_mem()
{
	char *p = new char[64];
	delete p;
	p = NULL;
	return ;
}
应该修改为 delete[]p;  p指向的是一个字符型的数组空间,原来的代码只是简单的释放了指向申请空间的指针,并没有释放申请的空间,容易造成内存崩溃。
回收用 new 分配的单个对象的内存空间的时候用 delete,回收用 new[] 分配的一组对象的内存空间的时候用 delete[]。
8、以下程序有什么问题,请指出。
char* GetMem()
{
	char p[] = "hello";
	return p;
}

void test_get_mem()
{
	char *p = GetMem();
	printf(p);
	return ;
}
GetMem函数中的p是一个在栈上的局部变量,当函数运行结束的时候,栈上的内容会自动释放的,此处返回的值有可能会成为一个野指针,会出现一个意想不到的结果。
9、请写出strcpy 和 memcpy 的区别(5分)
答:strcpy和memcpy都是标准C库函数,它们有下面的特点。
strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。
strcpy函数的原型是:char* strcpy(char* dest, const char* src);
memcpy提供了一般内存的复制。即memcpy对于需要复制的内容没有限制,因此用途更广。
memcpy函数的原型是:void *memcpy( void *dest, const void *src, size_t count );
strcpy和memcpy主要有以下3方面的区别。
1、复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。
2、复制的方法不同。strcpy不需要指定长度,它遇到被复制字符的串结束符"\0"才结束,所以容易溢出。memcpy则是根据其第3个参数决定复制的长度。
3、用途不同。通常在复制字符串时用strcpy,而需要复制其他类型数据时则一般用memcpy。

10、请写出以下程序的输出结果

class Base
{
public:
	Base()
	{
		printf("I am Base()\n");
	}
	virtual ~Base()
	{
		printf("I am ~Base()\n");
	}
public:
	virtual void SayHello()
	{
		printf("Hello Base\n");
	}
	void SayWorld()
	{
		printf("World Base\n");
	}
};
class Derived : public Base
{
public:
	Derived()
	{
		printf("I am Derived()\n");
	}
	virtual ~Derived()
	{
		printf("I am ~Derived()\n");
	}
public:
	void SayHello();
	void SayWorld();
};

void Derived::SayHello()
{
	printf("Hello Derived\n");
}
void Derived::SayWorld()
{
	printf("World Derived\n");
}

int main(void)
{
	Base *b1 = new Base;
	Base *b2 = new Derived;
	Derived *d = new Derived;

	b1->SayHello();
	b1->SayWorld();

	b2->SayHello();
	b2->SayWorld();

	d->SayHello();
	d->SayWorld();

	delete d;
	delete b2;
	delete b1;

	d= NULL;
	b2 = NULL;
	b1 = NULL;

	return 0;
}
输出结果:
I am Base()
I am Base()
I am Derived()
I am Base()
I am Derived()
Hello Base
World Base
Hello Derived
World Base
Hello Derived
World Derived
I am ~Derived()
I am ~Base()
I am ~Derived()
I am ~Base()
I am ~Base()


11、阅读以下程序并给出执行结果
class Bclass
{
public:
	Bclass(int i , int j)
	{
		x = i;
		y = j;
	}
	virtual int fun()
	{
		return 0;
	}
protected:
	int x , y;
};

class lclass : public Bclass
{
public:
	lclass(int i , int j , int k) : Bclass(i , j)
	{
		z = k;
	}
	int fun()
	{
		return (x+y+z)/3;
	}
private:
	int z;
};
int main(void)
{
	lclass obj(2,4,10);
	Bclass p1 = obj;
	cout<<p1.fun()<<endl;

	Bclass &p2 = obj;
	cout<<p2.fun()<<endl;
	cout<<p2.Bclass::fun()<<endl;

	Bclass *p3 = &obj;
	cout<<p3->fun()<<endl;

	return 0;
}
输出结果:
0
5
0
5
12、如何减少频繁分配内存(malloc或者new)造成的内存碎片?(10分)


13、请写出strchr的实现(10分)
函数功能:找出在字符串str中第一次出现字符ch的位置,找到就返回该字符位置的指针(也就是返回该字符在字符串中的地址的位置),找不到就返回空指针(就是NULL)
const char* strchr(const char* str , char ch)
const char* strchr(const char* str , char ch)
{
	char *p = NULL;
	const char* s = str;
	for( ; *s != '\0' ; ++s)
	{
		if(*s == ch)
		{
			p = (char *)s;
			break;
		}
	}
	return p;
}
14、请写出冒泡排序法算法(20分)
void BubbleSort(int r[] , int n);
void BubbleSort(int r[] , int n)
{
	int i , j , temp;
	for(i = 0 ; i < n - 1 ; ++i)
	{
		for(j = 0 ; j < n-i-1 ; ++j)
		{
			if(r[j] > r[j + 1])
			{
				temp = r[j];
				r[j] = r[j + 1];
				r[j + 1] = temp;
			}
		}
	}
}






2013.3海康威视校招笔试题 经过个人整理 2013.3海康威视在杭州的校招笔试题及答案 立即下载

相关推荐

海康威视模式识别笔试题

海康威视模式识别笔试题

海康威视超新星笔试题目

海康威视超新星C语言题目

ikun 1577

海康威视往年硬件笔试题

海康威视往年硬件笔试题,网上找的,现在基本网上也可以找到,稍微整理了一下,仅作参考,基本就是一些模电数电的题目,各位童鞋,加油,求职顺利~~

海康威视 2024届实习生 应用软件开发工程师 Java 在线笔试

笔试过程中需要打开摄像头和共享屏幕,并且,代码编写就是在一个类似于记事本的文本输入框中写代码…没有提示,没有高亮,啥也没有…18道选择题(十几道)

guliguliguliguli的博客 2204

海康威视笔试视音频算法笔试题

不骗人,整理的一套试卷的全部题目~2017年哒

海康威视笔试题

笔试资料,用于软件测试工程师或者开发工程师的参考应用。

2017海康威视秋招笔试编程题——C/C++开发

一、输入一个用户名、密码,判断密码强度。 分四类: 1. 强度0:密码长度小于8|用户名与密码相同|用户名与密码相反 2. 强度1:密码长度大于8&密码只包含数字与小写字母组合或数字与大写字母组合 3. 强度2:密码长度大于8&密码除只包含数字与小写字母组合或数字与大写字母组合 4. 强度3:密码长度大于8&密码组合有超过三类 密码可由:数字、小写字母、大写字母、特殊字符组成。

Hankins的博客 1万+

Vue项目实战:海康WebControl插件从安装到预览功能全流程(附RSA加密避坑指南)

本文详细介绍了在Vue项目中集成海康威视WebControl插件的全流程,从环境准备、插件部署到核心功能实现。重点解析了使用JS_RequestInterface获取RSA公钥并进行加密参数初始化的关键步骤与常见避坑指南,帮助开发者高效完成监控视频预览功能的开发与调试。

linux6sysadmin的博客 1227

[转]2013年海康威视校园招聘笔试题

1、10、10、4、4四个数,怎么算出24点? (10*10-4)/4=24 2、下列表达式在32位机器编译环境下的值() class A   {   };      class B   {   public:       B();       virtual ~B();   };      class C   {   priva

安源 876

Index-TTS-1.5:多模态语音合成的技术演进与商业落地实践

本文深入探讨了Index-TTS-1.5在多模态语音合成领域的技术演进与商业落地。该模型基于GPT风格的自回归Transformer架构,通过优化条件编码器和引入字符-拼音混合建模,显著提升了语音生成的稳定性、精准度和真实感,实现了高质量的零样本语音克隆。文章还详细介绍了其云端体验、本地WebUI部署及ComfyUI集成等实战路径,并分析了其在虚拟数字人、个性化内容创作等商业场景中的应用潜力与挑战。

weixin_29098367的博客 402

GEO芯片数据下载和探针ID转换(保姆级教程)

R语言安装、GEO芯片数据下载、探针ID转换

qq_43138237的博客 3万+

IT公司面试题汇总(转载)

主要列一些好的面试题博客

Kylin_Fung的专栏 601

gmsv源代码c语言,石器时代ABLua的原理、简介、过程、运用、收发

操作原理(一)服务端:服务器源文件客户端:客户所操作的程序(既是游戏客户端)接口:既是某项功能(例如:鼠标点击,文字发送,战斗,观战,人物动作等)返回的值ABlua:在源代码中添加的整套引擎作为回调接口--lua所实现的功能是基于服务端源码添加的接口由该接口与客户端发送封包实现功能源码里是否有ABlua回调接口?例如:源码里的gmsv/battle.c文件(既是战斗回调文件)以下为简单描述C给予l...

weixin_35223575的博客 2410

面试题

2013年海康威视校园招聘笔试题 1、10、10、4、4四个数,怎么算出24点? (10*10-4)/4=24 2、下列表达式在32位机器编译环境下的值() [cpp] view plaincopy class A   {   };    

Lydia的博客 902

JS+H5打字练习器

实现功能 1.导入.TXT文件到打字练习内容(部分浏览器可能出于安全问题限制了这一步操作) 2.输入文本到打字练习内(弹出输入框,将要练习的内容输入至输入框) 3. 开始练习,并根据正误在打字练习内容文本上修改颜色(某个字正确显示绿色,某个字错误,显示红色,某个字没有打显示灰色) 4.开始练习、结束练习,全部输入完成后自动结束练习,也可提前手动结束练习,结束练习后弹窗用显示时和正确率。(区别在于一个全部输入完成且全部正确,一个提前结束无其他条件) 效果图 分析 HTML 结构解析 根元素:<!DO

w11111xxxl的博客 1414

【系统架构设计师】预测试卷四:综合知识(75道选择题)

本文整理系统架构设计师考试高频考点,涵盖计算机系统基础、计算机网络、数据库、软件工程与UML四大模块,共28道典型题目。重点解析Cache局部性原理、RISC/CISC区别、TCP三次握手、B+树索引优势、CAP定理、螺旋模型特点等核心概念,并标注易错选项,帮助考生快速掌握解题思路。 关键词:系统架构、Cache、RISC、TCP、B+树、CAP定理、螺旋模型

数据知道的博客 546

海康威视2014校园招聘C++笔试题

void fun(int a,int* b,int& c,int*& d) { a=0; *b=2; c=3; *d=4; } int _tmain(int argc, _TCHAR* argv[]) { int a=0; int* b=&a; int& c=a; int*& d=b; fun(a,b,c,d); cout<<a<<" "<<*b<<" "<<c<<" "<<

彦祖老师 4535

使用 Python 爬虫抓取 IMDb 电影信息 - 评分、评论与基本信息抓取教程

本文介绍了如何使用 Python 爬虫技术抓取 IMDb 电影评分、评论和基本信息。我们分别展示了通过IMDb API和两种方法抓取数据,并进行了数据存储、分析与可视化。在未来,我们还可以基于这些数据开发电影推荐系统、情感分析工具等,进一步丰富电影数据的应用场景。通过这些实践,您不仅学会了如何抓取和存储数据,还可以通过这些基础来构建自己的数据分析应用,获取更丰富的电影数据。

2201_76125261的博客 601

公司笔试题

2013年海康威视校园招聘笔试题   2013年海康威视校园招聘笔试题 分类: 剑指Offer2013-01-07 11:41 12239人阅读 评论(12) 收藏 举报 1、10、10、4、4四个数,怎么算出24点? (10*10-4)/4=24 2、下列表达式在32位机器编译环境下的值() [cpp] view plaincopy

wtm 577

Dify 第 19 篇 手把手教你开发 Dify 插件:从零实现一个时间工具

本文介绍了Dify平台的插件开发机制和流程。Dify支持多种插件类型,包括模型、工具、数据源等,可通过CLI工具快速开发插件。文章详细讲解了如何安装Dify CLI工具,并演示了从零开发一个获取系统时间插件的完整过程,包括项目初始化、文件解读和打包部署。通过该教程,开发者可以快速掌握Dify插件开发的核心要点,实现自定义功能扩展。

甘蓝的专栏 2451

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

找工作(二)

海康威视2014校园招聘C++笔试题:http://blog.youkuaiyun.com/hxz_qlh/article/details/15668031 第二题考察多重继承中的虚基类及子对象的构造函数、析构函数调用顺序。在构造函数中,首先调用虚基类的构造函数(直接或间接),再 按继承顺序调用构造函数。析构函数正好相反。 2013年海康威视校园招聘笔试题http://blog.csdn....

weixin_30724853的博客 87

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

上一篇: Hulu 2013北京地区校招笔试题
下一篇: 2013年完美世界校园招聘笔试题
hackbuteer1
博客等级 码龄15年 1万+粉丝 251原创
评论 13
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值