常見的(de)嵌(qian)入式(shi)面試(shi)題,你會嗎(ma)?
時間(jian):2015-11-02 來源:未知(zhi)
這是(shi)某嵌入式(shi)開發公(gong)司的(de)一套面(mian)試(shi)題,很(hen)顯(xian)然(ran)對于嵌入式(shi)工程師來說這都是(shi)"小菜",那(nei)么(me)您可以測試(shi)一下,這樣會對公(gong)司出的(de)面(mian)試(shi)題不(bu)那(nei)么(me)恐(kong)懼...
一、選擇題
1.下述程序執行后的輸出結果是(shi)
#include
main()
{
int x='f';
printf("%c\n",'a'+(x-'a'+1));
}
A.g
B.h
C.i
D.j
參考答案:A
2.下列(lie)程序代碼在Linux系統執行后"*"會(hui)被輸出多少次()
void main()
{
int i;
for(i=0;i<3;i++)
{
fork();
printf("*\n");
}
return;
}
A.14
B.16
C.30
D.32
參考答案:A
3.下面(mian)有關孤(gu)兒(er)進程和僵尸進程的(de)描述(shu),說(shuo)法錯誤(wu)的(de)是?
A.孤兒進(jin)程(cheng):一(yi)個父進(jin)程(cheng)退出,而它(ta)的一(yi)個或多個子(zi)進(jin)程(cheng)還(huan)在運行,那(nei)么那(nei)些子(zi)進(jin)程(cheng)將(jiang)成為孤兒進(jin)程(cheng)。
B.僵尸(shi)進(jin)程(cheng):一(yi)個(ge)進(jin)程(cheng)使用fork創建子(zi)進(jin)程(cheng),如果(guo)子(zi)進(jin)程(cheng)退出,而父(fu)進(jin)程(cheng)并沒有調(diao)用wait或waitpid獲取子(zi)進(jin)程(cheng)的(de)狀態信息,那么子(zi)進(jin)程(cheng)的(de)進(jin)程(cheng)描述符(fu)仍然(ran)保存在系(xi)統中。這種進(jin)程(cheng)稱之為僵死進(jin)程(cheng)。
C.孤兒進(jin)程(cheng)將(jiang)被(bei)init進(jin)程(cheng)(進(jin)程(cheng)號(hao)為1)所收養,并(bing)由init進(jin)程(cheng)對它們(men)完成狀(zhuang)態收集工(gong)作。
D.孤(gu)兒進程(cheng)和(he)僵尸(shi)進程(cheng)都(dou)可能(neng)(neng)使系統(tong)不能(neng)(neng)產(chan)生新的(de)進程(cheng),都(dou)應該避免(mian)
參考答案:D
4.假(jia)如(ru)你需要找(zhao)出/etc/my.conf文件屬于(yu)哪個包(bao)(package),你可以執行:()
A.rpm -requires/etc/my.conf
B.rpm -q/etc/my.conf
C.rpm -q|grep /etc/my.conf
D.rpm -qf /etc/my.conf
參考答案:D
5.表達式(shi) strcmp( " 3.14 "," 3.278 " ) 的值是一(yi)個
A.非零整數
B.浮點數
C.0
D.字符
參考答案:A
6.調用recv(int sockfd, void *buf, size_t len, int flags)的過程中,一共進(jin)行了幾次內存復(fu)制操(cao)作(zuo)?
A.1
B.2
C.3
D.4
參考答案(an):B
7.打印一個N*N的(de)方陣(zhen),N為(wei)每(mei)邊字符的(de)個數( 3〈N〈20 ),要求外層為(wei)"X",第二層為(wei)"Y",從(cong)第三層起每(mei)層依次打印數字0,1,2,3,...
例子:當N =5,打(da)印出(chu)下面的圖形:
A.X X X X X
B.X Y Y Y X
C.X Y 0 Y X
D.X Y Y Y X
參考答案:X X X X X
8.設#define N 3
#define Y(n) ((N+1)*n)
則表達(da)式2*(N+Y(5+1))的值是
A.42
B.48
C.54
D.出錯
參考答案:B
二、簡答題
1、關鍵字const有什么含(han)意?
2、.h頭文件(jian)中的ifndef/define/endif?的作用?
3、多態類中的(de)虛函數表是(shi)Compile-Time,還是(shi)Run-Time時建立的(de)?
參考答案:
1、表示常量不可(ke)以修改的變(bian)量。
2、防止該頭文(wen)件被重復引用。
3、虛擬(ni)(ni)函(han)數(shu)表是在編譯期(qi)就建(jian)立了(le),各(ge)個虛擬(ni)(ni)函(han)數(shu)這(zhe)時被(bei)組織成(cheng)了(le)一個虛擬(ni)(ni)函(han)數(shu)的(de)(de)入(ru)口地址(zhi)的(de)(de)數(shu)組。而對象的(de)(de)隱藏成(cheng)員--虛擬(ni)(ni)函(han)數(shu)表指針是在運行(xing)期(qi)--也就是構造函(han)數(shu)被(bei)調用時進(jin)行(xing)初始(shi)化的(de)(de),這(zhe)是實現多態的(de)(de)關(guan)鍵。

