日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

中兴笔试题目及答案(软件开发工程师)

發(fā)布時(shí)間:2023/12/20 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 中兴笔试题目及答案(软件开发工程师) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
中興筆試題
公共部分(50分)
http://www.cnblogs.com/JCSU/articles/1290606.html

1:作業(yè)調(diào)度程序從處于(B)狀態(tài)的隊(duì)列中選擇適當(dāng)?shù)淖鳂I(yè)的作業(yè)投入運(yùn)行。(3分)
  A 運(yùn)行?? B 提交?? C 完成?? D后備
2:SQL語言中,刪除一個(gè)表的命令是(B) (3分)
  A CLEAR TABLE B DROP TABLE
  C DELETE TABLE D REMOVE TABLE
3:ATM采用的線路復(fù)用方式為(C) (3分)
  A 頻分多路復(fù)用
  B 同步時(shí)分多路復(fù)用
  C 異步時(shí)分多路復(fù)用
  D 獨(dú)占信道
4:數(shù)據(jù)庫中只存放視圖的(C) (3分)
  A操作
  B 對應(yīng)的數(shù)據(jù)
  C 定義
  D 限制
5:什么是虛擬設(shè)備?為什么在操作系統(tǒng)中引入虛擬設(shè)備?(10分)
SPOOLing是Simultaneous Peripheral Operation On-Line (即外部設(shè)備聯(lián)機(jī)并行操作)的縮寫,它是關(guān)于慢速字
符設(shè)備如何與計(jì)算機(jī)主機(jī)交換信息的一種技術(shù),通常稱為“假脫機(jī)技術(shù)”。
6:TCP為何采用三次握手來建立連接,若采用二次握手可以嗎,請說明原因?(16分)
三次握手是為了防止已失效的連接請求再次傳送到服務(wù)器端。
二次握手不可行,因?yàn)?#xff1a;如果由于網(wǎng)絡(luò)不穩(wěn)定,雖然客戶端以前發(fā)送的連接請求以到達(dá)服務(wù)方,但服務(wù)方的同意
連接的應(yīng)答未能到達(dá)客戶端。則客戶方要重新發(fā)送連接請求,若采用二次握手,服務(wù)方收到重傳的請求連接后,會(huì)以
為是新的請求,就會(huì)發(fā)送同意連接報(bào)文,并新開進(jìn)程提供服務(wù),這樣會(huì)造成服務(wù)方資源的無謂浪費(fèi)。
7:什么是分布式數(shù)據(jù)庫?(12分)
分布式數(shù)據(jù)庫系統(tǒng)是在集中式數(shù)據(jù)庫系統(tǒng)成熟技術(shù)的基礎(chǔ)上發(fā)展起來的,但不是簡單地把集中式數(shù)據(jù)庫分散地實(shí)
現(xiàn),它具有自己的性質(zhì)和特征。集中式數(shù)據(jù)庫系統(tǒng)的許多概念和技術(shù),如數(shù)據(jù)獨(dú)立性、數(shù)據(jù)共享和減少冗余度、并發(fā)
控制、完整性、安全性和恢復(fù)等在分布式數(shù)據(jù)庫系統(tǒng)中都有了不同的、更加豐富的內(nèi)容。
(1)數(shù)據(jù)獨(dú)立性。數(shù)據(jù)獨(dú)立性是數(shù)據(jù)庫方法追求的主要目標(biāo)之一。在集中式數(shù)據(jù)庫中,數(shù)據(jù)獨(dú)立性包括兩方面:數(shù)據(jù)
的邏輯獨(dú)立性和物理獨(dú)立性。其意義在于程序和數(shù)據(jù)的邏輯結(jié)構(gòu)和數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無關(guān)。在分布式系統(tǒng)中,數(shù)據(jù)庫獨(dú)
立性除了上面所說之外,還有數(shù)據(jù)分布獨(dú)立性亦稱分布透明性,即用戶不必關(guān)心數(shù)據(jù)的邏輯分片,不必關(guān)心數(shù)據(jù)的物
理位置分布的細(xì)節(jié),也不必關(guān)心重復(fù)副本(冗余數(shù)據(jù))的一致性問題。有了分布透明性,用戶的應(yīng)用程序書寫起來就如
同數(shù)據(jù)沒有分布一樣。在集中式數(shù)據(jù)庫中,數(shù)據(jù)的獨(dú)立性是通過系統(tǒng)的三級模式和它們之間的二級映象得到的。分布
式數(shù)據(jù)庫,分布透明性是由于引入新的模式和模式之間的映象得到的。
(2)集中與自治相結(jié)合的控制結(jié)構(gòu)。數(shù)據(jù)庫是供用戶共享的,在集中式數(shù)據(jù)庫中,為保證數(shù)據(jù)的安全性和完整性,對
數(shù)據(jù)庫的控制是集中的。由數(shù)據(jù)庫管理員(DBA)負(fù)責(zé)監(jiān)督和維護(hù)系統(tǒng)的正常運(yùn)行。
在分布式數(shù)據(jù)庫中,數(shù)據(jù)的共享有兩個(gè)層次:一是局部共享,即在局部場地上存儲(chǔ)局部用戶的共享數(shù)據(jù)。二是全局共
享,即在分布式數(shù)據(jù)庫的各個(gè)場地也存儲(chǔ)可供網(wǎng)絡(luò)中其他場地的用戶共享的數(shù)據(jù),支持全局引用。因此,相應(yīng)的控制
結(jié)構(gòu)也具有兩個(gè)層次:集中和自治。各局部的DBMS可以獨(dú)立地管理局部數(shù)據(jù)庫,具有自治的功能。同時(shí),系統(tǒng)又設(shè)有
集中控制機(jī)制,協(xié)調(diào)各局部DBMS的工作,執(zhí)行全局應(yīng)用。
(3)適當(dāng)增加數(shù)據(jù)冗余度。在集中式數(shù)據(jù)庫中,盡量減少冗余度是系統(tǒng)目標(biāo)之一。其原因是,冗余數(shù)據(jù)浪費(fèi)存儲(chǔ)空間
,而且容易造成個(gè)副本之間的不一致性。減少冗余度的目標(biāo)是用數(shù)據(jù)共享來達(dá)到的。而在分布式系統(tǒng)中卻希望增加冗
余數(shù)據(jù),在不同的場地存儲(chǔ)同一數(shù)據(jù)的多個(gè)副本。其原因是提高系統(tǒng)的可靠性和性能,當(dāng)某一場地出現(xiàn)故障,系統(tǒng)可
以對另一場地上的相同副本進(jìn)行操作,不會(huì)造成系統(tǒng)的癱瘓。系統(tǒng)可以根據(jù)距離選擇離用戶最近的數(shù)據(jù)副本進(jìn)行操作
,減少通信代價(jià)。但是增加冗余會(huì)碰到集中式數(shù)據(jù)庫同樣的問題,即不利于更新,增加了系統(tǒng)維護(hù)代價(jià),需要在這些
方面作出權(quán)衡。
(4)全局的一致性、可串行性和可恢復(fù)性。分布式數(shù)據(jù)庫中各局部數(shù)據(jù)庫應(yīng)滿足集中式數(shù)據(jù)庫的一致性、可串行性和
可恢復(fù)性。除此以外,還要保證數(shù)據(jù)庫的全局一致性、可串行性和可恢復(fù)性。例如,在前面提到的銀行轉(zhuǎn)帳事務(wù)中,
包括兩個(gè)節(jié)點(diǎn)上的更新操作,當(dāng)其中一個(gè)節(jié)點(diǎn)出現(xiàn)故障,應(yīng)使全局事務(wù)回滾,在一個(gè)節(jié)點(diǎn)撤銷已經(jīng)執(zhí)行的操作等。


C++部分(50分)

1:設(shè)有“int w[3][4];”,pw是與數(shù)組名w等價(jià)的數(shù)組指針,則pw的初始化語句為int (*pw)[4] = w;(3分)
2:要使引用pr代表變量“char *p”,則pr的初始化語句為char * &pr = p;(3分)
3:“零值”可以是0,0.0,FALSE或者“空指針”。例如int變量n與“零值”比較的if語句為:if(n==0),則BOOL
flag與“零值”比較的if語句為 if(!a) ;float x與“零值”比較的if語句為:const float EPSINON = 0.00001;
if ((x >= - EPSINON) && (x <= EPSINON)。(6分)
4:設(shè)有如下語句:(C)(3分)
  Int x;
  *px=0;
  則選擇以下哪條語句可將x值置為0。
  A int *px; ?? B int const *px=&x;
  C int *const px=&x; D const int *px=&x;
5:設(shè)void f1(int *m,long &n);int a;long b;則以下調(diào)用合法的是(B)(3分)
  A f1(a,b) B f1(&a,b)
  C f1(a,&b) D f1(&a,&b)
6:請寫出如下代碼的運(yùn)行結(jié)果(6分)6
int main()
{
int a,b,c,d;
  a=0;
  b=1;
  c=2;
  d=3;
  printf(“%d”,a+++b+c+++d++);
}
7:寫出下面函數(shù)的功能(12分)將數(shù)組a中的元素(如果為類類型,調(diào)用拷貝賦值算符)逆序放置到數(shù)組b中
Template<class Type>
void WE(Type a[],Type b[],int n)
{
for(int i=0;i<n;i++)
?? b[n-i-1]=a;
}

8:寫一段代碼判斷一個(gè)單向鏈表中是否有環(huán)。(14分)
  給出如下結(jié)構(gòu)
struct node
{
struct *next;
};
typedef stuct node Node;
答:
#include <stddef.h>
struct listtype
{
int data;
struct listtype * next;
};
typedef struct listtype * list;
/* Check that whether there is loop in the singly linked list sll or not. */
int find_circle(list sll)
{
list fast = sll;
list slow = sll;
if (NULL == fast)
{
?? ??? return -1;
}
while (fast && fast->next)
{
?? ??? fast = fast->next->next;
?? ??? slow = slow->next;
?? ??? if (fast == slow)
?? ??? {
?? ?? ?? return 1;
?? ??? }
}
return 0;
}


JAVA部分(50分)

1:判斷下列對的是哪個(gè)(B)(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)是合法的(C)(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的值是(A)(3分)
  A 3.5 B 3
  C 4 D 5
  4:Math.round(11.5)=12
  Math.round(-11.5)=-11(4分)
5:假設(shè)x=10,y=20,z=30;計(jì)算下列表達(dá)式的值(6分)
  A x<10||x>10_________false
  B !(x<=20)___________false
  C z-y==x&&Math.abs(y-z)!=x_____________false
6:方法重建Overload和方法的重寫Overriding的區(qū)別。Overload的方法是否可以改變返回值的類型?(10分)
方法的重寫Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重寫Overriding是父類與子類之間多態(tài)性
的一種表現(xiàn),重載Overloading是一個(gè)類中多態(tài)性的一種表現(xiàn)。如果在子類中定義某方法與其父類有相同的名稱和參
數(shù),我們說該方法被重寫(Overriding)。子類的對象使用這個(gè)方法時(shí),將調(diào)用子類中的定義,對它而言,父類中的定
義如同被“屏蔽”了。如果在一個(gè)類中定義了多個(gè)同名的方法,它們或有不同的參數(shù)個(gè)數(shù)或有不同的參數(shù)類型,則稱
為方法的重載(Overloading)。 Overloaded的方法是可以改變返回值的類型。
7:談?wù)凥ashMap和Hashtable的區(qū)別(6分)
答:
1.Hashtable是Dictionary的子類,HashMap是Map接口的一個(gè)實(shí)現(xiàn)類;
2.Hashtable中的方法是同步的,而HashMap中的方法在缺省情況下是非同步的。即是說,在多線程應(yīng)用程序中,不用
專門的操作就安全地可以使用Hashtable了;而對于HashMap,則需要額外的同步機(jī)制。但HashMap的同步問題可通過
Collections的一個(gè)靜態(tài)方法得到解決:
Map Collections.synchronizedMap(Map m)
這個(gè)方法返回一個(gè)同步的Map,這個(gè)Map封裝了底層的HashMap的所有方法,使得底層的HashMap即使是在多線程的環(huán)境
中也是安全的。
3. 在HashMap中,null可以作為鍵,這樣的鍵只有一個(gè);可以有一個(gè)或多個(gè)鍵所對應(yīng)的值為null。當(dāng)get()方法返回
null值時(shí),即可以表示 HashMap中沒有該鍵,也可以表示該鍵所對應(yīng)的值為null。因此,在HashMap中不能由get()方
法來判斷HashMap中是否存在某個(gè)鍵,而應(yīng)該用containsKey()方法來判斷。
4.其底層的實(shí)現(xiàn)機(jī)制不同,hashmap的訪問速度要快于hashtable,因?yàn)樗恍枰M(jìn)行同步檢驗(yàn),建議在非多線程環(huán)境
中使用hashmap代替hashtable .
8:構(gòu)造一個(gè)類來描述屏幕上的一個(gè)點(diǎn),該類的構(gòu)成包括點(diǎn)x和y兩個(gè)坐標(biāo),以及一些對點(diǎn)進(jìn)行的操作,包括:取得點(diǎn)
的坐標(biāo)值,對點(diǎn)的坐標(biāo)進(jìn)行賦值,編寫應(yīng)用程序生成該類的對象并對其進(jìn)行操作。(15分)
class Point
{
private int x;
private int y;
public int getX() {
?? ??? return x;
}
public int getY() {
?? ??? return y;
}
public void setX(int x) {
?? ??? this.x = x;
}
public void setY(int y) {
?? ??? this.y = y;
}
}

數(shù)據(jù)結(jié)構(gòu)和算法
1. 假設(shè)執(zhí)行語句S的時(shí)間為O(1),則執(zhí)行下列程序短的時(shí)間為(B)
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)
A. 1208
B. 1212
C. 1368
D. 1364
3. 設(shè)棧最大長度為3,入棧序列為1,2,3,4,5,6,則不可能得出棧序列是(D)
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è)已排序列元素,采用二分法查找時(shí),最大比較次數(shù)是(D)
A. 49
B. 15
C. 20
D. 7
5. Hash表示用于數(shù)據(jù)存儲(chǔ)的一種有效的數(shù)據(jù)結(jié)構(gòu),Hash表等查找復(fù)雜度依賴于Hash值算法的有效性,在最好的情況
下,Hash表的查找復(fù)雜度為(A)
A. O(1)
B. O(logn)
C. O(n)
D. O(nlogn)


第二部分 軟件工程

1. 軟件能力成熟度模型CMM共分為(C)成熟度等級
A. 3
B. 4
C. 5
D. 6
2. 按照是否了解軟件的內(nèi)部構(gòu)造,可以將測試分為黑盒測試和白盒測試??紤]以下算法的PDL語句,如果要對其進(jìn)行
完全路徑覆蓋的白盒測試,則需要()條路徑。
do ehile records remain
?? read record;
?? if record field 1 = 0
?? ?? ?? ??? then process record;
?? ?? ?? ?? ?? ?? store in buffer;
?? ?? ?? ?? ?? ?? increment counter;
?? ?? ?? ??? elseif record field 2 = 0
?? ?? ?? ?? ?? ?? then reset counter;
?? ?? ?? ?? ?? ?? else process record;
?? ?? ?? ?? ?? ?? store in file;
?? ?? ?? ??? endif
?? endif
enddo
A. 4
B. 5
C. 6
D. 7
3. 按照瀑布模型的階段劃分,軟件測試可以分為單元測試,集成測試,系統(tǒng)測試。請問以下那項(xiàng)測試不屬于系統(tǒng)測
試的內(nèi)容()
A. 壓力測試
B. 接口測試
C. 功能測試
D. 安全測試
E. 性能測試
4. 測試用例的設(shè)計(jì)是測試的重要階段。系統(tǒng)測試用例設(shè)計(jì)應(yīng)該從什么時(shí)候開始()
A. 需求完成
B. 詳細(xì)設(shè)計(jì)完成
C. 編碼完成
D. 系統(tǒng)集成完畢,提交系統(tǒng)測試
5. 在UML方法中,使用多種類型的圖形來幫助進(jìn)行設(shè)計(jì),請問一下那些圖形不是UML的圖形類型(B)
A. 類圖
B. 實(shí)體關(guān)系圖
C. 序列圖
D. 活動(dòng)圖


第三部分?? Java語言及其他

1. 下面哪個(gè)是short型的取值范圍:(C)
A. -27--- 27-1
B. 0 --- 216-1
C. -215--- 215-1
D. -231---231-1
2. 下面哪項(xiàng)是不合法的標(biāo)識(shí)符:(C)
A. $persons
B. TwoUsers
C. *point
D. _endline
3. 設(shè) float x = 1,y = 2,z = 3,則表達(dá)式 y+=z--/++x 的值是(A)
A. 3.5
B. 3
C. 4
D. 5
4. 下列哪些關(guān)鍵字即能夠被用于局部變量的修飾,也可以用做類變量的修飾()
A. public
B. transient
C. static
D. finally
5. 以下的語句構(gòu)造了幾個(gè)JAVA對象?(B)

String S = new String(“aaa”);
A. 1
B. 2
C. 3
6. 下面的哪些敘述為真(C)
A. equals()方法判定引用值是否指向同一對象
B. == 操作符判定兩個(gè)不同的對象的內(nèi)容和類型是否一致
C. equal() 方法只有在兩個(gè)對象的內(nèi)容一致時(shí)返回ture
D. 類File重寫方法equals()在兩個(gè)不同的對象的內(nèi)容和類型一致時(shí)返回ture
7. 如果一個(gè)對象僅僅聲明實(shí)現(xiàn)了cloneable接口,但是不聲明clone方法,外部能夠調(diào)用其clone方法嗎?(A)
A. 能
B. 不能
C. 不確定
8. 考慮在C/S結(jié)構(gòu)下,服務(wù)器接受并處理請求,那么關(guān)于服務(wù)器處理請求的模式,哪些描述是錯(cuò)誤的()
A. 單線程模式下,服務(wù)器使用一個(gè)線程順序的處理所有的請求,可能導(dǎo)致阻塞
B. 服務(wù)器可以為每一個(gè)請求創(chuàng)建一個(gè)線程來處理該請求,這樣做比單線程模式更加穩(wěn)定
C. 線程池模式下,當(dāng)線程使用達(dá)到最大數(shù)量限制之后,線程池中沒用可用線程的時(shí)候,服務(wù)器將阻塞或者拒絕某個(gè)
請求的處理
9. 使用Swing做界面的時(shí)候,如果把一個(gè)JButton放在一個(gè)JFrame中,在JFrame改變時(shí)只影響JButton的高度而寬度不
受影響,應(yīng)該使用哪個(gè)布局管理器?(D)
A. FlowLayout
B. CardLayout
C. North and South of BorderLayout
D. East and West of BorderLayout
E. GridLayout
10. 以下的那個(gè)狀態(tài)是SessionBean所具有,而StatelessBean不具有的(D)
A. 池態(tài)
B. 就緒態(tài)
C. 不存在態(tài)
D. 鈍化態(tài)
11. 以下關(guān)于數(shù)據(jù)庫范式的描述,哪些是錯(cuò)誤的(B)
A. 如果把多個(gè)數(shù)據(jù)項(xiàng)用一個(gè)大的String表示為一個(gè)字段,則不滿足第一范式
B. 滿足數(shù)據(jù)庫范式使得數(shù)據(jù)庫的效率更高
C. 如果滿足更高的范式,則必須首先滿足低級別的范式
D. 數(shù)據(jù)庫第二范式要求把表中與所有鍵沒有直接關(guān)系的數(shù)據(jù)全部拆分到其他表中
12. 考慮一下需求:包括學(xué)生、課程和教師的信息。其中學(xué)生的信息包括學(xué)生姓名、年齡地址等;課程信息包括課程
號、課程名、課程學(xué)分等;教師信息包括教師的姓名、教師的地址等。一個(gè)學(xué)生可以選修多門課,而每門課也能有多
個(gè)學(xué)生選修;一位教師可以教多門課,每門課也可以由多個(gè)教師講授。請問如果使用關(guān)系數(shù)據(jù)庫,并且達(dá)到第二范式
的要求,需要設(shè)計(jì)(C)張表
A. 3
B. 4
C. 5
D. 6
13. 為了加快數(shù)據(jù)庫查找的速度,需要對數(shù)據(jù)表添加索引,請問以下關(guān)于索引的描述,哪些是錯(cuò)誤的(D)
A. 聚類索引中,表中行的物理次序與索引鍵值的邏輯順序相同
B. 使用索引會(huì)使得數(shù)據(jù)更新的效率降低
C. 在大多數(shù)數(shù)據(jù)庫系統(tǒng)中,每張表只能夠有一個(gè)聚類索引
D. 考慮這個(gè)SQL語句:Select S.name,S.age from Student S where S.address=”成都”,如果我們對表Student
建一個(gè)復(fù)合索引(age,address),可以改善上述查詢的效率。


第四部分 問答題

1. 簡述一個(gè)Linux驅(qū)動(dòng)程序的主要流程與功能。
2. 請列舉一個(gè)軟件中時(shí)間換空間或者空間換時(shí)間的例子。
數(shù)組成倍增長(空間換時(shí)間)。

3. 簡述進(jìn)程與線程的區(qū)別。
多線程共存于應(yīng)用程序中是現(xiàn)代操作系統(tǒng)中的基本特征和重要標(biāo)志。用過UNIX操作系統(tǒng)的讀者知道進(jìn)程,在UNIX操作
系統(tǒng)中,每個(gè)應(yīng)用程序的執(zhí)行都在操作系統(tǒng)內(nèi)核中登記一個(gè)進(jìn)程標(biāo)志,操作系統(tǒng)根據(jù)分配的標(biāo)志對應(yīng)用程序的執(zhí)行進(jìn)
行調(diào)度和系統(tǒng)資源分配,但進(jìn)程和線程有什么區(qū)別呢?
進(jìn)程和線程都是由操作系統(tǒng)所體會(huì)的程序運(yùn)行的基本單元,系統(tǒng)利用該基本單元實(shí)現(xiàn)系統(tǒng)對應(yīng)用的并發(fā)性。進(jìn)程和線
程的區(qū)別在于:
線程的劃分尺度小于進(jìn)程,使得多線程程序的并發(fā)性搞。
另外,進(jìn)程在執(zhí)行過程中擁有獨(dú)立的內(nèi)存單元,而多個(gè)線程共享內(nèi)存,從而極大地提高了程序的運(yùn)行效率。
線程在執(zhí)行過程中與進(jìn)程還是有區(qū)別的。每個(gè)獨(dú)立的線程有一個(gè)程序運(yùn)行的入口、順序執(zhí)行序列和程序的出口。但是
線程不能夠獨(dú)立執(zhí)行,必須依存在應(yīng)用程序中,由應(yīng)用程序提供多個(gè)線程執(zhí)行控制。
從邏輯角度來看,多線程的意義在于一個(gè)應(yīng)用程序中,有多個(gè)執(zhí)行部分可以同時(shí)執(zhí)行。但操作系統(tǒng)并沒有將多個(gè)線程
看做多個(gè)獨(dú)立的應(yīng)用,來實(shí)現(xiàn)進(jìn)程的調(diào)度和管理以及資源分配。這就是進(jìn)程和線程的重要區(qū)別。
進(jìn)程(Process)是最初定義在Unix等多用戶、多任務(wù)操作系統(tǒng)環(huán)境下用于表示應(yīng)用程序在內(nèi)存環(huán)境中基本執(zhí)行單元的
概念。以Unix操作系統(tǒng)為例,進(jìn)程是Unix操作系統(tǒng)環(huán)境中的基本成分、是系統(tǒng)資源分配的基本單位。Unix操作系統(tǒng)中
完成的幾乎所有用戶管理和資源分配等工作都是通過操作系統(tǒng)對應(yīng)用程序進(jìn)程的控制來實(shí)現(xiàn)的。
C、C++、Java等語言編寫的源程序經(jīng)相應(yīng)的編譯器編譯成可執(zhí)行文件后,提交給計(jì)算機(jī)處理器運(yùn)行。這時(shí),處在可執(zhí)
行狀態(tài)中的應(yīng)用程序稱為進(jìn)程。從用戶角度來看,進(jìn)程是應(yīng)用程序的一個(gè)執(zhí)行過程。從操作系統(tǒng)核心角度來看,進(jìn)程
代表的是操作系統(tǒng)分配的內(nèi)存、CPU 時(shí)間片等資源的基本單位,是為正在運(yùn)行的程序提供的運(yùn)行環(huán)境。進(jìn)程與應(yīng)用程
序的區(qū)別在于應(yīng)用程序作為一個(gè)靜態(tài)文件存儲(chǔ)在計(jì)算機(jī)系統(tǒng)的硬盤等存儲(chǔ)空間中,而進(jìn)程則是處于動(dòng)態(tài)條件下由操作
系統(tǒng)維護(hù)的系統(tǒng)資源管理實(shí)體。多任務(wù)環(huán)境下應(yīng)用程序進(jìn)程的主要特點(diǎn)包括:
●進(jìn)程在執(zhí)行過程中有內(nèi)存單元的初始入口點(diǎn),并且進(jìn)程存活過程中始終擁有獨(dú)立的內(nèi)存地址空間;
●進(jìn)程的生存期狀態(tài)包括創(chuàng)建、就緒、運(yùn)行、阻塞和死亡等類型;
●從應(yīng)用程序進(jìn)程在執(zhí)行過程中向CPU發(fā)出的運(yùn)行指令形式不同,可以將進(jìn)程的狀態(tài)分為用戶態(tài)和核心態(tài)。處于用戶
態(tài)下的進(jìn)程執(zhí)行的是應(yīng)用程序指令、處于核心態(tài)下的應(yīng)用程序進(jìn)程執(zhí)行的是操作系統(tǒng)指令。
在Unix操作系統(tǒng)啟動(dòng)過程中,系統(tǒng)自動(dòng)創(chuàng)建swapper、init等系統(tǒng)進(jìn)程,用于管理內(nèi)存資源以及對用戶進(jìn)程進(jìn)行調(diào)度
等。在Unix環(huán)境下無論是由操作系統(tǒng)創(chuàng)建的進(jìn)程還要由應(yīng)用程序執(zhí)行創(chuàng)建的進(jìn)程,均擁有唯一的進(jìn)程標(biāo)識(shí)(PID)。

4. static有什么用途?(請至少說明兩種)
static關(guān)鍵字是C, C++中都存在的關(guān)鍵字, 它主要有三種使用方式, 其中前兩種只指在C語言中使用, 第三種在
C++中使用(C,C++中具體細(xì)微操作不盡相同, 本文以C++為準(zhǔn)).
?? (1)局部靜態(tài)變量??
?? (2)外部靜態(tài)變量/函數(shù)??
?? (3)靜態(tài)數(shù)據(jù)成員/成員函數(shù)

5. 頭文件中的ifndef/define/endif做什么用?條件編譯
6. 請問一下程序?qū)⑤敵鍪裁唇Y(jié)果?亂碼
char *RetMenory(void)
{
?? char p[] = “hellow world”;
?? return p;
}
void Test(void)
{
?? char *str = NULL;
?? str = RetMemory();
?? printf(str);
}
7. 引用與指針有什么區(qū)別?
8. 描述實(shí)時(shí)系統(tǒng)的基本特性
9. 全局變量和局部變量在內(nèi)存中是否有區(qū)別?如果有,是什么區(qū)別?
10. 什么是平衡二叉樹?
11. 堆棧溢出一般是由什么原因?qū)е碌?#xff1f;
?? 遞歸調(diào)用深度過深(棧)

12. 什么函數(shù)不能聲明為虛函數(shù)?
?? 一個(gè)類中將所有的成員函數(shù)都盡可能地設(shè)置為虛函數(shù)總是有益的。??
?? 設(shè)置虛函數(shù)須注意:??
?? 1:只有類的成員函數(shù)才能說明為虛函數(shù);??
?? 2:靜態(tài)成員函數(shù)不能是虛函數(shù);??
?? 3:內(nèi)聯(lián)函數(shù)不能為虛函數(shù);??
?? 4:構(gòu)造函數(shù)不能是虛函數(shù);??
?? 5:析構(gòu)函數(shù)可以是虛函數(shù),而且通常聲明為虛函數(shù)。
13. 冒泡排序算法的時(shí)間復(fù)雜度是什么?n*n

14. #include <filename.h> 和 #include “filename.h” 有什么區(qū)別?
用 #include <filename.h> 格式來引用標(biāo)準(zhǔn)庫的頭文件(編譯器將從標(biāo)準(zhǔn)庫目錄開始搜索)。
用 #include “filename.h” 格式來引用非標(biāo)準(zhǔn)庫的頭文件(編譯器將從用戶的工作目錄開始搜索)。

15. 寫出float x 與“零值”比較的if語句。
const float EPSINON = 0.00001;
if ((x >= - EPSINON) && (x <= EPSINON)
16. 操作系統(tǒng)中進(jìn)程調(diào)度策略有哪幾種?
先來先服務(wù) 短作業(yè)優(yōu)先 高優(yōu)先權(quán)優(yōu)先 時(shí)間片輪轉(zhuǎn)
17. Internet采用哪種網(wǎng)絡(luò)協(xié)議?該協(xié)議的主要層次結(jié)構(gòu)?TCP/IP
18. Internet物理地址和IP地址轉(zhuǎn)換采用什么協(xié)議?ARP RARP

19. IP地址的編碼分為哪倆部分?網(wǎng)絡(luò)號 主機(jī)號

總結(jié)

以上是生活随笔為你收集整理的中兴笔试题目及答案(软件开发工程师)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。