1.針對以下代碼损拢,const char str1[]=”abc”;
const char str2[]=”abc”;
const char *p1=”abc”;
const char *p2=”abc”;
判斷下列說法哪個是正確的侵续。str1和str2地址不同朽砰,p1和p2地址相同
答:const char str1[] = "abc";const char str2[] = "abc";
這是在棧上分配的 從高地址到低地址分配 當(dāng)然不相等
const char *p1 = "abc";const char *p2 = "abc";
這兩個指針指向的是同一地址悲立,編譯器認(rèn)為p1指向的“abc”和p2指向的“abc”是屬于同一常量。
2.以下說法錯誤的是:
a.引用必須被初始化档冬,指針不必
b.引用初始化以后不能被改變膘茎,指針可以改變所指的對象
c.不存在指向空值的引用,但是存在指向空值的指針
d.一個引用可以看作是某個變量的一個別名
e.引用傳值酷誓,指針傳地址(錯披坏,引用也是傳地址)
f.函數(shù)參數(shù)可以聲明為引用或指針類型
答:變量是一個內(nèi)存空間的名字。引用是一個變量的別名盐数,它共享另一個變量的內(nèi)存空間棒拂,指針本身是一個變量,可以通過它來索引另一個內(nèi)存空間的內(nèi)容玫氢。引用不可以改變指向帚屉,但是指針可以改變指向谜诫。引用的大小是所指變量的大小,指針則是本身的大小涮阔,4個字節(jié)猜绣。
3.以下說法錯誤的是:
{
unsigned int temp = i;
temp = (temp & 0x55555555) + ((temp & 0xaaaaaaaa)>>1);
temp = (temp & 0x33333333) + ((temp & 0xcccccccc)>>2);
temp = (temp & 0x0f0f0f0f) + ((temp & 0xf0f0f0f0)>>4);
temp = (temp & 0xff00ff) + ((temp & 0xff00ff00)>>8);
temp = (temp & 0xffff) + ((temp & 0xffff0000)>>16);
return temp;
}
請問func(0x1f530828)的返回值是?
答:12(不是很懂~~~)
4.一條很長的河灰殴,河水的流速是1m/s敬特,一個皮劃艇逆流滑行的速度是2m/s,某一刻皮劃艇運動員發(fā)現(xiàn)丟失了一只漂流瓶牺陶,然后調(diào)頭順流以相同的節(jié)奏劃船伟阔,經(jīng)過半小時后發(fā)現(xiàn)了漂流瓶。請問船調(diào)頭時距離漂流瓶多遠掰伸?
答:5400m皱炉。
方法1:逆流滑行速度為2m/s,說明靜水速度為3m/s狮鸭,順?biāo)俣葹?m/s合搅,列方程即可。
方法2:將河作為參考系(則河靜止)歧蕉,皮劃艇只需原路返回灾部,即33060=5400
5.中關(guān)村電子城某賣手機的店鋪給客人報價,如果按照底價500元(成本價)報出惯退,那么客人就一定會選擇在該店鋪購買赌髓,價格每增加1元,客人流失的可能性增加1%催跪,那么該店鋪給客人報出的最優(yōu)價格是锁蠕?
答:550元。
單價500+x懊蒸,人數(shù)N(1-x%)荣倾,求利潤即Nx*(1-x%)最大,N為正整數(shù)骑丸,顯然x=50時最優(yōu)。
6.通過算法生成的隨機數(shù)是“偽隨機”的抡笼,也就是說推姻,在設(shè)定好第一個數(shù)之后框沟,后面的數(shù)字的序列是確定的增炭,并且經(jīng)過一個非常大的循環(huán)會回到第一個數(shù)的狀態(tài)隙姿,然后周而復(fù)始输玷。顯然靡馁,搖號臭墨、抽獎的程序是不能通過偽隨機數(shù)來實現(xiàn)的。現(xiàn)實中常秤任螅基于某種熱噪聲來實現(xiàn)真正的隨機數(shù)损晤。假定某熱噪聲是標(biāo)準(zhǔn)正態(tài)分布掺冠,那么能否將它轉(zhuǎn)換成(0,1)區(qū)間上的均勻分布?
A.忽略測量和計算誤差斥黑,可以轉(zhuǎn)換為(0,1)區(qū)間上的均勻分布锌奴。
B.無法轉(zhuǎn)換為(0,1)區(qū)間上的均勻分布
C.信息不足憾股,無法判斷
D.借助偽隨機數(shù)生成算法可以轉(zhuǎn)換為(0,1)區(qū)間上的均勻分布
E.僅僅靠偽隨機數(shù)生成算法服球,就可以生成(0,1)區(qū)間上的均勻分布
F.以上說法都不對
答:生成兩個獨立的正太分布變量Z0,Z1,然后arctan(z0/z1)/(2pi)+0.5,可以生成0-1均勻分布的變量,已經(jīng)通過程序驗證往枣。
7.12321能被寫成0種兩個質(zhì)數(shù)相加的形式分冈。
答:12321為奇數(shù),奇數(shù)=奇數(shù)+偶數(shù)集乔,兩個質(zhì)數(shù)則偶數(shù)只能為2扰路,奇數(shù)為12319,12319=97*127肠牲,顯然不是質(zhì)數(shù)靴跛,故不能寫成兩個質(zhì)數(shù)相加的形式。
8.用6塊12的完整瓷磚肥印,鋪滿26的地面深碱,一共有藏畅?種不同的鋪法(不允許將瓷磚劃分成小塊)
答:13種愉阎。
方法1:6=1+1+1+1+1+1=2+1+1+1+1=2+2+1+1=2+2+2
上面四種類型,每一種鋪法個數(shù)關(guān)鍵看2放置的位置幽七,第一種只有1種澡屡,第2種有5種咐旧,第3種有6種,第4種有1種室埋,故共計1+5+6+1=13種鋪法词顾。
方法2:斐波那契數(shù)列
最后一列為1有dp(n-1)種方法,最后一列為2有dp(n-2)種方法昔驱,故dp(n)=dp(n-1)+dp(n-2)骤肛,已知此處dp(1)=1窍蓝,dp(2)=2,則dp(6)=13淑玫。
9.有4個進程A絮蒿、B叁鉴、C、D但壮,設(shè)它們依次進入就緒隊列蜡饵,因相差時間很短可視為同時到達袭祟。4個進程按輪轉(zhuǎn)法分別運營11,7,2和4個時間單位巾乳,設(shè)時間片為1。四個進程的平均周轉(zhuǎn)時間為胆绊?
答:周轉(zhuǎn)時間=完成時間-到達時間压状。
畫出甘特圖跟继,進程C在第8秒完成舔糖,進程D在第14秒完成莺匠,進程B在第20秒完成,進程A在第24秒完成摇庙,故平均周轉(zhuǎn)時間為(8+14+20+24)/4=16.25
10.一監(jiān)獄人臉識別準(zhǔn)入系統(tǒng)用來識別待進入人員的身份遥缕,此系統(tǒng)一共包括識別四種不同的人員:獄警单匣、小偷、送餐員迹冤、其他虎忌。下面哪種學(xué)習(xí)方法最適合此種應(yīng)用需求橱鹏?
A莉兰、二分類問題
B、多分類問題
C杉辙、層次聚類問題
D捶朵、K-中心點聚類問題
E、回歸問題
F品腹、結(jié)構(gòu)分析問題
答:多分類問題舞吭。
11.若干個等待訪問磁盤者依次要訪問的磁道為19,43,40,4,79,11,76,當(dāng)前磁頭位于40號柱面蔑穴,若用最短尋道時間優(yōu)先磁盤調(diào)度算法惧浴,則訪問序列為赶舆?
答:40,43,19,11,4,76,79。
磁盤調(diào)度算法
12.如果一個博物館參觀者到達的速率是每分鐘20人叙量,平均每個人在館內(nèi)停留20分鐘绞佩,那么該博物館至少需要容納400人才行品山?
答:20分鐘后達到穩(wěn)定態(tài)烤低,20*20=400人,此時每進20個人出20個(第1分鐘到達的20個人該出去了)
13.以下排序方式涯呻,平均時間復(fù)雜度最差的排序是复罐?
答:http://blog.csdn.net/wuxinyicomeon/article/details/5996675
14.程序出錯在什么階段雄家?
int main(void)
{ http://www.taobao.com
cout<< “welcome to taobao”<<endl;
}
A、預(yù)處理階段出錯 B乱投、編譯階段出錯 C篡腌、匯編階段出錯 D、鏈接階段出錯
E嘹悼、運行階段出錯 F、程序運行正常
答:gcc編譯器對程序的編譯可以分為4個階段:預(yù)處理其监、編譯限匣、匯編和鏈接。
預(yù)處理:對源文件中的宏進行展開锌历;
編譯:gcc將c文件編譯成匯編文件(gcc檢查代碼規(guī)范性究西、是否有語法錯誤等物喷,以確定代碼實際要做工作);
匯編:as將匯編文件編譯成機器碼(把編譯階段生成的.s文件轉(zhuǎn)成目標(biāo)文件.o)扇丛;
鏈接:ld將目標(biāo)文件和外部符號進行鏈接帆精,得到一個可執(zhí)行二進制文件材蹬。
15.下列不屬于hash碰撞解決方法的是堤器?
A闸溃、線性探測 B拱撵、單旋轉(zhuǎn)法 C拴测、二次探測
D集索、拉鏈法 E汇跨、雙重散列 F穷遂、多重散列
答:單旋轉(zhuǎn)法是hash生成的方法
16.二分查找樹里查詢一個關(guān)鍵字的最壞時間復(fù)雜度是蚪黑?
答:最壞的情況就是節(jié)點的插入序列有序中剩,此時樹退化為單枝樹结啼,查找退化為順序查找,最壞情況變?yōu)镺(n)澡腾。
17.第二維平面上有12個位置不同的店糕珊,通過連接其中任意兩點红选,可以畫出59條不同的直線喇肋。那么蝶防,在59條直線種,經(jīng)過3個或3個以上的店的直線有殷费?條
答:2條低葫。12個點最多有C(12,2)=66個點嘿悬,可以知道若三個點在一條直線上則減少2條直線C(3,2)-1=2善涨,若四個點在一條直線上則減少5條直線C(4,2)-1=5窒盐,這里有59條直線登钥,即減少了7=2+5條牧牢,顯然有三個點在一條直線,四個點在一條直線上塔鳍,其他任意兩點均在不同直線上伯铣。
18.硬幣游戲:連續(xù)扔硬幣,直到某一人獲勝轮纫。A獲勝條件是先正后反腔寡,B獲勝是出現(xiàn)連續(xù)兩次反面,問AB游戲時A獲勝概率是掌唾?
答:3/4放前。只要在B獲勝之前出現(xiàn)正,A一定贏糯彬,而B贏的概率是1/2*1/2=1/4(反反)凭语,故A贏的概率是1-1/4=3/4(正正、正反撩扒、反正)
19.下面選項中似扔,炒辉?是一個典型TCP客戶端(主動建立連接,主動斷開連接)會經(jīng)歷的狀態(tài)序列啡氢。
答:SYNC_SENT->ESTABLISHED->FIN_WAIT_1->FIN_WAIT_2->TIME_WAIT袭艺。
tcp三次握手客戶端connect,會發(fā)送SYN轰传,服務(wù)器端確認(rèn)并發(fā)送SYN,客戶端確認(rèn),進入ESTABLISHED狀態(tài)佩谣,客戶端調(diào)用close安皱,發(fā)送FIN袖迎,進入FIN_WAIT1狀態(tài)悯蝉,服務(wù)器端確認(rèn),進入CLOSE_WAIT狀態(tài),客戶端進入FIN_WAIT2狀態(tài)奸例,服務(wù)器端調(diào)用close谐区,客戶端進入TIME_WAIT狀態(tài)
20.下列關(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)
答:E舌稀。有相同優(yōu)先級的多個線程的調(diào)度可能是分時的剔应,也可能是線程逐個運行席怪,由具體JVM而定嚼黔,選項C說法錯誤,故為所選。