c面試題的內(nèi)容_第1頁
c面試題的內(nèi)容_第2頁
c面試題的內(nèi)容_第3頁
c面試題的內(nèi)容_第4頁
c面試題的內(nèi)容_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

Question31.(單選)

根據(jù)線程安全的相關(guān)知識(shí),分析以下代碼,當(dāng)調(diào)用test方法時(shí)i>10時(shí)是否會(huì)引起死鎖?

publicvoidtest(inti)

{

lock(this)

{

if(i>10)

{

i--;

test(i);

}

}

}

1.會(huì)鎖死

2.不會(huì)鎖死

Question32.(單選)

以下描述錯(cuò)誤的是()

1.在C++中支持抽象類而在C#中不支持抽象類。

2.C++中可在頭文件中聲明類的成員而在CPP文件中定義類的成員,在C#中沒有頭文件并且在同一處聲明和定義類的成員。

3.在C#中可使用new修飾符顯式隱藏從基類繼承的成員。

4.在C#中要在派生類中重新定義基類的虛函數(shù)必須在前面加Override。

Question33.(單選)

int[][]myArray3=newint[3][]{newint[3]{5,6,2},newint[5]{6,9,7,8,3},newint[2]{3,2}};myArray3[2][2]的值是()。

1.9

2.2

3.6

4.越界

Question34.(單選)

在C#中利用Socket進(jìn)行網(wǎng)絡(luò)通信編程的一般步驟是:建立Socket偵聽、()、利用Socket接收和發(fā)送數(shù)據(jù)。

1.建立Socket連接

2.獲得端口號;

3.獲得IP地址;

4.獲得主機(jī)名;

Question35.(單選)

如果設(shè)treeView1=newTreeView(),TreeNodenode=newTreeNode("根結(jié)點(diǎn)"),則treeView1.Nodes.Add(node)返回的是一個(gè)()類型的值。

1.TreeNode;

2.int;

3.string;

4.TreeView;

Question36.(單選)

聲明一個(gè)委托publicdelegateintmyCallBack(intx);則用該委托產(chǎn)生的回調(diào)方法的原型應(yīng)該是

1.voidmyCallBack(intx)

2.intreceive(intnum)

3.stringreceive(intx)

4.不確定的

Question37.(單選)

關(guān)于ASP.NET中的代碼隱藏文件的描述正確的是

1.Web窗體頁的程序的邏輯由代碼組成,這些代碼的創(chuàng)建用于與窗體交互。編程邏輯唯一與用戶界面不同的文件中。該文件稱作為“代碼隱藏”文件,如果用C#創(chuàng)建,該文件

2.項(xiàng)目中所有Web窗體頁的代碼隱藏文件都被編譯成.EXE文件

3.項(xiàng)目中所有的Web窗體頁的代碼隱藏文件都被編譯成項(xiàng)目動(dòng)態(tài)鏈接庫(.dll)文件

4.以上都不正確

Question38.(單選)

Whatcompilerswitchcreatesanxmlfilefromthexmlcommentsinthefilesinanassembly?

1./text

2./doc

3./xml

4./help

Question39.(單選)

下面的代碼實(shí)現(xiàn)了設(shè)計(jì)模式中的什么模式

publicclassA{

privateAinstance;

privateA(){

}

publicstaticAInstance{

get

{

if(A==null)

A=newA();

returninstance;

}

}

}

1.Factory

2.AbstractFactory

3.Singleton

4.Builder

Question40.(單選)

classClass1

{

publicvirtualvoidFun()

{

Console.WriteLine("A.Fun()");

}

}

publicclassB:A

{

publicB()

{

Console.WriteLine('B');

}

publicnewvoidFun()

{

Console.WriteLine("B.Fun()");

}

publicstaticvoidMain()

{

Aa=newB();

a.Fun();

}

}

1.ABA.Fun()

2.ABB.Fun()

3.BAA.Fun()

4.BAB.Fun()

Question45.(單選)

Whichofthesestringdefinitionswillpreventescapingon

backslashesinC#?*

1.strings=#”nTeststring”;

2.strings=“’nTeststring”;

3.strings=@”nTeststring”;

4.strings=“nTeststring”;

Question46.(單選)

WhichofthefollowingoperationscanyouNOTperformonanADO.NETDataSet?

1.ADataSetcanbesynchronisedwithaRecordSet.

2.ADataSetcanbesynchronisedwiththedatabase.

3.ADataSetcanbeconvertedtoXML.

4.YoucaninfertheschemafromaDataSet

Question47.(單選)

InObjectorientedProgramming,howwouldyoudescribeencapsulation?

1.Theconversionofonetypeofobjecttoanother.

2.Theruntimeresolutionofmethodcalls.

3.Theexpositionofdata.

4.Theseparationofinterfaceandimplementation.

Question48.(單選)

Howdoesassemblyversioningin.NETpreventDLLHell?

1.Theruntimecheckstoseethatonlyoneversionofanassemblyisonthemachineatanyonetime.

2..NETallowsassembliestospecifythenameANDtheversionofanyassembliestheyneedtorun.

3.Thecompilerofferscompiletimecheckingforbackwardcompatibility.

4.Itdoesn’t.

Question49.(單選)

三種常用的字符串判空串方法:

1:boolisEmpty=(str.Length==0);

2:boolisEmpty=(str==String.Empty);

3:boolisEmpty=(str=="");

哪種方法最快?

1.1

2.2

3.3

Question50.(單選)

publicsealedclassSampleSingleton1

{

privateintm_Counter=0;

privateSampleSingleton1()

{

Console.WriteLine(""初始化SampleSingleton1。"");

}

publicstaticreadonlySampleSingleton1Singleton=newSampleSingleton1();

publicvoidCounter()

{

m_Counter++;

}

}

以上代碼實(shí)現(xiàn)了設(shè)計(jì)模式中的哪種模式?

1.原型

2.抽象工廠

3.單鍵

4.生成器

下邊是微軟軟件開發(fā)培訓(xùn)講師李建忠老師對C#編程語言進(jìn)行的幾個(gè)層次劃分。

不妨對照,你的C#開發(fā)水平介于下邊C#語言的哪幾個(gè)層次。

C#語言的幾個(gè)層次

不談具體領(lǐng)域(比如搜索,視頻,網(wǎng)絡(luò)等),單就C#編程語言這個(gè)垂直方向,我大體上對它有一個(gè)如下的層次劃分。

1.基本運(yùn)用C#語法,在各種工具和示例代碼的支持下,完成一些基本程序任務(wù)

2.熟練掌握面向?qū)ο笈c組件構(gòu)造,知其然亦知其所以然,完成一般小規(guī)模信息管理類軟件項(xiàng)目開發(fā)任務(wù)

3.深入理解CLR內(nèi)核機(jī)制,對各種類型與.NET平臺(tái)機(jī)制的優(yōu)缺點(diǎn)、適用場合、效率有清晰把握,能夠完成技術(shù)復(fù)雜度比較高的項(xiàng)目。

4.能夠游刃有余把握松耦合原則,精準(zhǔn)運(yùn)用各種語言構(gòu)造,架構(gòu)大型軟件項(xiàng)目。

5.能夠站在計(jì)算機(jī)抽象、系統(tǒng)和歷史發(fā)展的高度來理解和把握編程語言

我判斷你現(xiàn)在大致介于2-3之間的位置,當(dāng)然在這些方向上的成長,有些部分是培訓(xùn)能夠大幅度幫助大家的,有些部分培訓(xùn)只能起輔助作用,經(jīng)驗(yàn)和對技術(shù)的追求態(tài)度才更為重要……

說實(shí)話,編程語言本來不該這么重要,但是現(xiàn)在接近兩年的培訓(xùn)經(jīng)驗(yàn)下來,接觸的培訓(xùn)學(xué)員林林總總,從最底端幾乎沒有什么編程經(jīng)驗(yàn)的,到高端的在企業(yè)擔(dān)任關(guān)鍵開發(fā)任務(wù)的。發(fā)現(xiàn)在中國,編程語言事實(shí)上是大多數(shù)開發(fā)人員的硬傷,大部分程序員介于1-2之間——原因就不多說了,中國大學(xué)的計(jì)算機(jī)教育只有在一個(gè)人徹底理解了計(jì)算機(jī)之后才會(huì)深刻體認(rèn)到它是多么的荒謬和失敗。C#.Net的常見面試試題附答案1.面向?qū)ο蟮乃枷胫饕ㄊ裁矗?.什么是ASP.net中的用戶控件3.什么叫應(yīng)用程序域?什么是受管制的代碼?什么是強(qiáng)類型系統(tǒng)?什么是裝箱和拆箱?什么是重載?CTS、CLS和CLR分別作何解釋?4.列舉一下你所了解的XML技術(shù)及其應(yīng)用5.值類型和引用類型的區(qū)別?寫出C#的樣例代碼。6.ADO.net中常用的對象有哪些?分別描述一下。7.如何理解委托?8.C#中的接口和類有什么異同。9.。net中讀寫數(shù)據(jù)庫需要用到哪些類?他們的作用10.UDP連接和TCP連接的異同。11.ASP.net的身份驗(yàn)證方式有哪些?分別是什么原理?12.進(jìn)程和線程分別怎么理解?13.什么是code-Behind技術(shù)。14.活動(dòng)目錄的作用。15..net中讀寫XML的類都?xì)w屬于哪些命名空間?16.解釋一下UDDI、WSDL的意義及其作用。17.什么是SOAP,有哪些應(yīng)用。18.如何部署一個(gè)ASP.net頁面。19.如何理解.net中的垃圾回收機(jī)制。20.常用的調(diào)用webservice方法有哪些?

1

繼承

多態(tài)

封裝

2

用戶控件.

不會(huì)說懂得做

3

裝箱和拆箱發(fā)生

值類型向引用類型轉(zhuǎn)換,和引用類型向值類型轉(zhuǎn)

重載:同一個(gè)函數(shù)參數(shù)不同

4.xml可以用來做網(wǎng)頁(xslt)

xml可以當(dāng)作數(shù)據(jù)庫

xml可以用來保存對象的系列化

5值類型,沒有什么好說的.引用類型用處是返回兩個(gè)以上參數(shù)的時(shí)候比較好用

ref

out

我常用的是out不要先賦值

6

我直接用

sqlhelper了

有connection

command

還有參數(shù)

7

回調(diào)機(jī)制比較有用的.在net中采用了委托.

8

接口,是可以多繼承,類只有單繼承.接口強(qiáng)調(diào)了你必須實(shí)現(xiàn),而沒有具本實(shí)現(xiàn)的方法和虛類有點(diǎn)相似

9

datareader

dataset

還有一個(gè)不太常用

10

udp不要實(shí)現(xiàn)什么三次握手.

11

身份驗(yàn)證最常用還是以前的session方法.

form驗(yàn)證沒有用過.

微軟的哪個(gè)也沒有用過

12

進(jìn)程簡單理解為單個(gè)程序吧(按ctrl+alt+del)可以看到的.它至少有一個(gè)主線程

.

13

代碼后置..不懂得講

14

活動(dòng)目錄..

完全不會(huì)

15

system.xml

(system.io創(chuàng)建目錄的時(shí)候用)

16

這個(gè)也是web服務(wù)里的東西.

17

soap簡單協(xié)議.我只知道.web服務(wù)是基于它之上的

18

部置一個(gè)頁面.

也就是說沒有代碼是直接寫在aspx中的了.只接放在IIS的虛擬目錄下就行了.當(dāng)然要支持

19

垃圾回收..一般的只要掌握.非托管對象要記得釋放資源就行了吧.

20

直接在里面引用就OK了.它會(huì)自己生成一個(gè)代理類

1.

填空:

(1)面向?qū)ο蟮恼Z言具有___繼承性、_封裝___性、___多態(tài)性。

(2)能用foreach遍歷訪問的對象需要實(shí)現(xiàn)

IEnumerable接口或聲明GetEnumerable

方法的類型。

(3)列舉ADO.net中的五個(gè)主要對象Command、Connection、DataSet、DataSetCommand、DataReader。2.

不定項(xiàng)選擇:(1)

以下敘述正確的是:

A.

接口中可以有虛方法。

B.

一個(gè)類可以實(shí)現(xiàn)多個(gè)接口。

C.

接口不能被實(shí)例化。

D.

接口中可以包含已實(shí)現(xiàn)的方法。

(2)

從數(shù)據(jù)庫讀取記錄,你可能用到的方法有:

A.

ExecuteNonQuery

B.

ExecuteScalar

C.

Fill

D.

ExecuteReader3.

簡述

private、

protected、

public、

internal

修飾符的訪問權(quán)限。

4.

寫出一條Sql語句:

取出表A中第31到第40記錄(SQLServer,

以自動(dòng)增長的ID作為主鍵,

注意:ID可能不是連續(xù)的。)

5

.列舉ASP.NET

頁面之間傳遞值的幾種方式。

6.

寫出程序的輸出結(jié)果

class

Class1

{

private

string

str

=

"Class1.str";

private

int

i

=

0;

static

void

StringConvert(string

str)

{

str

=

"string

being

converted.";

}

static

void

StringConvert(Class1

c)

{

c.str

=

"string

being

converted.";

}

static

void

Add(int

i)

{

i++;

}

static

void

AddWithRef(ref

int

i)

{

i++;

}

static

void

Main()

{

int

i1

=

10;

int

i2

=

20;

string

str

=

"str";

Class1

c

=

new

Class1();

Add(i1);

AddWithRef(ref

i2);

Add(c.i);

StringConvert(str);

StringConvert(c);

Console.WriteLine(i1);

Console.WriteLine(i2);

Console.WriteLine(c.i);

Console.WriteLine(str);

Console.WriteLine(c.str);

}

}

7.寫出程序的輸出結(jié)果

public

abstract

class

A

{

public

A()

{

Console.WriteLine('A');

}

public

virtual

void

Fun()

{

Console.WriteLine("A.Fun()");

}

}

public

class

B:

A

{

public

B()

{

Console.WriteLine('B');

}

public

new

void

Fun()

{

Console.WriteLine("B.Fun()");

}

public

static

void

Main()

{

A

a

=

new

B();

a.Fun();

}

}

8.

寫出程序的輸出結(jié)果:

public

class

A

{

public

virtual

void

Fun1(int

i)

{

Console.WriteLine(i);

}

public

void

Fun2(A

a)

{

a.Fun1(1);

Fun1(5);

}

}

public

class

B

:

A

{

public

override

void

Fun1(int

i)

{

base.Fun1

(i

+

1);

}

public

static

void

Main()

{

B

b

=

new

B();

A

a

=

new

A();

a.Fun2(b);

b.Fun2(a);

}

}

9.

一列數(shù)的規(guī)則如下:

1、1、2、3、5、8、13、21、34

求第30位數(shù)是多少,

用遞歸算法實(shí)現(xiàn)。(C#語言)

10.

程序設(shè)計(jì):

貓大叫一聲,所有的老鼠都開始逃跑,主人被驚醒。(C#語言)

要求:

1.要有聯(lián)動(dòng)性,老鼠和主人的行為是被動(dòng)的。2.考慮可擴(kuò)展性,貓的叫聲可能引起其他聯(lián)動(dòng)效應(yīng)。

參考答案:

1.

(1)

繼承性、封裝性、多態(tài)性。(考基本概念)

(2)

IEnumerable

GetEnumerator

(對foreach機(jī)制的理解,本來不想出這題的,湊分)

(3)

...

(送分題,

對ADO.net的了解)

評分標(biāo)準(zhǔn):一空1分,滿分10分。

2.

(1)

B、C

(考對接口的理解)

(2)

B、C、D

(考查對ADO.net的熟練程度)

評分標(biāo)準(zhǔn):

一題5分,不選或者錯(cuò)選均不得分。漏選得2分。滿分10分。

3.

.

private

:

私有成員,

在類的內(nèi)部才可以訪問。

protected

:

保護(hù)成員,該類內(nèi)部和繼承類中可以訪問。

public

:

公共成員,完全公開,沒有訪問限制。

internal:

在同一命名空間內(nèi)可以訪問。

評分標(biāo)準(zhǔn):答對1題2分,2題5分,3題7分。全對10分。

(送分題)

4.

解1:

select

top

10

*

from

A

where

id

not

in

(select

top

30

id

from

A)

解2:

select

top

10

*

from

A

where

id

>

(select

max(id)

from

(select

top

30

id

from

A

)as

A)

評分標(biāo)準(zhǔn):

寫對即10分。(答案不唯一,datagrid

分頁可能需要用到)

5.

1.使用QueryString,

如?id=1;

response.

Redirect()

2.使用Session變量

3.使用Server.Transfer

評分標(biāo)準(zhǔn):

答對1點(diǎn)得3分,

兩點(diǎn)7分,

3點(diǎn)10分。

6.

(考查值引用和對象引用)

10

21

0

str

string

being

converted.

評分標(biāo)準(zhǔn):答對一點(diǎn)得2分,滿分10分。

7.

A

B

A.Fun()

評分標(biāo)準(zhǔn):

寫出A.B

得5分,寫出A.Fun()得5分,滿分10分。

(考查在繼承類中構(gòu)造函數(shù),

以及new

方法,

)

8.

2

5

1

6

評分標(biāo)準(zhǔn):

答對一點(diǎn)得2分,兩點(diǎn)得5分,3點(diǎn)得7分。全對得10分。(一些人做這題,頭都暈了

^_^

)

9.

public

class

MainClass

{

public

static

void

Main()

{

Console.WriteLine(Foo(30));

}

public

static

int

Foo(int

i)

{

if

(i

<=

0)

return

0;

else

if(i

>

0

&&

i

<=

2)

return

1;

else

return

Foo(i

-1)

+

Foo(i

-

2);

}

}

評分標(biāo)準(zhǔn):

寫出return

Foo(i

-1)

+

Foo(i

-

2);

得5分。

寫出if(i

>

0

&&

i

<=

2)

return

1;

得5分。

方法參數(shù)過多需要扣分(扣除分?jǐn)?shù)

=

參數(shù)個(gè)數(shù)

1)

不用遞歸算法扣5分

(遞歸算法在樹結(jié)構(gòu)建立等方面比較常用)

10

要點(diǎn):1.

聯(lián)動(dòng)效果,運(yùn)行代碼只要執(zhí)行Cat.Cryed()方法。2.

對老鼠和主人進(jìn)行抽象

評分標(biāo)準(zhǔn):

<1>.構(gòu)造出Cat、Mouse、Master三個(gè)類,并能使程序運(yùn)行(2分)

<2>從Mouse和Master中提取抽象(5分)

<3>聯(lián)動(dòng)效應(yīng),只要執(zhí)行Cat.Cryed()就可以使老鼠逃跑,主人驚醒。(3分)

public

interface

Observer

{

void

Response();

//觀察者的響應(yīng),如是老鼠見到貓的反映

}

public

interface

Subject

{

void

AimAt(Observer

obs);

//針對哪些觀察者,這里指貓的要撲捉的對象老鼠

}

public

class

Mouse

:

Observer

{

private

string

name;

public

Mouse(string

name,

Subject

subj)

{

=

name;

subj.AimAt(this);

}

public

void

Response()

{

Console.WriteLine(name

+

"

attempt

to

escape!");

}

}

public

class

Master

:

Observer

{

public

Master(Subject

subj)

{

subj.AimAt(this);

}

public

void

Response()

{

Console.WriteLine("Host

waken!");

}

}

public

class

Cat

:

Subject

{

private

ArrayList

observers;

public

Cat()

{

this.observers

=

new

ArrayList();

}

public

void

AimAt(Observer

obs)

{

this.observers.Add(obs);

}

public

void

Cry()

{

Console.WriteLine("Cat

cryed!");

foreach

(Observer

obs

in

this.observers)

{

obs.Response();

}

}

}

class

MainClass

{

static

void

Main(string[]

args)

{

Cat

cat

=

new

Cat();

Mouse

mouse1

=

new

Mouse("mouse1",

cat);

Mouse

mouse2

=

new

Mouse("mouse2",

cat);

Master

master

=

new

Master(cat);

cat.Cry();

}

}

//

設(shè)計(jì)方法二:

使用event

--

delegate設(shè)計(jì)..

public

delegate

void

SubEventHandler();

public

abstract

class

Subject

{

public

event

SubEventHandler

SubEvent;

protected

void

FireAway()

{

if

(this.SubEvent

!=

null)

this.SubEvent();

}

}

public

class

Cat

:

Subject

{

public

void

Cry()

{

Console.WriteLine("cat

cryed.");

this.FireAway();

}

}

public

abstract

class

Observer

{

public

Observer(Subject

sub)

{

sub.SubEvent

+=

new

SubEventHandler(Response);

}

public

abstract

void

Response();

}

public

class

Mouse

:

Observer

{

private

string

name;

public

Mouse(string

name,

Subject

sub)

:

base(sub)

{

=

name;

}

public

override

void

Response()

{

Console.WriteLine(name

+

"

attempt

to

escape!");

}

}

public

class

Master

:

Observer

{

public

Master(Subject

sub)

:

base(sub){}

public

override

void

Response()

{

Console.WriteLine("host

waken");

}

}

class

Class1

{

static

void

Main(string[]

args)

{

Cat

cat

=

new

Cat();

Mouse

mouse1

=

new

Mouse("mouse1",

cat);

Mouse

mouse2

=

new

Mouse("mouse2",

cat);

Master

master

=

new

Master(cat);

cat.Cry();

}

}

問題:

1.ASP.NET中的身份驗(yàn)證有那些?你當(dāng)前項(xiàng)目采用什么方式驗(yàn)證請解釋

2.什么是WEB控件?使用WEB控件有那些優(yōu)勢?

3.請解釋ASP。NET中以什么方式進(jìn)行數(shù)據(jù)驗(yàn)證?

4.請談?wù)剬φ齽t表達(dá)式的看法?

5.ASP。NET中共有幾種類型的控件?各有什么區(qū)別?

6.WEB控件可以激法服務(wù)端事件,請談?wù)劮?wù)端事件是怎么發(fā)生并解釋其原理?自動(dòng)傳回是什么?為什么要使用自動(dòng)傳回。

7.WEB控件及HTML服務(wù)端控件能否調(diào)用客戶端方法?如果能,請解釋如何調(diào)用?

8.ASP。NET與ASP相比有什么優(yōu)勢?

9.請解釋web.config文件中的重要節(jié)點(diǎn)

10.請解釋ASP。NET中的web頁面與其隱藏類之間的關(guān)系?

11.什么是viewstate,能否禁用?是否所用控件都可以禁用?

13.當(dāng)發(fā)現(xiàn)不能讀取頁面上的輸入的數(shù)據(jù)時(shí)很有可能是什么原因造成的?怎么解決

14.請解釋一個(gè)WEB頁面中代碼執(zhí)行次序。

15.請解釋什么是上下文對象,在什么情況下要使用上下文對象

16.請解釋轉(zhuǎn)發(fā)與跳轉(zhuǎn)的區(qū)別?

17.請解釋ASP.NET中不同頁面之間數(shù)據(jù)傳遞有那些方式?

18.請解釋ASP。NET中button

linkbutton

imagebutton

及hyperlink這四個(gè)控件之間的功別

19.請解釋一下。NET多層應(yīng)用程序中層與層之間以那幾種方式進(jìn)行數(shù)據(jù)傳遞。并解釋你自己的項(xiàng)目中采用那種方式進(jìn)行。

20.如果出現(xiàn)ASP。NET中的事件不能觸發(fā)可能由于什么原因造成?

21.如果需要在datagride控件中的某一列中添加下拉列表框并綁定數(shù)據(jù)怎么解決?

22.請解釋中的數(shù)據(jù)綁定與傳統(tǒng)數(shù)據(jù)綁定有什么區(qū)別?

23.請解釋.net采用委托實(shí)現(xiàn)的事件模型與JAVA中采用接口實(shí)現(xiàn)的事件模型有什么區(qū)別,以圖示方式解釋。

24.請解釋接口的顯式實(shí)現(xiàn)有什么意義?

Q:您在什么情況下會(huì)用到虛方法?它與接口有什么不同?Q:Override與重載有什么區(qū)別?Q:值類型與引用類型有什么區(qū)別?Q:怎樣理解靜態(tài)變量?Q:向服務(wù)器發(fā)送請求有幾種方式?Q:DataReader與Dataset有什么區(qū)別?Q:如果在一個(gè)B/S結(jié)構(gòu)的系統(tǒng)中需要傳遞變量值,但是又不能使用Session、Cookie、Application,您有幾種方法進(jìn)行處理?Q:用.net做B/S結(jié)構(gòu)的系統(tǒng),您是用幾層結(jié)構(gòu)來開發(fā),每一層之間的關(guān)系以及為什么要這樣分層?Q:軟件開發(fā)過程一般有幾個(gè)階段?每個(gè)階段的作用?Q:微軟推出了一系列的Application

Block,請舉出您所知道的Application

Block并說明其作用?Q:請列舉一些您用到過的設(shè)計(jì)模式以及在什么情況下使用該模式?Q:您對WebService的體會(huì)?Q:您對編程的興趣如何?工作中遇到不懂的問題是怎樣去解決的?您一般怎樣去提高自己的編程水平?Q:您離職的原因是什么?以下幾道題目如果您不會(huì),請較為詳細(xì)的描述您的解決思路和方法Q:通過超鏈接怎樣傳遞中文參數(shù)?Q:請編程遍歷頁面上所有TextBox控件并給它賦值為string.Empty?Q:請編程實(shí)現(xiàn)一個(gè)冒泡排序算法?

1、進(jìn)程和線程的區(qū)別進(jìn)程是系統(tǒng)進(jìn)行資源分配和調(diào)度的單位;線程是CPU調(diào)度和分派的單位,一個(gè)進(jìn)程可以有多個(gè)線程,這些線程共享這個(gè)進(jìn)程的資源。2、成員變量和成員函數(shù)前加static的作用它們被稱為常成員變量和常成員函數(shù),又稱為類成員變量和類成員函數(shù)。分別用來反映類的狀態(tài)。比如類成員變量可以用來統(tǒng)計(jì)類實(shí)例的數(shù)量,類成員函數(shù)負(fù)責(zé)這種統(tǒng)計(jì)的動(dòng)作。3、malloc和new的區(qū)別new是C++的關(guān)鍵字。malloc在分配內(nèi)存時(shí)必須按給出的字節(jié)分配,new可以按照對象的大小自動(dòng)分配,并且能調(diào)用構(gòu)造函數(shù)??梢哉fnew是對象的對象,而malloc不是。本質(zhì)上new分配內(nèi)存時(shí),還會(huì)在實(shí)際內(nèi)存塊的前后加上附加信息,所以new所使用的內(nèi)存大小比malloc多。4、堆和棧的區(qū)別棧:由編譯器自動(dòng)分配、釋放。在函數(shù)體中定義的變量通常在棧上。堆:一般由程序員分配釋放。用new、malloc等分配內(nèi)存函數(shù)分配得到的就是在堆上。棧是機(jī)器系統(tǒng)提供的數(shù)據(jù)結(jié)構(gòu),而堆則是C/C++函數(shù)庫提供的。棧是系統(tǒng)提供的功能,特點(diǎn)是快速高效,缺點(diǎn)是有限制,數(shù)據(jù)不靈活;而棧是函數(shù)庫提供的功能,特點(diǎn)是靈活方便,數(shù)據(jù)適應(yīng)面廣泛,但是效率有一定降低。棧是系統(tǒng)數(shù)據(jù)結(jié)構(gòu),對于進(jìn)程/線程是唯一的;堆是函數(shù)庫內(nèi)部數(shù)據(jù)結(jié)構(gòu),不一定唯一。不同堆分配的內(nèi)存無法互相操作。??臻g分靜態(tài)分配和動(dòng)態(tài)分配兩種。靜態(tài)分配是編譯器完成的,比如自動(dòng)變量(auto)的分配。動(dòng)態(tài)分配由alloca函數(shù)完成。棧的動(dòng)態(tài)分配無需釋放(是自動(dòng)的),也就沒有釋放函數(shù)。為可移植的程序起見,棧的動(dòng)態(tài)分配操作是不被鼓勵(lì)的!堆空間的分配總是動(dòng)態(tài)的,雖然程序結(jié)束時(shí)所有的數(shù)據(jù)空間都會(huì)被釋放回系統(tǒng),但是精確的申請內(nèi)存/釋放內(nèi)存匹配是良好程序的基本要素。5、不調(diào)用C++/C的字符串庫函數(shù),請編寫函數(shù)

strcpy

1.

C#中

property

attribute的區(qū)別,他們各有什么用處,這種機(jī)制的好處在哪里?

2.

講一講你理解的web

service,在dot

net

framework中,怎么很好的結(jié)合xml?(講概念就行了)3.

C#,

Java

c++的特點(diǎn),有什么相同的地方,不同的地方,C#分別從c++和java中吸取了他們那些優(yōu)點(diǎn)?4.

C#可否對內(nèi)存進(jìn)行直接的操作?(這可是個(gè)難點(diǎn)哦?要注意!)5.

用Visual

C++

6.0編寫的代碼(unmanaged

code),如何在CLR下和其他dot

net

component結(jié)合?6.

以前作過的一些項(xiàng)目?介紹一下自己的編程經(jīng)驗(yàn)。(這是蒙混不過去的,基本一問就知道是真是假)7.

你對公司有什么期望?你的薪水期望值?為什么學(xué)計(jì)算機(jī)?以前的工作經(jīng)驗(yàn)(這非常重要)?

Q3:

維護(hù)數(shù)據(jù)庫的完整性、一致性、你喜歡用觸發(fā)器還是自寫業(yè)務(wù)邏輯?為什么Q4:ADO。NET相對于ADO等主要有什么改進(jìn)?Q5:ASP。NET與ASP相比,主要有哪些進(jìn)步?Q6:C#中的委托是什么?事件是不是一種委托?Q7:描述一下C#中索引器的實(shí)現(xiàn)過程,是否只能根據(jù)數(shù)字進(jìn)行索引?Q8:C#中要使一個(gè)類支持FOREACH遍歷,實(shí)現(xiàn)過程怎樣?Q10:寫一個(gè)HTML頁面,實(shí)現(xiàn)以下功能,左鍵點(diǎn)擊頁面時(shí)顯示“您好”,右鍵點(diǎn)擊時(shí)顯示“禁止右鍵”。并在2分鐘后自動(dòng)關(guān)閉頁面。Q11:你對XMLHTTP、WEBSERVICE

了解嗎?簡單描述其特點(diǎn)、作用Q12:接口和抽象類有什么區(qū)別?你選擇使用接口和抽象類的依據(jù)是什么?Q13:自定義控件和一般用戶控件的異同?如果要用這兩者之一,你會(huì)選擇哪種?為什么Q14:大概描述一下ASP。NET服務(wù)器控件的生命周期Q15:UMLQ16:面向?qū)ο蟮母拍?,主要特點(diǎn)Q17:類劃分的依據(jù)。類粒度問題Q18:事物管理問題

第一,談?wù)刦inal,

finally,

finalize的區(qū)別。

第二,Anonymous

Inner

Class

(匿名內(nèi)部類)

是否可以extends(繼承)其它類,是否可以implements(實(shí)現(xiàn))interface(接口)?第三,Static

Nested

Class

Inner

Class的不同,說得越多越好(面試題有的很籠統(tǒng))。第四,&和&&的區(qū)別。第五,HashMap和Hashtable的區(qū)別。第六,Collection

Collections的區(qū)別。第七,什么時(shí)候用assert。第八,GC是什么?

為什么要有GC?

第九,String

s

=

new

String("xyz");創(chuàng)建了幾個(gè)String

Object?第十,Math.round(11.5)等於多少?

Math.round(-11.5)等於多少?第十一,short

s1

=

1;

s1

=

s1

+

1;有什么錯(cuò)?

short

s1

=

1;

s1

+=

1;有什么錯(cuò)?第十二,sleep()

wait()

有什么區(qū)別?第十三,Java有沒有g(shù)oto?第十四,數(shù)組有沒有l(wèi)ength()這個(gè)方法?

String有沒有l(wèi)ength()這個(gè)方法?第十五,Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類型?第十六,Set里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢?

是用==還是equals()?

它們有何區(qū)別?第十七,給我一個(gè)你最常見到的runtime

exception。第十八,error和exception有什么區(qū)別?第十九,List,

Set,

Map是否繼承自Collection接口?第二十,abstract

class和interface有什么區(qū)別?第二十一,abstract的method是否可同時(shí)是static,是否可同時(shí)是native,是否可同時(shí)是synchronized?第二十二,接口是否可繼承接口?

抽象類是否可實(shí)現(xiàn)(implements)接口?

抽象類是否可繼承實(shí)體類(concrete

class)?第二十三,啟動(dòng)一個(gè)線程是用run()還是start()?第二十四,構(gòu)造器Constructor是否可被override?第二十五,是否可以繼承String類?第二十六,當(dāng)一個(gè)線程進(jìn)入一個(gè)對象的一個(gè)synchronized方法后,其它線程是否可進(jìn)入此對象的其它方法?第二十七,try

{}里有一個(gè)return語句,那么緊跟在這個(gè)try后的finally

{}里的code會(huì)不會(huì)被執(zhí)行,什么時(shí)候被執(zhí)行,在return前還是后?第二十八,編程題:

用最有效率的方法算出2乘以8等於幾?第二十九,兩個(gè)對象值相同(x.equals(y)

==

true),但卻可有不同的hash

code,這句話對不對?第三十,當(dāng)一個(gè)對象被當(dāng)作參數(shù)傳遞到一個(gè)方法后,此方法可改變這個(gè)對象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞?第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?第三十二,編程題:

寫一個(gè)Singleton出來。

一.填空題1.c#中的三元運(yùn)算符是__?:___?2.當(dāng)整數(shù)a賦值給一個(gè)object對象時(shí),整數(shù)a將會(huì)被__裝箱(封裝)___?3.類成員有_____種可訪問形式?

this.;new

Class().Method;4.public

static

const

int

A=1;這段代碼有錯(cuò)誤么?是什么?

const不能用static修飾5.float

f=-123.567F;

int

i=(int)f;i的值現(xiàn)在是_____?

123

6.利用operator聲明且僅聲明了“==”,有什么錯(cuò)誤么?

7.委托聲明的關(guān)鍵字是___

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論