2021年阿里巴巴校招真實(shí)面試題

小編:管理員 3946閱讀 2021.06.11

第1題:


我們有很多瓶無(wú)色的液體,其中有一瓶是毒藥,其它都是蒸餾水,實(shí)驗的小白鼠喝了以后會(huì )在5分鐘后死亡,而喝到蒸餾水的小白鼠則一切正!,F在有5只小白鼠,請問(wèn)一下,我們用這五只小白鼠,5分鐘的時(shí)間,能夠檢測多少瓶液體的成分()
A、5瓶? ? ? ? ? ? ? ?B、6瓶? ? ? ? ? ? ? ? ? ?C、31瓶? ? ? ? ? ? ? ? ? ? ? D、32瓶


第2題:


若某鏈表最常用的操作是在最后一個(gè)結點(diǎn)之后插入一個(gè)結點(diǎn)和刪除最后一個(gè)結點(diǎn),則采用()存儲方式最節省時(shí)間?
A、單鏈表? ? ? ? ? ? ? B、帶頭結點(diǎn)的非循環(huán)雙鏈表? ? ? ? ? ? ? ? ?

C、帶頭節點(diǎn)的雙循環(huán)鏈表? ? ? ? ? ? D、循環(huán)鏈表


第3題:


如果需要對磁盤(pán)上的1000W條記錄構建索引,你認為下面哪種數據結構來(lái)存儲索引最合適?()
A、Hash Table? ? ? ? ? ? ? ? B、AVL-Tree? ? ? ? ? ? ? ??C、B-Tree? ? ? ? ? ? ?D、List


第4題:


可用來(lái)檢測一個(gè)web服務(wù)器是否正常工作的命令是()
A、ping? ? ? ? ? ? ? ? B、tracert? ? ? ? ? ? ? ? ? ?C、telnet? ? ? ? ? ? ? ? ? ?D、ftp


第5題:


下面哪個(gè)操作是Windows獨有的I/O技術(shù)()
A、Select? ? ? ? ? ? ? ? ? ?B、Poll? ? ? ? ? ? ? ? ? ? ??C、IOCP? ? ? ? ? ? ? ? ? ? ? D、Epoll


第6題:


IPV6地址包含了()位
A、16? ? ? ? ? ? ? ? ? ? ? B、32? ? ? ? ? ? ? ? ? ? ? ?C、64? ? ? ? ? ? ? ? ? ? ?D、128


第7題:


數據庫里建索引常用的數據結構是()
A、鏈表? ? ? ? ? ? ? ? ? B、隊列? ? ? ? ? ? ? ? ?C、樹(shù)? ? ? ? ? ? ? ? ? ? ?D、哈希表


第8題:


在公司局域網(wǎng)上ping?www.taobao.com沒(méi)有涉及到的網(wǎng)絡(luò )協(xié)議是()
A、ARP? ? ? ? ? ? ? ? ? ?B、DNS? ? ? ? ? ? ? ? ? ? ??C、TCP? ? ? ? ? ? ? ? ? D、ICMP


第9題:


http屬于()協(xié)議,ICMP屬于()協(xié)議。



應用層,網(wǎng)絡(luò )層


第10題:


深度為k的完全二叉樹(shù)至少有()個(gè)結點(diǎn),至多有()個(gè)結點(diǎn)。



2^(k-1),2^k-1


第11題:


字節為6位的二進(jìn)制有符號整數,其最小值是()。



-32


第12題:


設有28盞燈,擬公用一個(gè)電源,則至少需有4插頭的接線(xiàn)板數()個(gè)。



9


第13題:


有一顆結構如下的樹(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



以孩子、兄弟的存儲結構來(lái)存儲這棵樹(shù),使之成為一顆二叉樹(shù),然后對二叉樹(shù)進(jìn)行鏈表的轉換。

view plain

typedef struct TreeNode?

{?

? ? int data;?

? ? struct TreeNode *firstchild;?

? ? struct TreeNode *nextsibling;?

}TreeNode,*Tree;?

?

void MirrorTree(Tree root)?

{?

? ? if(!root)?

? ? ? ?return ;?

? ? if(root->firstchild)?

? ? {?

? ? ? ?Tree p=root->firstchild;?

? ? ? ?Tree cur=p->nextsibling;?

? ? ? ?p->nextsibling=NULL;?

? ? ? ?while(cur)?

? ? ? ?{?

? ? ? ? ?Tree curnext=cur->nextsibling;?

? ? ? ? ?cur->nextsibling=p;?

? ? ? ? ?if(p->firstchild)?

? ? ? ? ? ? MirrorTree(p);?

? ? ? ? ?p=cur;?

? ? ? ? ?cur=curnext;?

? ? ? ?}?

? ? ? ?root->firstchild=p;?

? ? }?

}?

?

int main(void)?

{?

? ? TreeNode *root=(TreeNode *)malloc(sizeof(TreeNode));?

? ? Init();?

? ? MirrorTree(root);?

? ? OutPut();?

}?



第14題:


假設某個(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ì )非常慢?



用B+樹(shù)來(lái)組織,非葉子節點(diǎn)存儲(某個(gè)時(shí)間點(diǎn),頁(yè)面訪(fǎng)問(wèn)量),葉子節點(diǎn)是訪(fǎng)問(wèn)的IP地址。這個(gè)方案的優(yōu)點(diǎn)是查詢(xún)某個(gè)時(shí)間段內的IP訪(fǎng)問(wèn)量很快,但是要統計某個(gè)IP的訪(fǎng)問(wèn)次數或是上次訪(fǎng)問(wèn)時(shí)間就不得不遍歷整個(gè)樹(shù)的葉子節點(diǎn)。答:或者可以建立二級索引,分別是時(shí)間和地點(diǎn)來(lái)建立索引。


第15題:


寫(xiě)出C語(yǔ)言的地址對齊宏ALIGN(PALGNBYTES),其中P是要對齊的地址,ALIGNBYTES是要對齊的字節數(2的N次方),比如說(shuō):ALIGN(13,16)=16


第16題:


在高性能服務(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的作用是?


第17題:


在現代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ù)器?


關(guān)聯(lián)標簽:
91久久香蕉国产线看观看软件|思思热在线视频精品996|精品无码一区二区三区水蜜桃|久久综合无码中文字幕无码|午夜亚洲AⅤ无码高潮片在线