中興筆試經(jīng)驗(yàn)分享
中興筆試經(jīng)驗(yàn)分享(一)
公共題:
1、數(shù)據(jù)庫(kù)中 XXX 和XXX操作可恢復(fù)數(shù)據(jù)庫(kù)。undo redo 吧?
2、數(shù)據(jù)庫(kù)的核心是XX。
3、頭文件中<> 和“”的區(qū)別?
4、定義一個(gè)宏,輸入兩個(gè)參數(shù),輸出積。
3、簡(jiǎn)述電路交換和分組交換的區(qū)別及優(yōu)缺點(diǎn)。
4、
C++
都記不太清了,過(guò)去快2個(gè)星期了!
大約4個(gè)選擇題,一個(gè)6分。數(shù)組的操作,在內(nèi)存中的分配(注意下標(biāo)從0開(kāi)始),大題:
1、18分的題:
char *GetMemory(void)
{
char p[] = "hello world";
return p;
}
void Test(void)
{
char *str = NULL;
str = GetMemory();
printf(str);
}
請(qǐng)問(wèn)運(yùn)行Test 函數(shù)會(huì)有什么樣的結(jié)果?
答:可能是亂碼。
因?yàn)镚etMemory 返回的是指向“棧內(nèi)存”
的指針,該指針的地址不是 NULL,但其原
現(xiàn)的內(nèi)容已經(jīng)被清除,新內(nèi)容不可知。
還有一個(gè)比較簡(jiǎn)單,不寫(xiě)了。
2、析構(gòu)函數(shù)什么時(shí)候運(yùn)行,實(shí)現(xiàn)什么功能?
7、全局變量和局部變量的區(qū)別。
仔細(xì)看看林銳的《高質(zhì)量程序指南》基本不會(huì)有大問(wèn)題。可惜啊,大意了...鄙視中
1.對(duì)數(shù)據(jù)庫(kù)的一張表進(jìn)行操作,同時(shí)要對(duì)另一張表進(jìn)行操作,如何實(shí)現(xiàn)??
答案:將操作多個(gè)表的操作放入到事務(wù)中進(jìn)行處理
2.TCP/IP 建立連接的過(guò)程?(3-way shake)
答案: 在TCP/IP協(xié)議中,TCP協(xié)議提供可靠的連接服務(wù),采用三次握手建立一個(gè)連接。
第一次握手:建立連接時(shí),客戶(hù)端發(fā)送syn包(syn=j)到服務(wù)器,并進(jìn)入SYN_SEND狀態(tài),等待服務(wù)器確認(rèn);
第二次握手:服務(wù)器收到syn包,必須確認(rèn)客戶(hù)的SYN(ack=j+1),同時(shí)自己也發(fā)送一個(gè)SYN包(syn=k),即SYN+ACK包,此時(shí)服務(wù)器進(jìn)入SYN_RECV狀態(tài);
第三次握手:客戶(hù)端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認(rèn)包ACK(ack=k+1),此包發(fā)送完畢,客戶(hù)端和服務(wù)器進(jìn)入ESTABLISHED狀態(tài),完成三次握手。
3.ICMP是什么協(xié)議,處于哪一層?
答案:Internet控制報(bào)文協(xié)議,處于網(wǎng)絡(luò)層(IP層)
4.觸發(fā)器怎么工作的?
答案:觸發(fā)器主要是通過(guò)事件進(jìn)行觸發(fā)而被執(zhí)行的,當(dāng)對(duì)某一表進(jìn)行諸如UPDATE、 INSERT、 DELETE 這些操作時(shí),數(shù)據(jù)庫(kù)就會(huì)自動(dòng)執(zhí)行觸發(fā)器所定義的SQL 語(yǔ)句,從而確保對(duì)數(shù)據(jù)的處理必須符合由這些SQL 語(yǔ)句所定義的規(guī)則。
5.winsock建立連接的主要實(shí)現(xiàn)步驟?
答案:服務(wù)器端:socker()建立套接字,綁定(bind)并監(jiān)聽(tīng)(listen),用accept()等待客戶(hù)端連接。客戶(hù)端:socker()建立套接字,連接(connect)服務(wù)器,連接上后使用send()和recv(),在套接字上寫(xiě)讀數(shù)據(jù),直至數(shù)據(jù)交換完畢,closesocket()關(guān)閉套接字。
服務(wù)器端:accept()發(fā)現(xiàn)有客戶(hù)端連接,建立一個(gè)新的套接字,自身重新開(kāi)始等待連接。該新產(chǎn)生的套接字使用send()和recv()寫(xiě)讀數(shù)據(jù),直至數(shù)據(jù)交換完畢,closesocket()關(guān)閉套接字。
6.動(dòng)態(tài)連接庫(kù)的兩種方式?
答案:調(diào)用一個(gè)DLL中的函數(shù)有兩種方法:
1.載入時(shí)動(dòng)態(tài)鏈接(load-time dynamic linking),模塊非常明確調(diào)用某個(gè)導(dǎo)出函數(shù),使得他們就像本地函數(shù)一樣。這需要鏈接時(shí)鏈接那些函數(shù)所在DLL的導(dǎo)入庫(kù),導(dǎo)入庫(kù)向系統(tǒng)提供了載入DLL時(shí)所需的信息及DLL函數(shù)定位。
2.運(yùn)行時(shí)動(dòng)態(tài)鏈接(run-time dynamic linking),運(yùn)行時(shí)可以通過(guò)LoadLibrary或LoadLibraryEx函數(shù)載入DLL。DLL載入后,模塊可以通過(guò)調(diào)用GetProcAddress獲取DLL函數(shù)的出口地址,然后就可以通過(guò)返回的函數(shù)指針調(diào)用DLL函數(shù)了。如此即可避免導(dǎo)入庫(kù)文件了。
7.IP組播有那些好處?
答案:Internet上產(chǎn)生的許多新的應(yīng)用,特別是高帶寬的多媒體應(yīng)用,帶來(lái)了帶寬的急劇消耗和網(wǎng)絡(luò)擁擠問(wèn)題。組播是一種允許一個(gè)或多個(gè)發(fā)送者(組播源)發(fā)送單一的數(shù)據(jù)包到多個(gè)接收者(一次的,同時(shí)的)的網(wǎng)絡(luò)技術(shù)。組播可以大大的節(jié)省網(wǎng)絡(luò)帶寬,因?yàn)闊o(wú)論有多少個(gè)目標(biāo)地址,在整個(gè)網(wǎng)絡(luò)的任何一條鏈路上只傳送單一的數(shù)據(jù)包。所以說(shuō)組播技術(shù)的核心就是針對(duì)如何節(jié)約網(wǎng)絡(luò)資源的前提下保證服務(wù)質(zhì)量。
2006年3月21日于華僑大學(xué)洪祖杭大樓,筆試分三部分,公共部分(都做),C++部分和JAVA部分選做。考試時(shí)間1小時(shí)!蝸牛自己打字好累啊!供涯友分享。
公共部分(50分)
1:作業(yè)調(diào)度程序從處于( )狀態(tài)的隊(duì)列中選擇適當(dāng)?shù)淖鳂I(yè)的作業(yè)投入運(yùn)行。(3分)
A 運(yùn)行 B 提交 C 完成 D后備
2:SQL語(yǔ)言中,刪除一個(gè)表的命令是( )(3分)
A CLEAR TABLE B DROP TABLE
C DELETE TABLE D REMOVE TABLE
3:ATM采用的線(xiàn)路復(fù)用方式為( )(3分)
A 頻分多路復(fù)用
B 同步時(shí)分多路復(fù)用
C 異步時(shí)分多路復(fù)用
D 獨(dú)占信道
4:數(shù)據(jù)庫(kù)中只存放視圖的( )(3分)
A操作
B 對(duì)應(yīng)的數(shù)據(jù)
C 定義
D 限制
5:什么是虛擬設(shè)備?為什么在操作系統(tǒng)中引入虛擬設(shè)備?(10分)
6:TCP為何采用三次握手來(lái)建立連接,若采用二次握手可以嗎,請(qǐng)說(shuō)明原因?(16分)
7:什么是分布式數(shù)據(jù)庫(kù)?(12分)
C++部分(50分)
1:設(shè)有“int w[3][4];”,pw是與數(shù)組名w等價(jià)的數(shù)組指針,則pw的初始化語(yǔ)句為_(kāi)_______________(3分)
2:要使引用pr代表變量“char *p”,則pr的初始化語(yǔ)句為_(kāi)_________________(3分)
3:“零值”可以是0,0.0,F(xiàn)ALSE或者“空指針”。例如int變量n與“零值”比較的if語(yǔ)句為:if(n==0),則BOLL flag與“零值”比較的if語(yǔ)句為_(kāi)_____________;float x與“零值”比較的if語(yǔ)句為:______________。(6分)
4:社有如下語(yǔ)句:(3分)
Int x;
()
*px=0;
則選擇以下哪條語(yǔ)句可將x值置為0。
A int *px; B int const *px=&x;
C int const px=&x; D const int *px=&x;
5:設(shè)viod f1(int *m,long&n);int a;long b;則以下調(diào)用合法的是( )(3分)
A f1(a,b) B f1(&a,b)
C f1(a,&b) D f1(&a,&b)
6:請(qǐng)寫(xiě)出如下代碼的運(yùn)行結(jié)果(6分)
Int main()
{int a,b,c,d;
a=0;
b=1;
c=2;
d=3;
printf(“%d”,a+++b+c+++d++);}
7:寫(xiě)出下面函數(shù)的功能(12分)
Template
Void WE(Type a[],Type b[],int n){
for(int i=0;i
8寫(xiě)一段代碼判斷一個(gè)單向鏈表中是否有環(huán)。(14分)
給出如下結(jié)構(gòu)
Struct node
{steuct *next;
};
Typedef stuct node Node;
JAVA部分(50分)
1:判斷下列對(duì)的是哪個(gè)( )(3分)
A short s1=1;s1=s1+1
B short s1=1;s1+=1
C short s1=1;s1=s1-1
D short s1=1;s1=s1*1
2:main方法是Java Application程序執(zhí)行的入口點(diǎn),關(guān)于main方法的方法頭以下哪項(xiàng)是合法的( )(3分)
A public static void main ()
B public static void main (String args)
C public static int main (String []arg)
D public void main (String args)
3:設(shè)float x=1,y=2,z=3,則表達(dá)式y(tǒng)+=z--/++x的值是( )(3分)
A 3.5 B 3
C 4 D 5
4:Math.round(11.5)=_______
Math.round(-11.5)=_______(4分)
5:假設(shè)x=10,y=20,z=30;計(jì)算下列表達(dá)式的值(6分)
A x<10||x>10__________
B !(x
C z-y==x&&Math.abs(y-z)!=x_____________
6:方法重建Overload和方法的重寫(xiě)Overriding的區(qū)別。Overload的'方法是否可以改變返回值的類(lèi)型?(10分)
7:談?wù)凥ashMap和Hashtable的區(qū)別(6分)
8:構(gòu)造一個(gè)類(lèi)來(lái)描述屏幕上的一個(gè)點(diǎn),該類(lèi)的構(gòu)成包括點(diǎn)x和y兩個(gè)坐標(biāo),以及一些對(duì)點(diǎn)進(jìn)行的操作,包括:取得點(diǎn)的坐標(biāo)值,對(duì)點(diǎn)的坐標(biāo)進(jìn)行賦值,編寫(xiě)應(yīng)用程序生成該類(lèi)的對(duì)象并對(duì)其進(jìn)行操作。(15分)
是中興第一輪的筆試題,5個(gè)小程序,自己的C++沒(méi)學(xué)好
1、 分?jǐn)?shù)統(tǒng)計(jì)(15)
要求:
(1)輸入某班級(jí)學(xué)生的姓名、分?jǐn)?shù);
(2)對(duì)(1)的分?jǐn)?shù)進(jìn)行降冪排列并輸出;
(3)具有輸入輸出界面。
2、 打字程序(15)
要求:
(1)隨即產(chǎn)生一字符串,每次產(chǎn)生的字符串內(nèi)容、長(zhǎng)度都不同;
(2)根據(jù)(1)的結(jié)果,輸入字符串,判斷輸入是否正確,輸出正確率;
(3)具有輸入輸出界面。
3、 文本編輯器(15)
要求:
(1)編輯文本;
(2)保存、打開(kāi)指定位置的文本文件;
(3)具有輸入輸出界面。
4、 加密(15)
要求:
(1)輸入任意一段明文M,以及密鑰K;
(2)根據(jù)一下公式將其轉(zhuǎn)換為密文C。
Ci = mi + K ,其中i = 0,1,……n-1 , K 為密鑰;
(3)具有輸入輸出界面。
5、進(jìn)制轉(zhuǎn)換器(15)
要求:
(1)可輸入二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制數(shù);
(2)將已輸入的數(shù)轉(zhuǎn)換成其余進(jìn)制的數(shù);
(3)具有輸入輸出界面。
中興筆試經(jīng)驗(yàn)分享(二)
排序及查找方法
#include
#include
#define N 11
/*用監(jiān)視哨查找*/
int search(int array[],int n,int k)
{int i;
i=n-1;
array[0]=k;
while(array!=k) i--;
return(i);
}
/*折半查找法*/
int halfsearch(int array[],int n,int k)
{int i,j,mid;
i=1;j=n;
while(i<=j)
{mid=(i+j)/2;
if(k==array[mid]) return(mid);
else if(k
else i=mid+1;
}
return(0);
}
/*冒泡排序法*/
void mpsort(int array[])
{int i,j,a;
a=0;
for(i=1;i
for(j=i+1;j
if(array>array[j])
{a=array;
array=array[j];
array[j]=a;}
}
/*直接插入排序*/
void insertsort(int array[])
{int i,j;
for(i=2;i
{array[0]=array;
j=i-1;
while(array[0]
{array[j+1]=array[j--];
array[j+1]=array[0];
}
}
}
/*建立*/
void creat(int array[])
{int i;
printf("enter the array:\n");
for(i=1;i
scanf("%d",&array);
}
/*顯示*/
void print(int array[])
{int i;
printf("The numbers after sort is:\n");
for(i=1;i
printf("%d ",array);
printf("\n");
}
main()
{int a[11],i,x,chang;
/*printf("enter the array\n");
for(i=1;i<11;i++)
scanf("%d",&a);*/
aga:
printf("\nchang:1: use watching method finding\n 2:use half method finding\n 3: use directness intsert method sort\n 4:use bubble up method sort\n 5:exit\n");
scanf("%d",&chang);
switch (chang)
{case 1:
{creat(a);
printf("Please int the search number:\n");
scanf("%d",&x);
printf("The number station is:%d\n",search(a,N,x));
goto aga;
}
case 2:
{ creat(a);
insertsort(a);
print(a);
printf("Please int the search number:\n");
scanf("%d",&x);
printf("The number station is:%d\n",halfsearch(a,N,x));
goto aga;
}
case 3:
{creat(a);
insertsort(a);
print(a);
goto aga;
}
case 4:
{creat(a);
mpsort(a);
print(a);
goto aga;
}
case 5:{ printf("exit!\n");break;}
default:{printf("Error!\n"); goto aga;}
}
}
二、線(xiàn)性鏈表的存儲(chǔ)實(shí)現(xiàn)
struct LNODE{
ElemType data;
struct LNODE *next;
};
typedef struct LNODE LNode;
typedef struct LNODE * LinkList;
1初始化操作
Status Init_L(LinkList L){
if (L=(LinkList *)malloc(sizeof(LNode)))
{L->next=NULL;return 1;}
else return 0;
}
2插入操作
Status ListInsert_L(LinkList &L,int i,ElemType e){
p=L,j=0;
while(p&&j
if(!p||j>i-1) return ERROR;
s=(LinkList)malloc(sizeof(LNode));
s->data=e;s->next=p->next;
p->next=s;
return OK;
}//ListInsert_L
3刪除操作
Status ListDelete_L(LinkList &L,int i,ElemType &e){
p=L,j=0;
while(p&&j
if(!p->next||j>i-1) return ERROR;
q=p->next;p->next=q->next;
e=q->data;free(q);
return OK;
}//ListDelete_L
4取某序號(hào)元素的操作
Status GetElem_L(LinkList &L,int i,ElemType &e){
p=L->next,j=1;
while(p&&jnext;++j;}
if(!p||j>i) return ERROR;
e=p->data;
return OK;
}//GetElem_L
5歸并兩個(gè)單鏈表的算法
void MergeList_L(LinkList &La,LinkList &Lb,LinkList &Lc){
//已知單鏈線(xiàn)性表La和Lb的元素按值非遞減排列
//歸并后得到新的單鏈線(xiàn)性表Lc,元素也按值非遞減排列
pa=La->next;pb=Lb->next;
Lc=pc=La;
while(pa&&pb){
if(pa->data<=pb->data){
pc->next=pa;pc=pa;pa=pa->next;
}else{pc->next=pb;pc=pb;pb=pb->next;}
}
pc->next=pa?pa:pb;
free(Lb);
}//MergeList_L
頭指針與頭結(jié)點(diǎn)的區(qū)別:
頭指針只相當(dāng)于結(jié)點(diǎn)的指針域,頭結(jié)點(diǎn)即整個(gè)線(xiàn)性鏈表的第一個(gè)結(jié)點(diǎn),它的數(shù)據(jù)域可以放數(shù)據(jù)元素,也可以放線(xiàn)性表的長(zhǎng)度等附加信息,也可以不存儲(chǔ)任何信息。
第一部分 數(shù)據(jù)結(jié)構(gòu)和算法
1. 假設(shè)執(zhí)行語(yǔ)句S的時(shí)間為O(1),則執(zhí)行下列程序短的時(shí)間為()
for(i=1;i<=n;i++)
for(j=I;j<=n;j++)
S;
A. O(n) B. O(n2) C. O(n*i) D. O(n+1)
2. 二位數(shù)組A[10…20,5…10]采用行序?yàn)橹餍蚍绞酱鎯?chǔ),每個(gè)數(shù)據(jù)元素占4個(gè)存儲(chǔ)單元,且A[10][5]的存儲(chǔ)地址是1000,則A[18][9]的地址是()
A. 1208 B. 1212 C. 1368 D. 1364
3. 設(shè)棧最大長(zhǎng)度為3,入棧序列為1,2,3,4,5,6,則不可能得出棧序列是() A. 1,2,3,4,5,6 B. 2,1,3,4,5,6 C. 3,4,2,1,5,6 D. 4,3,2,1,5,6 4. 設(shè)有98個(gè)已排序列元素,采用二分法查
似乎不難,可我還沒(méi)找到。
【中興筆試經(jīng)驗(yàn)分享】相關(guān)文章:
中興筆試面試經(jīng)驗(yàn)08-23
中興筆試題目分享有答案12-07
中興面試筆試題目分享答案12-07
網(wǎng)易筆試經(jīng)驗(yàn)分享01-15
筆試經(jīng)驗(yàn)-記中興通訊測(cè)試崗兩次筆試01-17
去中興面試的經(jīng)驗(yàn)總結(jié)分享01-25
公考筆試經(jīng)驗(yàn)分享01-18