描述風(fēng)的作文
中興筆試題目及答案(一)

1、 恢復(fù)和并發(fā)控制的基本單位
事務(wù)串行執(zhí)行:即每個(gè)時(shí)刻只有一個(gè)事務(wù)運(yùn)行,其他事物必須等到這個(gè)事務(wù)結(jié)束以后方能運(yùn)行。
同時(shí)并發(fā)方式:在多處理系統(tǒng)中,每個(gè)處理機(jī)可以運(yùn)行一個(gè)事務(wù),多個(gè)處理機(jī)可以同時(shí)運(yùn)行多個(gè)事務(wù),實(shí)現(xiàn)多個(gè)事務(wù)真正的并行運(yùn)行,這種并行方式稱為同時(shí)并發(fā)方式。
并發(fā)控制是指在多用戶的環(huán)境下,對(duì)數(shù)據(jù)庫(kù)進(jìn)行并發(fā)操作進(jìn)行規(guī)范的機(jī)制。其目的是為了避免對(duì)數(shù)據(jù)的丟失修改、讀臟數(shù)據(jù)與不可重復(fù)讀等,從而保證數(shù)據(jù)的正確性與一致性
大型關(guān)系系統(tǒng)都有比較好的并發(fā)控制功能。例如可以采用更新游標(biāo)、顯式加鎖、更改事務(wù)隔離級(jí)別等等
事務(wù)是數(shù)據(jù)庫(kù)中一個(gè)重要概念,它是一系列要么都做,要么都不做的程序集合,是數(shù)據(jù)庫(kù)并發(fā)控制的單位。
(1):事務(wù)(Transaction)是并發(fā)控制的單位,是用戶定義的一個(gè)操作序列。這些操作要么都做,要么都不做,是一個(gè)不可分割的工作單位。
(3):事務(wù)運(yùn)行的三種模式:
A:自動(dòng)提交事務(wù)
每條單獨(dú)的語(yǔ)句都是一個(gè)事務(wù)。每個(gè)語(yǔ)句后都隱含一個(gè)COMMIT。
B:顯式事務(wù)
以BEGIN TRANSACTION顯式開始,以COMMIT或ROLLBACK顯式結(jié)束。
C:隱性事務(wù)
在前一個(gè)事務(wù)完成時(shí),新事務(wù)隱式啟動(dòng),但每個(gè)事務(wù)仍以COMMIT或ROLLBACK顯式結(jié)束。
(4):事務(wù)的特性(ACID特性)
A:原子性(Atomicity)
事務(wù)是數(shù)據(jù)庫(kù)的邏輯工作單位,事務(wù)中包括的諸操作要么全做,要么全不做。
B:一致性(Consistency)
事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫(kù)從一個(gè)一致性狀態(tài)變到另一個(gè)一致性狀態(tài)。一致性與原子性是密切相關(guān)的。
C:隔離性(Isolation)
一個(gè)事務(wù)的執(zhí)行不能被其他事務(wù)干擾。
D:持續(xù)性/永久性(Durability)
一個(gè)事務(wù)一旦提交,它對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的改變就應(yīng)該是永久性的。
注:事務(wù)是恢復(fù)和并發(fā)控制的基本單位。
2、 中斷的功能
3、 ISO七層結(jié)構(gòu)
4、 給出個(gè)Ip地址,要?jiǎng)澐?個(gè)子網(wǎng),子頁(yè)掩碼——
5、 數(shù)據(jù)庫(kù)查詢優(yōu)化問題
6、 編寫程序:鍵盤輸入一系列數(shù)字(-1結(jié)束),輸出到aabb.bat文件中
7、 利用1、2、2、3、4這4個(gè)數(shù)字,組合
package list;
import java.util.ArrayList;
public class Test {
public java.util.ArrayList r; /pic/p>
public Test(ArrayList in) { /pic/p>
r = new ArrayList();
if (in.size()==1) /pic/p>
r.add(in.get(0));
String temp="";
for (int i=0;i
ArrayList sub = (ArrayList)in.clone(); /pic/p>
String s = (String)sub.remove(i); /pic/p>
if(s.equalsIgnoreCase(temp))
continue;
temp=s;
Test other = new Test(sub); /pic/p>
for (int j=0;j
r.add(s+(String)other.r.get(j)); /pic/p>
}
}
public static void main(String[] args) {
ArrayList a = new ArrayList();
a.add("1");
a.add("2");
a.add("3");
a.add("4");
Test test = new Test(a);
System.out.println("test.size()==="+test.r.size());
System.out.println("test==="+test.r.toString());
/* for (int i=0;i
if ((i+1)%(a.size()-1)==0)
System.out.println(test.r.get(i).toString());
else
System.out.print(test.r.get(i).toString()+","); */
}
8、 進(jìn)制轉(zhuǎn)換器
要求:(1)可輸入二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制數(shù);
(2)將已輸入的數(shù)轉(zhuǎn)換成其余進(jìn)制的數(shù);
(3)具有輸入輸出界面
9、 標(biāo)識(shí)符 java
編寫一個(gè)程序,檢查字符串是否為合法的Java標(biāo)識(shí)符
使用Character.isJavaIdentifierStart()方法和Character.isJavaIdentifierpart()方法,
class JavaIdentifierTest {
public static boolean isValidJavaIdentifier( String candidate ) {
if ( candidate.length( ) == 0 ||
! Character.isJavaIdentifierStart( candidate.charAt( 0 ) ) )
return false;
String tail = candidate.substring( 1 );
for ( int i = 0; i < tail.length( ); i++ )
if ( ! Character.isJavaIdentifierpart( tail.charAt( i ) ) )
return false;
return true;
}
public static void main( String[ ] args ) {
String[ ] candidates = { "", "9", "36C", "a1", "_pos", "index" };
for ( int i = 0; i < candidates.length; i++ )
System.out.println(
"isValidJavaIdentifier( "" + candidates[ i ] + "" ) --> " +
isValidJavaIdentifier( candidates[ i ] ) );
}
}
10、 C#中的訪問修飾符
類的每個(gè)成員都有特定類型的可訪問性。C#中的訪問修飾符與Java中的基本對(duì)應(yīng),但多出了一個(gè)internal。簡(jiǎn)而言之,C#有5種類型的可訪問性,如下所示:
public:成員可以從任何代碼訪問。
protected:成員只能從派生類訪問。
internal:成員只能從同一程序集的內(nèi)部訪問。
protected internal:成員只能從同一程序集內(nèi)的派生類訪問。
private:成員只能在當(dāng)前類的內(nèi)部訪問。
11從一個(gè)或幾個(gè)基本表(或視圖)導(dǎo)出的表,它與基本表不同,是一個(gè)虛表。
數(shù)據(jù)庫(kù)中只存放視圖的定義,而不存放視圖對(duì)應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍存放在原來的基本表中。所有基本表中的數(shù)據(jù)發(fā)生變化,從視圖中查詢出的數(shù)據(jù)也隨之改變。
視圖一經(jīng)定義,就可以和基本表一樣被查詢、刪除,也可以在一個(gè)視圖上再定義新的視圖,但對(duì)視圖的更新(增加、修改、刪除)操作則有一定的限制。
中興筆試題目及答案(二)
公共部分(50分)
1:作業(yè)調(diào)度程序從處于(B)狀態(tài)的隊(duì)列中選擇適當(dāng)?shù)淖鳂I(yè)投入運(yùn)行。(3分)
A 運(yùn)行 B 提交 C 完成 D后備
2:SQL語(yǔ)言中,刪除一個(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ù)庫(kù)中只存放視圖的(C) (3分)
A操作
B 對(duì)應(yīng)的數(shù)據(jù)
C 定義
D 限制
5:什么是虛擬設(shè)備?為什么在操作系統(tǒng)中引入虛擬設(shè)備?(10分)
通過虛擬技術(shù)將一臺(tái)可以獨(dú)占設(shè)備虛擬成多臺(tái)邏輯設(shè)備,供多個(gè)用戶進(jìn)程同時(shí)使用, 通常把這種經(jīng)過虛擬的設(shè)備稱為虛擬設(shè)備.
在操作系統(tǒng)設(shè)備管理中,引入虛擬設(shè)備是為了克服獨(dú)占設(shè)備速度較慢,降低設(shè)備資源利用率的缺占,從而提高設(shè)備的利用率.
6:TCP為何采用三次握手來建立連接,若采用二次握手可以嗎,請(qǐng)說明原因?(16分)
三次握手是為了防止已失效的連接請(qǐng)求再次傳送到服務(wù)器端。
二次握手不可行,因?yàn)椋喝绻捎诰W(wǎng)絡(luò)不穩(wěn)定,雖然客戶端以前發(fā)送的連接請(qǐng)求以到達(dá)服務(wù)方,但服務(wù)方的同意連接的應(yīng)答未能到達(dá)客戶端。則客戶方要重新發(fā)送連接請(qǐng)求,若采用二次握手,服務(wù)方收到重傳的請(qǐng)求連接后,會(huì)以為是新的請(qǐng)求,就會(huì)發(fā)送同意連接報(bào)文,并新開進(jìn)程提供服務(wù),這樣會(huì)造成服務(wù)方資源的無謂浪費(fèi)。
7:什么是分布式數(shù)據(jù)庫(kù)?(12分)
分布式數(shù)據(jù)庫(kù)系統(tǒng)是在集中式數(shù)據(jù)庫(kù)系統(tǒng)成熟技術(shù)的基礎(chǔ)上發(fā)展起來的,但不是簡(jiǎn)單地把集中式數(shù)據(jù)庫(kù)分散地實(shí)現(xiàn),它具有自己的性質(zhì)和特征。集中式數(shù)據(jù)庫(kù)系統(tǒng)的許多概念和技術(shù),如數(shù)據(jù)獨(dú)立性、數(shù)據(jù)共享和減少冗余度、并發(fā)控制、完整性、安全性和恢復(fù)等在分布式數(shù)據(jù)庫(kù)系統(tǒng)中都有了不同的、更加豐富的內(nèi)容。
(1)數(shù)據(jù)獨(dú)立性。數(shù)據(jù)獨(dú)立性是數(shù)據(jù)庫(kù)方法追求的主要目標(biāo)之一。在集中式數(shù)據(jù)庫(kù)中,數(shù)據(jù)獨(dú)立性包括兩方面:數(shù)據(jù)的邏輯獨(dú)立性和物理獨(dú)立性。其意義在于程序和數(shù)據(jù)的邏輯結(jié)構(gòu)和數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無關(guān)。在分布式系統(tǒng)中,數(shù)據(jù)庫(kù)獨(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ù)庫(kù)中,數(shù)據(jù)的獨(dú)立性是通過系統(tǒng)的三級(jí)模式和它們之間的二級(jí)映象得到的。分布式數(shù)據(jù)庫(kù),分布透明性是由于引入新的模式和模式之間的映象得到的。
(2)集中與自治相結(jié)合的控制結(jié)構(gòu)。數(shù)據(jù)庫(kù)是供用戶共享的,在集中式數(shù)據(jù)庫(kù)中,為保證數(shù)據(jù)的安全性和完整性,對(duì)數(shù)據(jù)庫(kù)的控制是集中的。由數(shù)據(jù)庫(kù)管理員(DBA)負(fù)責(zé)監(jiān)督和維護(hù)系統(tǒng)的正常運(yùn)行。
在分布式數(shù)據(jù)庫(kù)中,數(shù)據(jù)的共享有兩個(gè)層次:一是局部共享,即在局部場(chǎng)地上存儲(chǔ)局部用戶的共享數(shù)據(jù)。二是全局共享,即在分布式數(shù)據(jù)庫(kù)的各個(gè)場(chǎng)地也存儲(chǔ)可供網(wǎng)絡(luò)中其他場(chǎng)地的用戶共享的數(shù)據(jù),支持全局引用。因此,相應(yīng)的控制結(jié)構(gòu)也具有兩個(gè)層次:集中和自治。各局部的DBMS可以獨(dú)立地管理局部數(shù)據(jù)庫(kù),具有自治的功能。同時(shí),系統(tǒng)又設(shè)有集中控制機(jī)制,協(xié)調(diào)各局部DBMS的工作,執(zhí)行全局應(yīng)用。
(3)適當(dāng)增加數(shù)據(jù)冗余度。在集中式數(shù)據(jù)庫(kù)中,盡量減少冗余度是系統(tǒng)目標(biāo)之一。其原因是,冗余數(shù)據(jù)浪費(fèi)存儲(chǔ)空間,而且容易造成個(gè)副本之間的不一致性。減少冗余度的目標(biāo)是用數(shù)據(jù)共享來達(dá)到的。而在分布式系統(tǒng)中卻希望增加冗余數(shù)據(jù),在不同的場(chǎng)地存儲(chǔ)同一數(shù)據(jù)的多個(gè)副本。其原因是提高系統(tǒng)的可靠性和性能,當(dāng)某一場(chǎng)地出現(xiàn)故障,系統(tǒng)可以對(duì)另一場(chǎng)地上的相同副本進(jìn)行操作,不會(huì)造成系統(tǒng)的癱瘓。系統(tǒng)可以根據(jù)距離選擇離用戶最近的數(shù)據(jù)副本進(jìn)行操作,減少通信代價(jià)。但是增加冗余會(huì)碰到集中式數(shù)據(jù)庫(kù)同樣的問題,即不利于更新,增加了系統(tǒng)維護(hù)代價(jià),需要在這些方面作出權(quán)衡。
(4)全局的一致性、可串行性和可恢復(fù)性。分布式數(shù)據(jù)庫(kù)中各局部數(shù)據(jù)庫(kù)應(yīng)滿足集中式數(shù)據(jù)庫(kù)的一致性、可串行性和可恢復(fù)性。除此以外,還要保證數(shù)據(jù)庫(kù)的全局一致性、可串行性和可恢復(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的初始化語(yǔ)句為int (*pw)[4] = w;(3分)
2:要使引用pr代表變量“char *p”,則pr的初始化語(yǔ)句為char * &pr = p;(3分)
3:“零值”可以是0,0.0,F(xiàn)ALSE或者“空指針”。例如int變量n與“零值”比較的if語(yǔ)句為:if(n==0),則BOOL flag與“零值”比較的if語(yǔ)句為 if(!a) ;float x與“零值”比較的if語(yǔ)句為:const float EPSINON = 0.00001; if ((x >= - EPSINON) && (x <= EPSINON)。(6分)
4:設(shè)有如下語(yǔ)句:(C)(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è)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:請(qǐng)寫出如下代碼的運(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:寫出下面函數(shù)的功能(12分)將數(shù)組a中的元素(如果為類類型,調(diào)用拷貝賦值算符)逆序放置到數(shù)組b中
Template
void WE(Type a[],Type b[],int n)
{
for(int i=0;i<n;i++)< p="">
b[n-i-1]=a[i];
}
8:寫一段代碼判斷一個(gè)單向鏈表中是否有環(huán)。(14分)
給出如下結(jié)構(gòu)
struct node
{
struct *next;
};
typedef stuct node Node;
答:
#include
struct listtype
{
int data;
struct listtype * next;
};
typedef struct listtype * list;
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:判斷下列對(duì)的是哪個(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)。子類的對(duì)象使用這個(gè)方法時(shí),將調(diào)用子類中的定義,對(duì)它而言,父類中的定義如同被“屏蔽”了。如果在一個(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了;而對(duì)于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è)鍵所對(duì)應(yīng)的值為null。當(dāng)get()方法返回null值時(shí),即可以表示 HashMap中沒有該鍵,也可以表示該鍵所對(duì)應(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),以及一些對(duì)點(diǎn)進(jìn)行的操作,包括:取得點(diǎn)的坐標(biāo)值,對(duì)點(diǎn)的坐標(biāo)進(jìn)行賦值,編寫應(yīng)用程序生成該類的對(duì)象并對(duì)其進(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í)行語(yǔ)句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è)棧最大長(zhǎng)度為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)
【描述風(fēng)的作文】相關(guān)文章:
描述冬天的作文12-03
描述春雨的作文09-14
描述未來的作文08-08
描述橋的作文12-07
西瓜作文描述11-10
描述秋季作文11-11
描述父親的作文01-15
描述夏天的作文01-04
描述秋天的作文12-09
(經(jīng)典)描述春雨的作文11-16
- 相關(guān)推薦