- 相關(guān)推薦
淘寶招聘筆試題目
一、單選題
1、我們有很多瓶無(wú)色的液體,其中有一瓶是毒藥,其它都是蒸餾水,實(shí)驗的小白鼠喝了以后會(huì )在5 分鐘后死亡,而喝到蒸餾水的小白鼠則一切正!,F在有5 只小白鼠,請問(wèn)一下,我們用這五只小白鼠,5 分鐘的時(shí)間,能夠檢測多少瓶液體的成分(d) a 5 瓶 b 6 c 31 d 32
2、若某鏈表最常用的操作是在最后一個(gè)結點(diǎn)之后插入一個(gè)結點(diǎn)和刪除最后一個(gè)結點(diǎn),則采用(c)存儲方式最節省時(shí)間?
A 單鏈表 B 帶頭結點(diǎn)的非循環(huán)雙鏈表 C 帶頭節點(diǎn)的雙循環(huán)鏈表 D 循環(huán)鏈表
3、如果需要對磁盤(pán)上的1000W條記錄構建索引,你認為下面哪種數據結構來(lái)存儲索引最合適?(B)
A Hash Table B. AVL-Tree C. B-Tree D. List
一個(gè)B-tree 的典型例子就是硬盤(pán)中的結點(diǎn)。與內存相比,硬盤(pán)必須花成倍的時(shí)間來(lái)存取一個(gè)數據元素,這是因為硬盤(pán)的機械部件讀寫(xiě)數據的速度遠遠趕不上純電子媒體的內存。與一個(gè)結點(diǎn)兩個(gè)分支的二元樹(shù)相比,B-tree 利用多個(gè)分支(稱(chēng)為子樹(shù))的結點(diǎn),減少獲取記錄時(shí)所經(jīng)歷的結點(diǎn)數,從而達到節省存取時(shí)間的目的。
4、可用來(lái)檢測一個(gè)web 服務(wù)器是否正常工作的命令是(B)
A ping B tracert C. telnet D. ftp
5、下面哪個(gè)操作是Windows 獨有的I/O 技術(shù)(D)
A. Select B.Poll C.IOCP D. Epoll
6、IPV6 地址包含了(D)位
A. 16 B. 32 C. 64 D.128
7、數據庫里建索引常用的數據結構是(D)
A 鏈表 B 隊列 C 樹(shù) D 哈希表
8、在公司局域網(wǎng)上ping www.taobao.com沒(méi)有涉及到的網(wǎng)絡(luò )協(xié)議是(A)
A. ARP B. DNS C. TCP D. ICMP
二、填空題
1、http 屬于(超文本傳輸)協(xié)議,ICMP 屬于(Internet 控制報文協(xié)議)協(xié)議
2、深度為k 的完全二叉樹(shù)至少有(2^(k-1)+1)個(gè)結點(diǎn),至多有(2^k-1)個(gè)結點(diǎn)
3、字節為6 位的二進(jìn)制有符號整數,其最小值是(-15)
4、設有28 盞燈,擬公用一個(gè)電源,則至少需有4 插頭的接線(xiàn)板數(9)個(gè)。
三、綜合題
1、有一顆結構如下的樹(shù),對其做鏡像反轉后如下,請寫(xiě)出能實(shí)現該功能的代碼。注意:請勿對該樹(shù)做任何假設,它不一定是平衡樹(shù),也不一定有序。
1 1
/ | \ / | \
2 3 4 4 3 2
/|\ /\ | | / \ / | \
6 5 7 8 9 10 10 9 8 7 5 6
2、假設某個(gè)網(wǎng)站每天有超過(guò)10 億次的頁(yè)面訪(fǎng)問(wèn)量,出于安全考慮,網(wǎng)站會(huì )記錄訪(fǎng)問(wèn)客戶(hù)端訪(fǎng)問(wèn)的ip 地址和對應的時(shí)間,如果現在已經(jīng)記錄了1000 億條數據,想統計一個(gè)指定時(shí)間段內的區域 ip 地址訪(fǎng)問(wèn)量,那么這些數據應該按照何種方式來(lái)組織,才能盡快滿(mǎn)足上面的統計需求呢,設計完方案后,并指出該方案的優(yōu)缺點(diǎn),比如在什么情況下,可能會(huì )非常慢? 答:
四、附加題
1、寫(xiě)出C 語(yǔ)言的地址對齊宏 ALIGN(PALGNBYTES),其中 P 是要對齊的地址, ALIGNBYTES 是要對齊的字節數(2 的N 次方),比如說(shuō):ALIGN(13,16)=16
答:
ALIGN(P,ALIGNBYTES) \
( (void*)( ((unsigned long)P+ALIGNBYTES-1)&(ALIGNBYTES-1) ) )
2、在高性能服務(wù)器的代碼中經(jīng)常會(huì )看到類(lèi)似這樣的代碼:
typedef union
{
erts_smp_rwmtx_t rwmtx;
byte cache_line_align_[ERTS_ALC_CACHE_LINE_ALIGN_SIZE(sizeof(erts_smp_rwmtx_t))];
}erts_meta_main_tab_lock_t; erts_meta_main_tab_lock_t main_tab_lock[16];
請問(wèn)其中用來(lái)填充的cache_line_align 的作用是? 利用union 的特性,看到cache_line_align 的大小已經(jīng)擴展到sizeof(erts_smp_rwmtx_t) 向上對齊了,這樣尋址都是 sizeof(long) 的倍數地址上,尋址快,有利于下邊數組 erts_meta_main_tab_lock_t main_tab_lock[16]; 的訪(fǎng)問(wèn)速度。
3、在現代web 服務(wù)系統的設計中,為了減輕源站的壓力,通常采用分布式緩存技術(shù),其原理如下圖所示,前端的分配器將針對不同內容的用戶(hù)請求分配給不同的緩存服務(wù)器向用戶(hù)提供服務(wù)。
分配器
/ | \
緩存 緩存 ...緩存
服務(wù)器1 服務(wù)器2 ...服務(wù)器n
1)請問(wèn)如何設置分配策略,可以保證充分利用每個(gè)緩存服務(wù)器的存儲空間(每個(gè)內容只在一個(gè)緩存服務(wù)器有副本)
2)當部分緩存服務(wù)器故障,或是因為系統擴容,導致緩存服務(wù)器的數量動(dòng)態(tài)減少或增加時(shí),你的分配策略是否可以保證較小的緩存文件重分配的開(kāi)銷(xiāo),如果不能,如何改進(jìn)?
3)當各個(gè)緩存服務(wù)器的存儲空間存在差異時(shí)(如有 4 個(gè)緩存服務(wù)器,存儲空間比為 4:9: 15:7),如何改進(jìn)你的策略,按照如上的比例將內容調度到緩存服務(wù)器?
求樹(shù)中兩個(gè)節點(diǎn)的公共祖先,樹(shù)的結點(diǎn)的數量很大,要求用效率越高越好。
TREE* CommonFather(TREE *root, TREE *A, TREE *B)
{
if(root == NULL)
return root; if(root == A)//如果找到A,則后面的都不再找了,如果其他分支沒(méi)找到B,則B 必定在 A 下面
return A;
if(root == B)//同上
return B;
TREE *leftChild == NULL;
TREE *rightChild == NULL;
leftChild = CommonFather(root->left, A, B);//返回A,B 或結果
rightChild = CommonFather(root->right, A, B);//返回A,B 或結果
if(leftChild != NULL && rightChild != NULL)//如果都不為空,則必定一個(gè)是A,一個(gè)是B;
return root;
if(leftChild != NULL)//如果不為空,則必定是A 或B 或結果;
return leftChild;
if(rightChild != NULL)
return rightChild;//如果不為空,則必定是A 或B 或結果;
}
【淘寶招聘筆試題目】相關(guān)文章:
護士招聘筆試題目及答案09-22
人人校園招聘筆試題目11-08
醫院護士招聘筆試題目08-21
2016淘寶產(chǎn)品經(jīng)理筆試題目08-20
教師招聘筆試題目12-11
人力資源招聘筆試題目07-06
輔導員招聘筆試題目11-04
工商銀行招聘筆試題目12-09
甲骨文招聘筆試題目分享11-21
唯品會(huì )校園招聘筆試題目02-21