2021年阿里巴巴研發類崗位面試題

小編:管理員 556閱讀 2021.06.11

第1題:


不算main這個進程自身,到底創建了多少個進程?



int main(int argc, char* argv[])

{

   fork();

   fork() && fork() || fork();

   fork();

}

    

 18
 19
 20
 21




B


第2題:


在一個童話世界里,任意兩個人之間要么是朋友關系,要么是敵人關系,不存在其他關系及沒有關系的情況。并且,如果A和B是朋友關系,B和C是朋友關系,那么A和C必然是朋友關系。那么關于這個童話世界中的人群的說法錯誤的是:______?

 可能只有1個人群,這個人群內部是朋友關系。
 可能有2個人群,人群內部是朋友關系,人群之間是敵人關系。
 可能有3個及以上個人群,人群內部是朋友關系,人群之間是敵人關系。
 如果存在多個人群,并且人群內部是朋友關系,人群之間是敵人關系,那么這些人群必然是差不多大小的。




D


第3題:


下面的函數哪個是系統調用而不是庫函數()?

 printf
 scanf
 fgetc
 read
 print_s
 scan_s




D


第4題:


一條很長的河,河水的流速是1m/s,一個皮劃艇逆流滑行的速度是2m/s。某一刻皮劃艇運動員發現丟失了一只漂流瓶,然后調頭順流以相同的節奏劃船,經過半小時后發現了漂流瓶。請問船調頭時距離漂流瓶多遠()?

 5400m
 3600m
 7200m
 1800m
 9000m
 無法判斷




A


第5題:


某二維平面上有12個位置不同的點,通過連接其中任意兩點,可以畫出59條不同的直線。那么,在59條直線中,經過3個或3個以上的點的直線有()條。

 0
 1
 2
 3
 5
 7




C


第6題:


某航空公司有M個城市之間的全連通運營線路,最近業務擴張,新增了N(>1)個城市。為了保持其全連通運營的特色,公司新增了58種單程票(往與返各算一種單程票,沒有聯程票);那么擴張后,該航空公司有()個城市間的運營能力。

 13
 14
 15
 16
 17
 18




D


第7題:


下列不屬于hash碰撞解決方法的是()。

 線性探測
 單旋轉法
 二次探測
 拉鏈法
 雙重散列
 多重散列




B


第8題:


針對外部存儲器(如磁盤)上存放的程序和數據,說法正確的是()。

 可由CPU直接進行讀取寫入操作
 須在CPU訪問之前移入內存
 必須由文件系統管理的
 必須由進程調度程序管理
 程序和數據必須為只讀
 程序和數據只能被一個進程獨占




B


第9題:


在32位操作系統中,下列類型占用8個字符的為()。

 short int
 int C long
 unsigned int
 long long
 char
 int




D


第10題:


村長帶著4對父子參加爸爸去哪兒第三季第二站某村莊的拍攝。村里為了保護小孩不被拐走有個前年的規矩,那就是吃飯時候小孩左右只能是其他小孩或自己的父母,那么4對父子在圓桌上共有多少種坐法。(旋轉一下,每個人面對方向變更后算是一種新的坐法)

 144
 240
 288
 480
 576
 960




D


第11題:


已知一個二叉樹的前序遍歷結果是(ACDEFHGB) ,中序遍歷結果是(DECAHFBG),請問后續遍歷結果是()。

 HGFEDCBA
 EDCHBGFA
 BGFHEDCA
 EDCBGHFA
 BEGHDFCA
 BGHFEDCA




B


第12題:


并發進程執行的相對速度是()。

 由進程的程序結構決定
 由進程本身來控制
 進程被創建時決定
 與進程度策略有關
 與進程銷毀時間有關
 由內存分配策略決定




D


第13題:


有兩個32bit的數A、B,使用下面方式得到32bit的數C、D。哪一種可以使用C、D得到A、B的值?

 C=(int32)(A+B),D=(int32)(A-B)
 C=(int32)(A+B),D=(int32)((A-B)>>1)
 C=(int32)(A+B),D=B
 C=(int32)(A+B),D=(int32)(A+2*B)
 C=(int32)(A*B),D=(int32)(A/B)
 都不可以,可能溢出




C


第14題:


在一個單鏈表中,q的前一個節點為p,刪除q所指向節點,則執行()。

 delete q
 q->next=p->nerx;delete p;
 p-next=q->next;delete p;
 p->next=q->next;delete q;
 delete p;
 q->next=p->next;delete q




D


第15題:


關于引用以下說法錯誤的是()。

 引用必須初始化,指針不必
 引用初始化以后不能被改變,指針可以改變所指的對象
 不存在指向空值的引用,但是存在指向空值的指針
 一個引用可以看作是某個變量的一個“別名”
 引用傳值,指針傳地址
 函數參數可以聲明為引用或指針類型




E


第16題:


下列關于線程調度的敘述中,錯誤的是()。

 調用線程的sleep()方法,可以使比當前線程優先級低的線程獲得運行機會
 調用線程的yeild()方法,只會使與當前線程相同優先級的線程獲得運行機會
 當有比當前線程的優先級高的線程出現時,高優先級線程將搶占CPU并運行
 一個線程由于某些原因進入阻塞狀態,會放棄CPU
 具有相同優先級的多個線程的調度一定是分時的
 分時調度模型是讓所有線程輪流獲得CPU使用權




BE


第17題:


[問答題]

題目描述

天貓雙十一有個積分換墨盒的活動,總共有50萬臺天貓魔盒(box),每個用戶(user)可以用99個天貓積分(point)兌換一臺魔盒,且每人限換一臺。 請設計一套java接口并實現下單(order)邏輯。 參考(但不局限于)下面的下單邏輯: 
1、創建訂單  
2、扣減用戶積分 
3、扣減魔盒庫存 
4、下單成功 
同時請回答:  
1、數據庫表結構如何設計,有哪些表,分別有什么作用? 
2、下單過程中哪些地方可能成為瓶頸?如何解決或改善?  
3、是否會用到數據庫事務,哪些地方會用到?如果不用數據庫事務,如何保證數據的一致性?



第18題:


[問答題]

題目描述

A公司打算搭建一個Android App下載的Web站點,計劃將目前常見的手機APP都放到這個網站上提供下載。因為業務開展初期下載量很小,技術部門就用了1臺服務器,給服務器配置了一個公網IP對外進行服務。隨著銷售部門的推廣到位,用戶量和下載量呈指數級上載,要求技術部門馬上進行改造。如果你是技術部門經理,你會怎么改造這個站點,以滿足高負載的需求。
提示:短時間修改網站的代碼不現實,其他方面的各種改造建議都可以,建議越多越好。




主要用到重定向的方法

1.HTTP重定向

增加N臺內部服務器,組成一個局域網,將APP復制N份放到內部服務器中,原來的服務器作為與因特網通信的接口。當原服務器收到客戶端請求后,服務器選擇一個負載最小的內部服務器,將客戶端的請求重定向到該服務器

2.DNS重定向

原服務器IP對應的域名解析到多個IP,用DNS輪轉法選擇合適的IP

3.IP地址轉發

另外還可以進行代理的重定向

關聯標簽: