创新工场软件开发工程师笔试真题.pdfVIP

  • 0
  • 0
  • 约3.78千字
  • 约 9页
  • 2026-02-15 发布于北京
  • 举报

2013创新【软件开发工程师】笔试

2015-08-27Katrina

时间:2012年9月27日

地点:鼎好10层

考试时长:1小时

一、选择题

1、求z的结果

[cpp]viewincopyprint?#defineN3

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

解答:48

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

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

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

的执行序列

C、线程执行开销小,但是不利于和保护

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

解答:D

3、

[cpp]viewincopyprint?structs{intx:3;inty:4;inty:5;doublea;

}

求sizeof(s)

解答:20或者24;和平台有关。

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]viewincopyprint?#typedefchar(*func)(int,char*)

解答:定义了一个函数指针的数据类型;该数据类型可以用来定义函数指针;定

义的函数指针指向的函数的参数为[cpp]viewincopyprint?(int,char*)返

回值为char型。

3、求输出结果[cpp]viewincopyprint?

inta[2][2][3]={{{1,2,3},{4,5,6}},{{7,8,9},{10,11,12}}};int*ptr=(int*)(a+1);

printf(r=(int*)(a+1);(a+1),*(ptr-1));

解答:127

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

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

组。

4、求输出结果

[cpp]viewincopyprint?

#includeiostream

usingnamespacestd;

classA

{

public:

virtualvoidprint()

{coutA::print()endl;}

};

classB:publicA

{

public:

virtualvoidprint()

{coutB::print()endl;}

};

classC:publicA

{

public:

virtualvoidprint()

{coutC::print()endl;}

};

voidprint(Aa)

{

a.print();

}

voidmain()

{

Aa,*aa,*ab,*ac;

Bb;

文档评论(0)

1亿VIP精品文档

相关文档