2021年阿里巴巴研發類崗位面試題
- 管理員
- 1767閱讀
- 2021.06.11
不算main這個進程自身,到底創建了多少個進程???
int main(int argc,?char* argv[])
{
???fork();
???fork() && fork() || fork();
???fork();
}
? ??
?18
?19
?20
?21
B
在一個童話世界里,任意兩個人之間要么是朋友關系,要么是敵人關系,不存在其他關系及沒有關系的情況。并且,如果A和B是朋友關系,B和C是朋友關系,那么A和C必然是朋友關系。那么關于這個童話世界中的人群的說法錯誤的是:______?
?可能只有1個人群,這個人群內部是朋友關系。
?可能有2個人群,人群內部是朋友關系,人群之間是敵人關系。
?可能有3個及以上個人群,人群內部是朋友關系,人群之間是敵人關系。
?如果存在多個人群,并且人群內部是朋友關系,人群之間是敵人關系,那么這些人群必然是差不多大小的。
D
下面的函數哪個是系統調用而不是庫函數()?
?printf
?scanf
?fgetc
?read
?print_s
?scan_s
D
一條很長的河,河水的流速是1m/s,一個皮劃艇逆流滑行的速度是2m/s。某一刻皮劃艇運動員發現丟失了一只漂流瓶,然后調頭順流以相同的節奏劃船,經過半小時后發現了漂流瓶。請問船調頭時距離漂流瓶多遠()?
?5400m
?3600m
?7200m
?1800m
?9000m
?無法判斷
A
某二維平面上有12個位置不同的點,通過連接其中任意兩點,可以畫出59條不同的直線。那么,在59條直線中,經過3個或3個以上的點的直線有()條。
?0
?1
?2
?3
?5
?7
C
某航空公司有M個城市之間的全連通運營線路,最近業務擴張,新增了N(>1)個城市。為了保持其全連通運營的特色,公司新增了58種單程票(往與返各算一種單程票,沒有聯程票);那么擴張后,該航空公司有()個城市間的運營能力。
?13
?14
?15
?16
?17
?18
D
下列不屬于hash碰撞解決方法的是()。
?線性探測
?單旋轉法
?二次探測
?拉鏈法
?雙重散列
?多重散列
B
針對外部存儲器(如磁盤)上存放的程序和數據,說法正確的是()。
?可由CPU直接進行讀取寫入操作
?須在CPU訪問之前移入內存
?必須由文件系統管理的
?必須由進程調度程序管理
?程序和數據必須為只讀
?程序和數據只能被一個進程獨占
B
在32位操作系統中,下列類型占用8個字符的為()。
?short int
?int C long
?unsigned int
?long long
?char
?int
D
村長帶著4對父子參加爸爸去哪兒第三季第二站某村莊的拍攝。村里為了保護小孩不被拐走有個前年的規矩,那就是吃飯時候小孩左右只能是其他小孩或自己的父母,那么4對父子在圓桌上共有多少種坐法。(旋轉一下,每個人面對方向變更后算是一種新的坐法)
?144
?240
?288
?480
?576
?960
D
已知一個二叉樹的前序遍歷結果是(ACDEFHGB) ,中序遍歷結果是(DECAHFBG),請問后續遍歷結果是()。
?HGFEDCBA
?EDCHBGFA
?BGFHEDCA
?EDCBGHFA
?BEGHDFCA
?BGHFEDCA
B
并發進程執行的相對速度是()。
?由進程的程序結構決定
?由進程本身來控制
?進程被創建時決定
?與進程度策略有關
?與進程銷毀時間有關
?由內存分配策略決定
D
有兩個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
在一個單鏈表中,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
關于引用以下說法錯誤的是()。
?引用必須初始化,指針不必
?引用初始化以后不能被改變,指針可以改變所指的對象
?不存在指向空值的引用,但是存在指向空值的指針
?一個引用可以看作是某個變量的一個“別名”
?引用傳值,指針傳地址
?函數參數可以聲明為引用或指針類型
E
下列關于線程調度的敘述中,錯誤的是()。
?調用線程的sleep()方法,可以使比當前線程優先級低的線程獲得運行機會
?調用線程的yeild()方法,只會使與當前線程相同優先級的線程獲得運行機會
?當有比當前線程的優先級高的線程出現時,高優先級線程將搶占CPU并運行
?一個線程由于某些原因進入阻塞狀態,會放棄CPU
?具有相同優先級的多個線程的調度一定是分時的
?分時調度模型是讓所有線程輪流獲得CPU使用權
BE
[問答題]
題目描述
天貓雙十一有個積分換墨盒的活動,總共有50萬臺天貓魔盒(box),每個用戶(user)可以用99個天貓積分(point)兌換一臺魔盒,且每人限換一臺。 請設計一套java接口并實現下單(order)邏輯。 參考(但不局限于)下面的下單邏輯:?
1、創建訂單 ?
2、扣減用戶積分?
3、扣減魔盒庫存?
4、下單成功?
同時請回答: ?
1、數據庫表結構如何設計,有哪些表,分別有什么作用??
2、下單過程中哪些地方可能成為瓶頸?如何解決或改善? ?
3、是否會用到數據庫事務,哪些地方會用到?如果不用數據庫事務,如何保證數據的一致性?
[問答題]
題目描述
A公司打算搭建一個Android App下載的Web站點,計劃將目前常見的手機APP都放到這個網站上提供下載。因為業務開展初期下載量很小,技術部門就用了1臺服務器,給服務器配置了一個公網IP對外進行服務。隨著銷售部門的推廣到位,用戶量和下載量呈指數級上載,要求技術部門馬上進行改造。如果你是技術部門經理,你會怎么改造這個站點,以滿足高負載的需求。
提示:短時間修改網站的代碼不現實,其他方面的各種改造建議都可以,建議越多越好。
主要用到重定向的方法
1.HTTP重定向
增加N臺內部服務器,組成一個局域網,將APP復制N份放到內部服務器中,原來的服務器作為與因特網通信的接口。當原服務器收到客戶端請求后,服務器選擇一個負載最小的內部服務器,將客戶端的請求重定向到該服務器
2.DNS重定向
原服務器IP對應的域名解析到多個IP,用DNS輪轉法選擇合適的IP
3.IP地址轉發
另外還可以進行代理的重定向