當(dāng)前位置:高考升學(xué)網(wǎng) > 招聘筆試題 > 正文

華為2019校園招聘筆試題和面試題答案目(二)

更新:2023-09-21 02:47:00 高考升學(xué)網(wǎng)

  16交換兩個(gè)變量的值,不使用第三個(gè)變量。即a=3,b=5,交換之后a=5,b=3; 答案:有兩種解法, 一種用算術(shù)算法, 一種用^(異或) a = a + b; b = a - b; a = a - b; or a = a^b;// 只能對(duì)int,char.. b = a^b; a = a^b; or a ^= b ^= a;

  17.c和c++中的struct有什么不同?答案:c和c++中struct的主要區(qū)別是c中的struct不可以含有成員函數(shù),而c++中的struct可以。c++中struct和class的主要區(qū)別在于默認(rèn)的存取權(quán)限不同,struct默認(rèn)為public,而class默認(rèn)為private

  18.#include #include void getmemory(char p)

  { p=(char ) malloc(100); strcpy(p,"hello world"); } int

  main( ) { char str=NULL; getmemory(str); printf("%

  s/n",str); free(str); return 0; } 答案:程序崩潰,getmemory中的malloc 不能返回動(dòng)態(tài)內(nèi)存, free()對(duì)str操作很危險(xiǎn)

  19.char szstr[10]; strcpy(szstr,"0123456789"); 產(chǎn)生什么結(jié)果?為什么?答案:長(zhǎng)度不一樣,會(huì)造成非法的OS

  20.列舉幾種進(jìn)程的同步機(jī)制,并比較其優(yōu)缺點(diǎn)。答案:原子操作 信號(hào)量機(jī)制 自旋鎖 管程,會(huì)合,分布式系統(tǒng)

  21.進(jìn)程之間通信的途徑答案:共享存儲(chǔ)系統(tǒng)消息傳遞系統(tǒng)管道:以文件系統(tǒng)為基礎(chǔ)

  22.進(jìn)程死鎖的原因答案:資源競(jìng)爭(zhēng)及進(jìn)程推進(jìn)順序非法

  23.死鎖的4個(gè)必要條件答案:互斥、請(qǐng)求保持、不可剝奪、環(huán)路

  24.死鎖的處理答案:鴕鳥(niǎo)策略、預(yù)防策略、避免策略、檢測(cè)與解除死鎖

  25. 操作系統(tǒng)中進(jìn)程調(diào)度策略有哪幾種?答案:FCFS(先來(lái)先服務(wù)),優(yōu)先級(jí),時(shí)間片輪轉(zhuǎn),多級(jí)反饋

  26.類(lèi)的靜態(tài)成員和非靜態(tài)成員有何區(qū)別?答案:類(lèi)的靜態(tài)成員每個(gè)類(lèi)只有一個(gè),非靜態(tài)成員每個(gè)對(duì)象一個(gè)

  27.純虛函數(shù)如何定義?使用時(shí)應(yīng)注意什么?答案:virtual void f()=0; 是接口,子類(lèi)必須要實(shí)現(xiàn)

  28.數(shù)組和鏈表的區(qū)別答案:數(shù)組:數(shù)據(jù)順序存儲(chǔ),固定大小連表:數(shù)據(jù)可以隨機(jī)存儲(chǔ),大小可動(dòng)態(tài)改變

  29.ISO的七層模型是什么?tcp/udp是屬于哪一層?tcp/udp有何優(yōu)缺點(diǎn)?答案:應(yīng)用層表示層會(huì)話層運(yùn)輸層網(wǎng)絡(luò)層物理鏈路層物理層 tcp /udp屬于運(yùn)輸層 TCP 服務(wù)提供了數(shù)據(jù)流傳輸、可靠性、有效流控制、全雙工操作和多路復(fù)用技術(shù)等。與 TCP 不同, UDP 并不提供對(duì) IP 協(xié)議的可靠機(jī)制、流控制以及錯(cuò)誤恢復(fù)功能等。由于 UDP 比較簡(jiǎn)單, UDP 頭包含很少的字節(jié),比 TCP負(fù)載消耗少。 tcp: 提供穩(wěn)定的傳輸服務(wù),有流量控制,缺點(diǎn)是包頭大,冗余性不好 udp: 不提供穩(wěn)定的服務(wù),包頭小,開(kāi)銷(xiāo)小

  30:(void )ptr 和 ((void))ptr的結(jié)果是否相同?其中ptr為同一個(gè)指針答案:.(void )ptr 和 ((void))ptr值是相同的

  31:int main() { int x=3; printf("%d",x); return 1;

  } 問(wèn)函數(shù)既然不會(huì)被其它函數(shù)調(diào)用,為什么要返回1?答案:mian中,c標(biāo)準(zhǔn)認(rèn)為0表示成功,非0表示錯(cuò)誤。具體的值是某中具體出錯(cuò)信息

  32,要對(duì)絕對(duì)地址0x100000賦值,我們可以用 (unsigned int)0x100000 = 1234; 那么要是想讓程序跳轉(zhuǎn)到絕對(duì)地址是0x100000去執(zhí)行,應(yīng)該怎么做?

  答案:((void ()( ))0x100000 ) ( ); 首先要將0x100000強(qiáng)制轉(zhuǎn)換成函數(shù)指針,即: (void ()())0x100000 然后再調(diào)用它: ((void ()()) 0x100000)(); 用typedef可以看得更直觀些: typedef void()() voidFuncPtr; ((voidFuncPtr)0x100000)();

  33,已知一個(gè)數(shù)組table,用一個(gè)宏定義,求出數(shù)據(jù)的元素個(gè)數(shù)答案:#define NTBL #define NTBL (sizeof(table)/sizeof(table[0]))

  34。線程與進(jìn)程的區(qū)別和聯(lián)系? 線程是否具有相同的堆棧? dll是否有獨(dú)立的堆棧? 答案:進(jìn)程是死的,只是一些資源的集合,真正的程序執(zhí)行都是線程來(lái)完成的,程序啟動(dòng)的時(shí)候操作系統(tǒng)就幫你創(chuàng)建了一個(gè)主線程。每個(gè)線程有自己的堆棧。 DLL中有沒(méi)有獨(dú)立的堆棧,這個(gè)問(wèn)題不好回答,或者說(shuō)這個(gè)問(wèn)題本身是否有問(wèn)題。因?yàn)镈LL中的代碼是被某些線程所執(zhí)行,只有線程擁有堆棧,如果DLL中的代碼是EXE中的線程所調(diào)用,那么這個(gè)時(shí)候是不是說(shuō)這個(gè)DLL沒(méi)有自己獨(dú)立的堆棧?如果DLL中的代碼是由DLL自己創(chuàng)建的線程所執(zhí)行,那么是不是說(shuō)DLL有獨(dú)立的堆棧?以上講的是堆棧,如果對(duì)于堆來(lái)說(shuō),每個(gè)DLL有自己的堆,所以如果是從DLL中動(dòng)態(tài)分配的內(nèi)存,最好是從DLL中刪除,如果你從DLL中分配內(nèi)存,然后在EXE中,或者另外一個(gè)DLL中刪除,很有可能導(dǎo)致程序崩潰

  35。unsigned short A = 10; printf("~A = %u ", ~A); char c=128;

  printf("c=%d ",c); 輸出多少?并分析過(guò)程答案:第一題,~A =0xfffffff5,int值 為-11,但輸出的是uint。所以輸出4294967285 第二題,c=0x10,輸出的是int,最高位為1,是負(fù)數(shù),所以它的值就是0x00的補(bǔ)碼就是128,所以輸出-128。這兩道題都是在考察二進(jìn)制向int或uint轉(zhuǎn)換時(shí)的最高位處理。

相關(guān)文章

最新圖文

2020年河北新聞網(wǎng)兩學(xué)一做

時(shí)間:2023-09-18 07:0:24

2020年河北新聞網(wǎng)兩學(xué)一做

時(shí)間:2023-09-15 11:0:59

兩學(xué)一做學(xué)習(xí)教育知

時(shí)間:2023-09-21 06:0:30
9999久久久国产精品,日韩在线一区二区三区欧美,日韩精品综合在线人妻,免费AAAAAA毛片看
亚洲成AV人片在线观看豆 | 尤物国产在线一区视频 | 免费va国产高清大片在线 | 曰韩第一页综合久久道第88频 | 在线se国产精品 | 中文字幕日韩亚洲欧美一区 |