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