- 相關推薦
2013創新工場筆試題
時間:2012年9月27日 地點:鼎好大廈10層
考試時長:1小時
一,
選擇題
1,求z的結果
[cpp] view plaincopyprint?
#define N 3
#define Y(n) ((N+1)*n)
z = 2*(N+Y(5+1));
解答:48
2,有關多線程,多進程的描述錯誤的是
A,
子進程獲得父進程的數據空間,堆和棧的復制品
B,
線程可以與同進程的其他線程共享數據,但是它擁有自己的?臻g且擁有獨立的執行序列
C,
線程執行開銷小,但是不利于資源管理和保護
D,
進程適合在SMP機器上進行,而線程則可以跨機器遷移
解答:D
3,
[cpp] view plaincopyprint?
struct s
{ int x:3;
int y:4;
int y:5;
double a;
}
求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] view plaincopyprint?
#typedef char (*func)(int,char*)
解答:
定義了一個函數指針的數據類型;
該數據類型可以用來定義函數指針;
定義的函數指針指向的函數的參數為
[cpp] view plaincopyprint?
(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(r=(int *)(&a+1);(a+1), *(ptr-1));
解答:
12 7
考察多級指針,一定要明確指針指向的是什么,才能知道它加1后跳過了多少字節。
&a是個四級指針,指向的是a這樣的數組,所以它加1,就會跳過整個數組。
4,求輸出結果
[cpp] view plaincopyprint?
#include
using namespace std;
class A
{
public:
virtual void print()
[size=9pt] { cout };
class B: public A
{
public:
virtual void print()
[size=9pt] { cout };
class C: public A
{
public:
virtual void print()
[size=9pt] { cout };
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();
【創新工場筆試題】相關文章:
創新工場現場筆試試題08-10
創新工場筆試題2014年校園招聘08-10
迅雷2011.10.21筆試題08-10
中興2015筆試題08-02
筆經:加強型試題07-22
創新力面試題11-28
海爾04年筆試題及答案07-31
銀行2014筆試題目及經驗分享03-16