2014阿里巴巴實習生筆試題目

來源:互聯網
上載者:User

一、單選(10×2'+10× 3' ,選錯倒扣1分)

1.假設一個主機ip為192.168.5.121,子網路遮罩為255.255.255.248,則該主機的網路號部分(包括子網號部分)為——

A.192.168.5.12 B 192.168.5.121C 192.168.5.120D 192.168.5.32

參考答案 C

說明:ip和掩碼位與


2.64位系統上,定義的變數int *a[2][3]佔據的——位元組

A 4 B 12  C 24 D 48

參考答案 D

說明:數組記憶體放的都是指標,64為系統,一個指標佔64位,即8個位元組,8*2*3 = 48.

如果這個題目問64位機器中,int a[2][3]佔多少位元組,則答案應該為24,因為不管是32位還是64位,int總是4位元組。


3.Linux中使用df -h/home 和du -sh/home所查看到的已使用的磁碟容量不同,可能的原因是——

A、命令不同,所以結果肯定不同 B、兩個命令參數有問題

C、運行中的進程開啟的檔案被刪除導致 D、Linux的特性導致的

參考答案 C

說明:Linux的東西我也不清楚,別人討論的說是C


4.一個C語言程式在一台32位機器上運行。程式中定義了三個變數xyz,其中x和z是int,y是short。當x = 127,y = -9時,執行賦值語句 z = x + y後 xyz的值分別是——

A、x = 0000007FH,y = FFF9H,z = 00000076H

B、x = 0000007FH,y = FFF9H,z = FFFF0076H

C、x = 0000007FH,y = FFF7H,z = FFFF0076H

D、x = 0000007FH,y = FFF7H,z = 00000076H

參考答案 D


5.有如下數組定義,int [ ][ ] myArray = new int[3][ ] = { new int [3]{5,6,2},

  new int [5]{6,9,7,8,3},

  new int [2]{3,2}};

則,myArray[2][2]的值是——

A、9 B、2  C、6 D、越界

參考答案 D


6.快速排序的期望已耗用時間複雜度是——

A、O(n^2) B、O(nlogn)C、O(n)D、O(2^n)

參考答案 B


7.在一個長度為n的順序表中刪除第i個元素,要移動——個,如果在第i前插入一個元素,則後移——個

A、n-i,n-i+1 B、n-i+1,n-i,C、n-i,n-i,D、n-i+1,n-i+1

參考答案 A


8.下面C++程式的輸出是 ——

void f(char *x)
{
x++;
*x = 'a';
}


int main()
{
char str[sizeof("hello")];
strcpy(str, "hello");
f(str);
cout << str;
return 0;
}

A、hello B、halloC、alloD、以上都不是

參考答案 B


9.有以下程式,其執行結果是___

char fun(char x, char y)

{

if(x) return y;

}

int main()

{

int a = '0', b = '1', c = '2';

printf("%c\n", fun(fun(a,b), fun(b,c)));

}

A、函數調用出錯 B、2C、0D、1

參考答案 B

說明:a = ‘0’不是0


10.當n = 6時,下列函數的返回值是——

int foo(int n)

{

if(n <= 2)

return n;

return foo(n-1) +foo(n-2);

}

A、1 B、8  C、13、 D、21

參考答案 C

說明:斐波那契


11.在一台主流配置的PC機上,調用f(35)所需要的時間大概是——

int f(int x)

{

int s = 0;

while(x-->0) s+=f(x);

return max(s, 1);

}

A、幾毫秒 B、幾秒  C、幾分鐘 D、幾小時

參考答案 D

說明:計算結果是2^35,程式跑了很多次遞迴。具體執行過程一時說不清楚。。。


12.在一棵度為4的樹T中,若有20個度為4的結點,10個度為3的結點,1個度為2的結點,10個度為1的結點,則樹T的葉子結點個數是——

A、41 B、82  C、113 D、122

參考答案 B

說明:總度數即為總邊數,總度數 + 1 = 總結點數,設有n個葉子結點,則有 20 * 4 + 10 * 3 + 1 * 2 + 10 * 1 + 1 = 20 + 10 + 1 + 10 + n

得到n = 82


13.有堆棧S,按順序ABCD進棧,則出棧順序不可能存在的是——

A、DCBA B、BACDC、BADCD、CABD

參考答案 D

說明:水題,沒什麼解釋的。


14.使用二分尋找在有序數組a[n]中尋找一個元素x的時間複雜度——

A、O(n) B、O(n^2)C、O(logn)D、O(nlogn)

參考答案 C


15.中標出了每條公路上最大的流量,請問,從S到T最大的流量是——

A、46 B、 47  C、54 D、77


參考答案 A

說明:考的是最大流演算法,我類比了下,找不到比46大的了。


16.一天,有位年輕人來到張老闆店花80元買了件原價160元的紀念品。這件礼物成本65元。結賬時,年輕人掏出100元,張老闆當時沒有零錢,就用那100元向隔壁店家換了零錢,找給年輕人20.但是隔壁店家後來發現那100是假錢,張老闆無奈還了100元。那麼張老闆在這次交易中損失了多少錢——

A、65 B、85  C、100 D、185

參考答案 B

說明:以年輕人的角度想,給了一張假錢,價值為0,得到了65元的衣服,和找回的20元,總共獲利85元;以隔壁店家角度想,自己雖然得到一張假錢,但是後來張老闆又補回來了,不進不出;以張老闆的角度想,衣服給出去了,又把零錢找給別人了,共虧了85.


17.2^100 mod 7 = _

A、2 B、3  C、4 D、5

參考答案 A

說明:原式 = (2^10mod 7)^10 mod 7


18.某公司在華東和華南兩大地區開展業務,年底匯總業績的時候發現,兩大地區的月度客戶轉化率(=成為會員的客戶數/ 訪問店鋪的客戶數)分別提高了10%和5%。以下描述中正確的是——

A、儘管個子的月度轉化率都有提高,但公司的整體月度轉化率仍可能降低

B、市場對業務認可程度提高,越來越多訪問店鋪的客戶成為會員

C、華東區的客戶更容易被轉化,該公司應該把業務重點放在這個地區

D、華南區的客戶更需要提高轉化,該公司應該把業務重點放在這個地區

說明:這個題目我也不會做,瞎蒙了個B。。。等待其他更準確的答案。。。


19.一次又8個人蔘加的網球比賽,根據選手實力。分別編號1——8,1號實力最強,而實力差距小於等於2才有可能爆冷。8人進行1/4決賽,勝出的4人繼續半決賽,直到產生冠軍。問有可能獲得冠軍的編號最大的選手是——

A、4 B、6  C、7 D、8

參考答案 B

說明:想給7找機會的,實在找不到。


20.某國家非常重男輕女,若一戶人家生了一個女孩,便再要一個,直到生下男孩為止。假設生男生女機率相等,問平均每戶有幾個女孩

A、 0.5 B、2/3C、1D、4/3

參考答案 C

說明:兩種思路,直接根據機率公式計算求期望,不過算起來可能比較麻煩。第二種思路是,在這裡是沒有人工幹預的,生男生女的機率又是相等的,說明每家都會有一個男孩,則平均每家也可以有一個女孩。


二、不定向選擇題(完全正確5分,漏選2分,不選0分,多選錯選-2分)

21.以下有關C語言的說法中,錯誤的是——

A、記憶體泄露一般是指程式申請了一塊記憶體,使用完後,沒有及時將這塊記憶體釋放,從而導致程式佔用大量記憶體。

B、無法通過malloc(size_t)函數調用申請超過該機器實體記憶體大小的記憶體塊。

C、無法通過記憶體釋放函數free(void*)直接將某塊已經使用完的實體記憶體直接還給作業系統

D、可以通過記憶體配置函數malloc(size_t)直接申請實體記憶體

我的答案 BCD

說明:這個題目我還真拿不準。。。如果你有更好的答案和解釋,請指教。


22.下面關於二叉搜尋樹的正確說法包括——

A、待刪除結點左子樹和右子樹時,只能使用左子樹的最大值結點替換待刪除結點。

B、給定一棵二叉搜尋樹的前序和後序結果,無法確定這棵二叉樹

C、給定一棵二叉搜尋樹,根據節點值大小排序所需時間複雜度是線性

D、給定一棵二叉搜尋樹,可以線上性時間複雜度內轉化為平衡二叉搜尋樹

我的答案 CD

說明:同樣拿不準。。。⊙﹏⊙b汗同請指教


23.被稱為中國雨人的周瑋,僅僅使用1分鐘的時間就可以對16位元字開14次方。那麼,以下數字鐘,不可能成為其候選答案的是——

A、11.0 B、12.0C、13.0D、14.0E、15.0

參考答案 ADE

說明:我沒什麼好方法。。。AE是蒙的,D可以試探以下。。。不過後來我根據電腦算,答案也是ADE


24.有3個包,每個包裡各放了兩個球。包A裡的球都是白色的,包B裡的球都是黑色的,包C裡的球一黑一白。現隨機取一個包,並從中隨機取一個球。發現該球是白色的。那麼這個包裡剩下的球也是白色的機率是——

A、0 B、0.33  C、0.5 D、0.66  E、1

參考答案 D

說明:首先包B排除了,A裡的白球編號為1白和2白。現在類比取球過程,有3種情況,A包1白2白,A包2白1白,C包先白後黑。可知剩下的球也是白色的機率為2/3.


三、填空與問答


25.某電子眼睛解析度640*360;(省略一段廢話)。藍芽4.0最大頻寬24Mbps,請問能否通過該技術將每秒50幀真彩(24bit)畫面傳輸至它的螢幕。如果是,請說明原因,如果否,說明理論上大約多久才能傳送一幀。

參考答案:不能,大約0.23秒傳一幀。


26.將N條長度為M的有序鏈表進行合并,合并以後的鏈表也保持有序,時間複雜度為——

我寫的答案是O(m*n*logn),室友寫的答案是O(m*n)。室友說服不了我,我也說服不了他。。。搞暈了。。。


27.ABCD四人要在夜裡過橋,分別耗時1、2、5、10分鐘,只有一個手電筒,並且同時最多兩人一起過。請安排方案讓四人都過,用時最短,給出方案。

參考答案:17

說明:1、2先過,2留下1回來,5、10再過,2回來,1、2再過。


28.下列代碼是實現有序整數數組的二分尋找,請指出其中的bug。

int binary_search(int *array, int length, int key)
{
int start = 0, end = length - 1;
while (end > start)
{
int middle = (start + end) / 2;
int tmp = array[middle];
if (tmp < key)
start = middle;
else if (tmp > key)
end = middle;
else
return middle;
}
return -1;
}

說明:這種題目bug好找,不好描述啊。。。


29.跳躍鏈表,略啦~

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.