范文无忧网面试笔试笔试回答

创新工场2013年校园招聘笔试试题

12月15日 编辑 fanwen51.com

[工商银行2014校园招聘笔试经验]考完出来就在朋友圈声讨工行今次太不人道了!!!!后来坐车人都浑浑噩噩的,直到吃个饱饭后才来上网,看到网友戏称诺鑫银行突然很无奈笑了。 先说说整个考试的流程。提前来到考场,...+阅读

一, 选择题

1,求z的结果

[cpp] view plaincopyprint?

#define N 3

#define Y(n) ((N+1)*n)

z = 2*(N+Y(5+1));

#define N 3

#define Y(n) ((N+1)*n)

z = 2*(N+Y(5+1));

解答:48

2,有关多线程,多进程的描述错误的是

A, 子进程获得父进程的数据空间,堆和栈的复制品

B, 线程可以与同进程的其他线程共享数据,但是它拥有自己的栈空间且拥有独立的执行序列

C, 线程执行开销小,但是不利于资源管理和保护

D, 进程适合在SMP机器上进行,而线程则可以跨机器迁移

解答:D

3,

[cpp] view plaincopyprint?

struct s

{ int x:3;

int y:4;

int z:5;

double a;

}

struct s

{ int x:3;

int y:4;

int z:5;

double a;

}

求sizeof(s)

解答:

16

:是取位的作用,前三个变量是为两个字节,最后double变量是8个字节,

结构体以8字节对齐,则为16字节。

4,序列{2,1,4,9,8,10,6,20}是某排序算法第二轮排序的结果,则该算法只能是

A快速排序 B冒泡排序

C选择排序 D插入排序

解答:A

5,我们需要监听一个事件状态,让它在状态发生改变时主动发出通知,请问需要哪种设计模式?

A装饰者模式 B建造者模式

C创新工场模式 D观察者模式

解答:D

6,有2012瓶矿泉水,其中有一瓶有毒,请问需要多少只老鼠才能一次性找到有毒的矿泉水?

解答:11只

二, 问答题

1, 有0-n这n+1个数,但是其中丢了一个数,请问如何找出丢了哪个数?

解答:

求这n个数的sum,然后计算n(n+1)/2-sum可得。

2, 解释

[cpp] view plaincopyprint?

#typedef char (*func)(int,char*)

#typedef char (*func)(int,char*)

解答:

定义了一个函数指针的数据类型;

该数据类型可以用来定义函数指针;

定义的函数指针指向的函数的参数为

[cpp] view plaincopyprint?

(int,char*)

(int,char*)

返回值为char型。

3, 求输出结果

[cpp] view plaincopyprint?

int a[2][2][3]= { {{1,2,3},{4,5,6}},{{7,8,9},{10,11,12}}};

int *ptr=(int *)(a+1);

printf(%d %d, *(int*)(a+1), *(ptr-1));

int a[2][2][3]= { {{1,2,3},{4,5,6}},{{7,8,9},{10,11,12}}};

int *ptr=(int *)(a+1);

printf(%d %d, *(int*)(a+1), *(ptr-1));

解答:

7 12 (已修定)

考察多级指针,一定要明确指针指向的是什么,才能知道它加1后跳过了多少字节。

a是个四级指针,指向的是a这样的数组,所以它加1,就会跳过整个数组。

4,求输出结果

[cpp] view plaincopyprint?

#include

using namespace std;

class A

{

public:

virtual void print()

{ cout A::print()

};

class B: public A

{

public:

virtual void print()

{ cout B::print()

};

class C: public A

{

public:

virtual void print()

{ cout C::print()

};

void print(A a)

{

a.print();

}

void main()

{

A a,*aa,*ab,*ac;

B b;

C c;

aa=a;

ab=b;

ac=c;

a.print();

b.print();

c.print();

aa-print();

ab-print();

ac-print();

print(a);

print(b);

print(c);

}

#include

using namespace std;

class A

{

public:

virtual void print()

{ cout A::print()

};

class B: public A

{

public:

virtual void print()

{ cout B::print()

};

class C: public A

{

public:

virtual void print()

{ cout C::print()

};

void print(A a)

{

a.print();

}

void main()

{

A a,*aa,*ab,*ac;

B b;

C c;

aa=a;

ab=b;

ac=c;

a.print();

b.print();

c.print();

aa-print();

ab-print();

ac-print();

print(a);

print(b);

print(c);

}

解答:

A::print();

B::print();

C::print();

A::print();

B::print();

C::print();

A::print();

A::print();

A::print();

三,算法编程题

1,有1分,2分,5分,10分四种硬币,每种硬币数量无限,给定n分钱,求有多少种组合可以组合成n分钱?

解答:

思路:

①,四层循环

②,使用回溯法在空间中搜索

代码为思路2:

[cpp] view plaincopyprint?

chuangxingongchan.cpp : 定义控制台应用程序的入口点。

#include stdafx.h

#include

#include

using namespace std;

int count=0;

int Target=0;

int coin[4]={1,2,5,10};

int total=0;

vector solution;

void dfs(int index)

{

if( total == Target )

{

count++;

cout count : ;

for( int i=0; i(int)solution.size(); i++)

{

cout solution[i] ;

}

cout endl;

return;

}

if( total Target )

return;

for( int i=index; i4; i++)

{

total += coin[i];

solution.push_back( coin[i] );

dfs(i);

solution.pop_back();

total -=coin[i];

}

}

int _tmain(int argc, _TCHAR* ar[])

{

while(1)

{

count=0;

cin Target;

dfs(0);

cout count

}

return 0;

}

chuangxingongchan.cpp : 定义控制台应用程序的入口点。

#include stdafx.h

#include

#include

using namespace std;

int count=0;

int Target=0;

int coin[4]={1,2,5,10};

int total=0;

vector solution;

void dfs(int index)

{

if( total == Target )

{

count++;

cout count : ;

for( int i=0; i(int)solution.size(); i++)

{

cout solution[i] ;

}

cout endl;

return;

}

if( total Target )

return;

for( int i=index; i4; i++)

{

total += coin[i];

solution.push_back( coin[i] );

dfs(i);

solution.pop_back();

total -=coin[i];

}

}

int _tmain(int argc, _TCHAR* ar[])

{

while(1)

{

count=0;

cin Target;

dfs(0);

cout count

}

return 0;

}

2,马戏团里有个叠罗汉的表演,为了便于美观,下面的人身高和体重都要大于上面的人。现在知道n个演员的身高和体重,请问最多能叠多少层?

解答:

思路:

首先生成一个有向图,用连接矩阵的方式来表示。

map[i][j]==1表示第i个人上面可以放第j个人。

然后开始对每个人进行深度搜索,这个图中不可能有环。

所以对于每个人来说就是一棵树,搜索树的高度。

再找出最高的高度即是答案。

[cpp] view plaincopyprint?

#include stdafx.h

#include

#include

#include

#include

using namespace std;

int N=0;

double *weight;

double *height;

int **map;

int maxDepth=0;

vector bestPath;

int dfs( int index, vector path )

{

int flag=0;

int depth = 0;

vector bestPath;

for( int i=0; i

{

if( map[index][i] != 0)

{

flag = 1;

vector tPath;

int t = dfs(i, tPath);

if( t depth )

{

path = tPath;

depth = t;

}

}

}

if( flag==0 )

{

path.clear();

path.push_back(index);

return 1;

}

else

{

path = bestPath;

path.push_back(index);

return depth+1;

}

}

void CreateMap()

{

map = new int*[N];

for( int i=0; i

{

map[i] = new int [N];

memset( map[i], 0, N*sizeof(int) );

}

for( int i=0; i

{

for( int j=0; j

{

if( weight[j]

map[i][j]=1;

}

}

}

void CreateData()

{

ofstream out( in.txt );

int N = 30;

out N

for( int i=0; i

out rand() ;

out endl;

for( int i=0; i

out rand() ;

}

int main()

{

CreateData();

freopen( in.txt, r, stdin );

cout Please input N:

cin N;

height = new double[N];

weight = new double[N];

for( int i=0; i

cin height[i];

for( int i=0; i

cin weight[i];

CreateMap();

int depth=0;

for(int i=0; i

{

vector tPath;

int t=dfs(i,tPath);

if( tdepth )

{

bestPath = tPath;

depth = t;

}

}

cout depth

for( int i=0; i(int)bestPath.size(); i++)

{

cout height[bestPath[i]] weight[bestPath[i]]

}

return 0;

}

延伸阅读:

2015大众点评网校园招聘笔试题目1、有10个文件,每个文件1G,每个文件的每一行存放的都是用户的query,每个文件的query都可能重复。要求你按照query的频度排序。 hash映射: 1、顺序读取10个文件,按照hash(query)%1...

校园招聘面试技巧其次,进入人才市场或招聘会的时间宜早不宜晚,以免错失机会。但与用人单位的交谈不必太早。进入人才市场或招聘会后,最好是先尽快地将全场浏览一遍,确定几个重点,安排好主次,再去交...

校园招聘会上必胜求职5大绝招摘要:招聘会是让你锻炼如何向招聘经理展示自我的绝佳平台,下面有几条建议让你在校招上表现得更好。 The No. 1 way to make a career fair work for you is to make sure you...

2015年阿里巴巴校园招聘笔试题目笔试时间为2014年8月29日,均为网上答题。第一部分为单选题,共20题,要在40分钟内完成。每个人的选择题都不一样,应该是后台有题库,每个人的试卷都是随机生成的。第二部分为附加题,...

2014年中国银行校园招聘笔试经验分享先说说整个考试的流程。提前来到考场,等待,排队,检查证件,拍照,输入准考证,再等待;笔试一共是三部分:情境能力综合测试,主观情境工作能力,性格测试; 第一部分120分钟120题,假设诺鑫银...

百度2014校园招聘技术研发笔试题目我非985,非211,二本专业一枚,有幸获得度娘的照顾,有个笔试机会,当然抱着重在参与的心态,把所有题目copy回来了。说来惭愧,做的不好,给需要的同学参考参考吧。 一、简答题 1.静态链...

农业银行2014年校园招聘笔试经验已经连续参加两个银行的校园招聘考试了,两个银行都是裸考的,目前来看希望很渺茫了,为能找到其他其他工作来这里攒攒RP~~打问号的是我不太确定,欢迎大家前来补充2014年中国农业银...

中行2015校园招聘笔试经验我2014年11月1日下午1点30到4点30参加了中国银行2015校招笔试,上午在仙林南邮参加江苏电信笔试,2个小时的时间内赶到了江宁南医参加了中行的考试。以下是考试内容和时间段,都是...

建设银行校园招聘面试技巧(1)出色的个人素质 这一点上,要求你和他们交谈的时候,充分显示你的个人素质和良好的可塑性;同时,更重要的一点是,让他们觉得你是一个可信的人,这点很重要。 (2)较好的表达能力 有...

推荐阅读
图文推荐
栏目列表