一江春水向東流

          做一個(gè)有思想的人,期待與每一位熱愛思考的人交流,您的關(guān)注是對(duì)我最大的支持。

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            44 隨筆 :: 139 文章 :: 81 評(píng)論 :: 0 Trackbacks

          Linux軟件工程師測(cè)試

          一、基礎(chǔ)總分:
          1.GCC
          用哪個(gè)參數(shù)可以產(chǎn)生obj文件:B
          (A) -c????? (B)-o????? (C)-share????? (D)-static


          2、GDB
          在main函數(shù)處設(shè)置斷點(diǎn)的命令是:A
          (A)b main????? (B)set main????? (C)set 0????? (D)b 0


          3、UNP
          下列函數(shù)中可以將主機(jī)字節(jié)序轉(zhuǎn)換成網(wǎng)絡(luò)字節(jié)序的是:D
          (A)convert()????? (B)sprintf()????? (C)ntonl()????? (D)htonl()


          4、man
          查閱"read系統(tǒng)調(diào)用"man手冊(cè)的命令是:B
          (A)man 1 read????? (B)man 2 read????? (C)man 3 read????? (D)man read


          5、shell
          刪除"/tmp/prj/"目錄下(及所有子目錄下)所有名字以".o"結(jié)尾的文件:A
          (A)find /tmp/prj/ -name "*.o" | xargs -i rm {}
          (B)rm -rf /tmp/prj/*.o
          (C)find /tmp/prj/ -name "*.o" -rm {} \;
          (D)find /tmp/prj/*.o -name "*.o" | xargs -i rm {}


          6、IPC
          下列哪些屬于IPC范疇(多選):A,C,D,E,G,H
          (A)信號(hào)
          (B)文件監(jiān)視
          (C)管道
          (D)消息隊(duì)列
          (E)信號(hào)燈
          (F)odbc
          (G)共享內(nèi)存
          (H)UNIX域套接字

          ?

          7、Signal
          下列那個(gè)信號(hào)不可以被捕獲或阻塞:A
          (A)SIGKILL????? (B)SIGINT????? (C)SIGCHILD????? (D)SIGUSR1

          ?

          8、Thread
          下列那一項(xiàng)描述是錯(cuò)誤的:B
          (A)進(jìn)程擁有獨(dú)立的內(nèi)存空間,而線程之間卻共享內(nèi)存空間。
          (B)進(jìn)程可以使用libc庫,而線程不可以
          (C)進(jìn)程和線程在Linux內(nèi)核中都使用clone()來實(shí)現(xiàn)
          (D)信號(hào)量也可以作為線程間的通訊手段


          二、C/C++部分:
          1、以下為HP-UX下的64位應(yīng)用程序,請(qǐng)寫出其運(yùn)行結(jié)果。
          void func(char *ptr)
          {
          ??????? printf("%d\n", sizeof(ptr));
          }

          int main()
          {
          ??????? char buf[1024];
          ??????? char *buf_p = buf;

          ??????? printf("%d\n", sizeof(char));
          ??????? printf("%d\n", sizeof(int *));
          ??????? printf("%d\n", sizeof(buf));
          ??????? func(buf);
          ??????? func(buf_p);
          }

          答案:
          1
          8
          1024
          8
          8

          ?


          2、請(qǐng)分析以下程序,并寫出其運(yùn)行結(jié)果。
          char *get_memory(void)
          {
          ??????? char p[] = "hello world";

          ??????? return p;
          }

          int main()
          {
          ??????? char *str = NULL;

          ??????? str = get_memory();
          ??????? printf(str);
          }

          答案:(這是個(gè)典型有內(nèi)存錯(cuò)誤的程序,回答出有內(nèi)存錯(cuò)誤算對(duì),最好能回答哪里有錯(cuò))


          3、請(qǐng)編寫下面的C函數(shù)
          /*
          功能:在堆上分配一塊指定大小的內(nèi)存,并且全部清0,如果出錯(cuò)則返回一個(gè)空指針
          lens:請(qǐng)求分配內(nèi)存的尺寸
          */
          void *get_mem(int lens)
          {
          ??????? ...
          }


          答案:(考察編程風(fēng)格和細(xì)心程度,不一定要和下面的程序一樣,注意出錯(cuò)處理和返回值控制)
          void *get_mem(int lens)
          {
          ??????? char *ret;
          ??????? if (lens <= 0)
          ??????????????? return NULL;
          ??????? ret = malloc(lens);
          ??????? if (ret == NULL)
          ??????????????? return NULL;
          ??????? bzero(ret, lens);
          ??????? return ret;
          }

          ?

          4、Makefile
          假設(shè)有一個(gè)小型web服務(wù)器程序名叫"miniweb",它的源代碼包含三個(gè)源文件: utils.c, lib.c, main.c
          請(qǐng)為這個(gè)程序編寫一個(gè)Makefile。

          答案:(考察是否會(huì)寫Makefile,可能很多人都不會(huì)寫,如果此題沒回答出來,面試的時(shí)候需要再次詢問是否使會(huì)用make和Makefile)
          一個(gè)最基本的例子:
          miniweb: main.o lib.o utils.o
          ??????? cc -o $@ $<

          *.o: *.c
          ??????? cc -c $<

          clean:
          ??????? rm -f *.o rm miniweb

          posted on 2007-03-26 17:30 allic 閱讀(247) 評(píng)論(0)  編輯  收藏 所屬分類: linux/UNIX 應(yīng)用開發(fā)
          主站蜘蛛池模板: 讷河市| 大足县| 阜城县| 聂拉木县| 广西| 凉山| 苏尼特左旗| 比如县| 凤冈县| 钟山县| 通许县| 柘荣县| 高雄县| 修文县| 松原市| 临潭县| 和顺县| 盐亭县| 巴彦县| 于田县| 绥棱县| 上林县| 和政县| 遵化市| 湖州市| 广州市| 乐山市| 德阳市| 越西县| 荥经县| 武强县| 固阳县| 农安县| 灌南县| 泰顺县| 宁阳县| 天津市| 阜新| 马龙县| 广汉市| 建瓯市|