1. 程式人生 > >阿裏巴巴2015研發

阿裏巴巴2015研發

並且 告訴 sdn -cp 圖書館 如果 距離 world! 最快

1 0~999999之間的所有數字中,任何一位都不包括數字1的數字總數為多少
99999
262144
381041
524288
531441
900000

9的6次方 因為是0-999999 排列組合計算

2 以下關於STL的描述中,____是錯的。
STL容器是線程不安全的
當容量不夠時,vector內部內存擴展方式是翻倍
std::sort是穩定排序
std::bitset不是一個STL容器
std::stack默認是用deque實現的
std::string中可以存儲多個’\0’字符

3 一臺剛剛接入互聯網的WEB服務器第一次被訪問到時,不同協議的發生順序是下面中的____。
ARP -> DNS -> HTTP
ARP -> HTTP -> DNS
DNS -> HTTP -> ARP
DNS -> ARP -> HTTP
HTTP -> ARP -> DNS
HTTP -> DNS -> ARP
1、當你給WEB服務器接上網線的時候,它會自動發送一條ARP信息,使得接入網關能找的到它;
網關上會形成一條類似:2c 96 1e 3c 3e 9b - 192.168.1.123的MAC地址到IP地址的映射記錄。

2、當第一個用戶使用域名訪問WEB服務器的時候,首先要進行一次DNS查詢,以確定該域名的IP地址,

3、用戶通過IP地址,經過多個網絡節點,訪問到目標的服務器。

4 設定數列{an}的前n項和為Sn,現在已知此數列滿足an+Sn=10-7/2^n,那麽an的通項公式是____。
2^n/4 + 4
-0.75n + 4
(2.5n+3)/ 2^n
(3n+2)/ 2^n
(3.5n+3)/ 2^n
-5/2^n + 4

5 以下程序輸出是____。

[cpp] view plain copy
  1. #include <iostream>
  2. using namespace std;
  3. int main(void)
  4. {
  5. const int a = 10;
  6. int * p = (int *)(&a);
  7. *p = 20;
  8. cout<<"a = "<<a<<", *p = "<<*p<<endl;
  9. return 0;
  10. }

編譯階段報錯運行階段報錯
a = 10, *p = 10
a = 20, *p = 20
a = 10, *p = 20
a = 20, *p = 10

因為a 和p都指向相同的內存地址,所以輸出的前兩個結果是相同的,但為啥相同的內存裏的結果不相同麽?--這就是常量折疊.

這個"常量折疊"是 就是在編譯器進行語法分析的時候,將常量表達式計算求值,並用求得的值來替換表達式,放入常量表。可以算作一種編譯優化。

因為編譯器在優化的過程中,會把碰見的const全部以內容替換掉(跟宏似的: #define pi 3.1415,用到pi時就用3.1415代替), 這個出現在預編譯階段;但是在運行階段,它的內存裏存的東西確實改變了!!! 簡單的說就是,當編譯器處理const的時候,編譯器會將其變成一個立即數。


6 設x、y、t均為int型變量,則執行語句:t=3; x=y=2; t=x++||++y; 後,變量t和y的值分別為____。
t=1 y=2
t=1 y=3
t=2 y=2
t=2 y=3
t=3 y=2
t=3 y=3


7 給定一個整數sum,從有N個有序元素的數組中尋找元素a、b,使得 a+b 的結果最接近sum,最快的平均時間復雜度是____。
O(N^2)
O(log N)
O(N)
O(N^3)
O(NLogN)
不確定

8 一個具有513個節點的二叉樹,有___種可能的層高。
513
512
504
503
2
1

設根節點高度為0,當為完全二叉樹的時候,此時樹的高度最小為log513=9,

而非完全二叉樹的最大高度為512,因此可能的高度為512-9+1=504;


9 A,B,C三位同學都是很聰明的同學,面試官給他們背上依次貼上了數字2,4,8,他們都能看見別人的數字但無法看見自己的數字,現在面試官告訴他們這些數字都是自然數並且構成一個等比數列,讓A、B、C同學依次循環回答是否確定自己的數字是多少,每位同學的回答算作一次,經過____次有同學能準確說出自己的數字。
2
3
4
5
6
7

10 用十進制計算30!(30的階乘),將結果轉換成3進制進行表示的話,該進制下的結果末尾會有____個0。
6
8
10
12
14
16

11 假設某棵二叉查找樹的所有鍵均為1到10的整數,現在我們要查找5。下面____不可能是鍵的檢查序列。
10,9,8,7,6,5
2,8,6,3,7,4,5
1,2,9,3,8,7,4,6,5
2,3,10,4,8,5
4,9,8,7,5
以上均正確

12 將整數序列(7-2-4-6-3-1-5)按所示順序構建一棵二叉排序樹a(亦稱二叉搜索樹),之後將整數8按照二叉排序樹規則插入樹a中,請問插入之後的樹a中序遍歷結果是____。
1-2-3-4-5-6-7-8
7-2-1-4-3-6-5-8
1-3-5-2-4-6-7-8
1-3-5-6-4-2-8-7
7-2-8-1-4-3-6-5
5-6-3-4-1-2-7-8


13 作為特使,你需要組織A/B兩國元首相約在杭州蕭山機場交換一份重要文件(假設交換文件不需要時間)。約定兩國飛機在晚上的20點至24點這4個小時會面,A國的飛機如果到了,會等待1個小時,B國的飛機如果到了,會等待2個小時,如果假設兩架飛機在這段時間內降落機場的概率是均勻分布的,那麽能順利完成交換的概率是____。
19/32
7/16
9/16
5/16
5/12
5/8

20<x<24 20<y<24 0<x-y<1 0<y-x<2


14 小趙和小錢二人分別從寢室和圖書館同時出發,相向而行。過了一段時間後二人在中途相遇,小趙繼續向圖書館前進,此時:若小錢繼續向寢室前進,則當小趙到達圖書館時,小錢離寢室還有600米;若小錢立即折返向圖書館前進,則當小趙到達圖書館是,小錢離圖書館還有150米。那麽圖書館與寢室間的距離是____。
1300m
1250m
800m
1050m
1100m
900m

15 對於下面的說法,正確的是____。
對於 struct X { short s; int i; char c; },sizeof(X) 的值等於 sizeof(s) + sizeof(i) + sizeof(c)
對於某個double變量 a,可以使用 a == 0.0 來判斷其是否為零
初始化方式 char a[14] = "Hello, world!"; 和初始化方式 char a[14]; a = "Hello, world!"; 的效果相同
在gcc編譯器下,對於 int i = 3; printf("%d %d", ++i, ++i),運行輸出為:4 5
選項A、B、C、D中至少有兩個是正確的
以上選項均不正確

16 一張1024×640分辨率的圖片,假定每個像素用16位色彩表示,用位圖文件(bitmap)格式存儲,則這張圖片文件需要占用多大的存儲空間____。
40KB
640KB
1280KB
2560KB
5120KB
10240KB

17 在64位系統下,分別定義如下兩個變量:char *p[10]; char(*p1)[10];請問,sizeof(p)和sizeof (p1)分別值為____。
4,40
80,8
10,10
8,80
40,4
4,4
char *p[10]是指針數組,即這個數組中有10個元素,裏面放的都是指針. 這樣寫可能更容易分辨 char* p[10];這個數組中存放10個 char* 類型的指針,p是數組名 sizeof(p) = 8*10=80
char(*p1)[10] 這個是 數組指針,即一個指針p1 指向char[10]這個數組,所以sizeof(p1) = 8;

18 某程序員開發出了一款超級智能機器人,能對任何提問給出“是”或者“不是”的答案。現有3個這種機器人,其中有數量不定的(0到3個)機器人發生了故障。如果正常機器人總是給出正確的答案,而故障機器人總是給出錯誤的答案。每一回合只能問任意一個機器人任意一個問題,那麽至少需要____回合才能確保區分出哪些機器人是正常,哪些是故障。
1
2
3
4
5
6

19
如下SQL語句中,____可能返回null值。
(1) select count(*) from t1;
(2) select max(col1) from t1;
(3) select concat(‘max=‘,max(col1)) from t1;
(1)可能,(2)和(3)不可能
(2)可能,(1)和(3)不可能
(2)可能,(1)和(3)不可能
(1)不可能,(2)和(3)可能
都不可能
都可能

20 以下使用了貪心算法的是____。
KMP算法
希爾排序算法
冒泡排序算法
Dijkstra算法
快速排序算法
Floyd算法

阿裏巴巴2015研發