浙江绿盟科技2011.10.14校园招聘会笔试题
1、以下哪些協議不是應用層通信協議?
A、HTTP、TELNET????????? B、FTP、SMTP?????? C、SNMP、NBNS???????? D、ICMP、ARP
2、Ping命令是使用以下哪個協議實現的()
A、UDP?????????? B、ARP???????????????? C、IGMP?????????????????????? D、ICMP????????????????????? E、SMTP
ICMP(Internet Control Message Protocol )網際控制報文協議的一個重要應用就是分組網間探測Ping,用來測試兩個主機之間的連通性。Ping使用了ICMP回送請求與回送回答報文,Ping是應用層直接使用網絡層ICMP的一個例子,它沒有通過運輸層的TCP或UDP。
3、以下哪個協議通常用來收取郵件(C)
A、SMTP????????????? B、MAIL?????????? C、POP3???????????? D、SNMP(簡單網絡管理協議 屬于應用層)???????????????? E、ICMP
SMTP(Simple Mail Transfer? Protocol)簡單郵件發送協議
POP3(Post Office Protocol)郵局協議??????????????? SMTP和POP3都屬于應用層協議
一個電子郵件系統具有三個主要組成構件,就是用戶代理、郵件服務器以及郵件發送協議(SMTP)和郵件讀取協議(POP3)
不要把SMTP和POP3協議弄混。發件人的用戶代理向發送方郵件服務器發送郵件,以及發送方郵件服務器向接收方郵件服務器發送郵件,都是使用SMTP協議。而POP3協議則是用戶代理從接受方郵件服務器上讀取郵件的時候所使用的協議。
4、CSMA/CD發生在OSI模型中的哪一層(B)
A、物理層???????? ? B、數據鏈路層??????????????? C、網絡層????????????? D、傳輸層??????????? E、會話層
5、
void Test(int *a,int *b) {int *temp;temp=a;a=b;b=temp; }int main(void) {int a = 1,b = 2;Test(&a, &b);printf("%d %d\n",a,b);return 0; }上面那段程序的輸出結果為(D)
A、2??? 1?????? B、2???? 2???????? C、1????? 1??????????????? D、1????? 2??????
6、
上面那段程序的輸出結果為(C)
A、0256????? 0400????? ??? B、0256???? 256?????????? ?C、256??????400????????? D、?400??????? 400
m的值 0256 表示的是8進制,實際上在內存里面保存的是十進制的174。題目的意思是講174 和 256 分別是8進制的形式輸出,那么輸出的就是 256 和 400 了。
7、下列排序算法中,其中(D)是穩定的。
A、堆排序?、冒泡排序????????????????????????????????????????? B、快速排序、堆排序??????????
C、直接選擇排序、歸并排序??????????????????????????????D、歸并排序、冒泡排序
8、什么函數不能聲明為虛函數(AD)
A、構造函數??? B、析構函數????????? ?C、成員函數???????????????? D、友元函數????
因為C++不支持友元函數的繼承,對于沒有繼承特性的函數沒有虛函數的說法。
?
9、定義一個有10個指針的數組tmp,該指針是指向一個整形數:??? int? *tmp[10];
10、一個指向有10個整形數數組的指針tmp:?? int ?(*tmp)[10];
11、一個指向函數的指針,該函數有一個整型參數并返回一個整型數:????? int? ?(*fun)(int?? );
12、一個有10個指針的數組,該指針指向一個函數,該函數有一個整型參數并返回一個整型數:????? int?? (*fun[10])(int?? );
這個題是第9題跟第11題的一個結合。
13、下面四段代碼是否有問題,如果有的話,請指出請改正。
void GetMemory(char *p) {p=(char *)malloc(100); } void Test(void) {char *str = NULL;GetMemory(str);strcpy(str,"Hello World");printf("%s",str); }有問題,Test函數中str一直都是NULL,并沒有為其分配空間,所以無法將字符串拷貝到str指向的內存空間。GetMemory函數中的p指針只是一個臨時變量,并不是str指針,并沒有修改str指針的指向。
char *GetMemory(void) {char p[]="Hello World";return p; } void Test(void) {char *str = NULL;str = GetMemory();printf("%s",str); }有問題,GetMemory函數中的p數組是一個臨時變量,是在棧上臨時分配的,函數返回后,數組就會被系統回收的。因此輸出的就是一個隨機值。
void GetMemory(char **p, int num) {*p = (char *)malloc(num); } void Test(void) {char *str = NULL;GetMemory(&str, 100);strcpy(str,"Hello World");printf("%s",str); }沒有問題,完全正確,因為指針作為函數參數進行傳遞時,只能改變指針指向的值,而不能改變指針的指向,如果想要改變指針的指向,就要使用二級指針該操作。
char *GetMemory(void) {char *p = "Hello World";return p; } void Test(void) {char *str = NULL;str = GetMemory();strcpy(str,"abc");printf("%s",str); }有問題,GetMemory函數中的p指針指向的是一個字符串常量,返回后,str也是指向這個字符串常量,是無法修改字符串常量的值。
總結
以上是生活随笔為你收集整理的浙江绿盟科技2011.10.14校园招聘会笔试题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浙江大华2011.10.10校园招聘会笔
- 下一篇: C++函数中那些不可以被声明为虚函数的函