閱讀90 返回首頁    go 阿裏雲 go 技術社區[雲棲]


2014迅雷校園招聘筆試題

溫馨提示:客觀題和主觀題得分都要超過一定標準,才能獲得麵試資格,如果一項得分很高,而另外一項得分很低,可能無法獲得麵試資格。

一、單選題(20題,每題2分)

1、有變量int i = 0; int a = i++; int b=++a; int c = a+b; 請問表達式 a?b:c 的值是()
A、0    B、1    C、2    D、3

【解析】 B

int i = 0;
int a = i++; //a = 0
int b = ++a;//b = 1 a = 1
int c = a + b;//a = 1 b = 1 c = 2
int d = a?b:c//a =  1 d = b = 1


2、32位環境下,int *p=new int[10];請問sizeof(p)的值為()

A、4   B、10   C、40   D、8

【解析】A

指針就是一個地址值,在32位係統下,占用4個字節,
用sizeof求枚舉類型的長度,等於一個int型的長度,而與有幾個枚舉值無關.所以a也是占4個字節,


3、有語句char str[] = "abcde";請問表達式sizeof(str)的值是()
A、1  B、4  C、5  D、6

【解析】 D

str數組中包含的元素是abcde\0

注意:

char str[] = "abcde";
strlen(str) = 5
sizeof(str) = 6
char str[10] = "abcde";
strlen(str) = 5
sizeof(str) = 10

4、有函數int func(int i)的實現為()

int func(int i)
{
 if(i > 1)
  return i*func(i-1);
 else
  return 1;
}

請問函數調用f(5)的返回值是多少()
A、5   B、15   C、20   D、120

【解析】D

func(5)

         5*func(4)

                      4*func(3)

                                  3*func(2)

                                               2*func(1)

                                                            1

5*4*3*2*1 = 120


 5、請問以下說法,哪個是正確的()
A、每個類都有一個無參數的構造函數
B、每個類都有一個拷貝構造函數
C、每個類能有多個構造函數
D、每個類能有多個析構函數

【解析】C

每個類隻有一個析構函數和一個賦值函數,但可以有多個構造函數(包含一個拷貝構造函數,其它的稱為普通構造函數)。


6、用class關鍵字定義的類,其成員默認的訪問屬性為()
A、private   

B、protected    

C、public    

D、無定義

【解析】 A

class類中默認是private
struct結構中默認是public


7、類的成員有三種訪問屬性,分別是public、protected、private,子類能夠訪問的成員是()
A、都能訪問
B、public和protected
C、public和private
D、protected和private

【解析】B

public 
公共,加上這個修飾的屬性和方法,可以在程序的任何其它地方訪問 
private 
私有的,和public相反,加上這個修飾的屬性和方法,隻允許在自己本身這個類裏訪問,程序的任何其它地方都不能訪問 
protected 
保護,位於public和private中間,加上這個修飾的屬性和方法,隻能在子類(extends)和同包下的程序訪問,別的的地方不能訪問。


8、請問對一個排好序的數組進行查找,時間複雜度為()
A、O(n) 

B、O(lgn)

C、O(nlgn) 

D、O(1)

【解析】 B


9、以下二叉樹:


後序遍曆的結果是()
A、丙乙丁甲戊己 

B、甲乙丙丁戊己 

C、丙丁乙己戊甲 

D、丙丁己乙戊甲

【解析】 C

後序:左右根     丙丁乙己戊甲

前序:根左右    甲乙丙丁戊己 

中序:左根右    丙乙丁甲戊己 


10、看以下代碼:

A *pa = new A[10];

delete pa;

則類A的構造函數和析構函數分別執行了幾次()

A、1   1          

B、10   10          

C、1   10                

D、10   1

【解析】 D


11、看以下代碼:

class A
{
    public:
	~A();
};
A::~A()
{
	printf("delete A ");
}

class B : public A
{
    public:
	~B();
};
B::~B()
{
	printf("delete B ");
}
請問執行以下代碼
A *pa = new B();
delete pa;
輸出的串是()
A、delete A      

B、delete B        

C、delete B delete A          

D、delete A delete B

【解析】 A



最後更新:2017-04-03 15:22:03

  上一篇:go 四種進程或線程同步互斥的控製方法
  下一篇:go 核心編程筆記9——內核對象的線程同步2