• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

             首頁 > 專欄

            程序員面試題

            更新時間:2024-03-29 06:02:22 閱讀: 評論:0

            2024年3月29日發(fā)(作者:大學(xué)生面試自我介紹)

            程序員面試題

            1.

            new有幾種用法

            第一種:作為操作符時,用于實例化對象new Class();

            第二種:重寫父類成員public new XXXX(){}

            第三種:new約束指定泛型類聲明中的任何類型參數(shù)都必須有公共的無參數(shù)構(gòu)造函數(shù)。

            2.

            如何把一個array復(fù)制到arrayList里

            foreach( object o in array )(o);

            3.

            u可以連接什么數(shù)據(jù)源

            使用DataSource屬性指定要綁定到數(shù)據(jù)列表控件的值的源。數(shù)據(jù)源必須是實現(xiàn)tions.

            IEnumerable接口(例如ew、ist或System.C

            ble)或IListSource接口的對象。如:datat,datatable,dataview, IList

            4.

            概述反射和序列化

            反射:程序集包含模塊,而模塊包含類型,類型又包含成員。反射則提供了封裝程序集、模塊和類型的對

            象。您可以使用反射動態(tài)地創(chuàng)建類型的實例,將類型綁定到現(xiàn)有對象,或從現(xiàn)有對象中獲取類型。然后,

            可以調(diào)用類型的方法或訪問其字段和屬性。序列化:序列化是將對象轉(zhuǎn)換為容易傳輸?shù)母袷降倪^程。例如,

            可以序列化一個對象,然后使用HTTP通過Internet在客戶端和服務(wù)器之間傳輸該對象。在另一端,

            反序列化將從該流重新構(gòu)造對象。

            5.

            概述o/r mapping的原理

            利用反射,配置 將類與數(shù)據(jù)庫表映射

            6.

            類成員有( )種可訪問形式

            public

            protected

            internal

            protected internal

            private

            訪問不受限制。

            訪問僅限于包含類或從包含類派生的類型。

            訪問僅限于當(dāng)前程序集。

            訪問僅限于從包含類派生的當(dāng)前程序集或類型。

            訪問僅限于包含類型。

            7.

            列舉中的五個主要對象,并簡單描述

            8.

            C#中,string str = null與string str =””,請盡量用文字說明區(qū)別。(要點:說明詳細(xì)的內(nèi)存

            空間分配)

            答:null 關(guān)鍵字是表示不引用任何對象的空引用的文字值。null 是引用類型變量的默認(rèn)值。string s

            tr =”” 分配空間

            9.

            詳述.NET里class和struct的異同!

            class:放在 ? struct放在?struct值傳遞。

            類與結(jié)構(gòu)有很多相似之處:結(jié)構(gòu)可以實現(xiàn)接口,并且可以具有與類相同的成員類型。然而,結(jié)構(gòu)在幾個

            重要方面不同于類:結(jié)構(gòu)為值類型而不是引用類型,并且結(jié)構(gòu)不支持繼承。結(jié)構(gòu)的值存儲在“在堆棧上”

            或“內(nèi)聯(lián)”。細(xì)心的程序員有時可以通過聰明地使用結(jié)構(gòu)來增強(qiáng)性能。

            10.

            什么叫應(yīng)用程序域?什么是受管制的代碼?什么是強(qiáng)類型系統(tǒng)?什么是裝箱和拆箱?什么是重載?CT

            S、CLS和CLR分別作何解釋?

            操作系統(tǒng)和運(yùn)行庫環(huán)境通常會在應(yīng)用程序間提供某種形式的隔離。例如,Microsoft Windows使用

            進(jìn)程來隔離應(yīng)用程序。為確保在一個應(yīng)用程序中運(yùn)行的代碼不會對其他不相關(guān)的應(yīng)用程序產(chǎn)生不良影響,

            這種隔離是必需的。應(yīng)用程序域提供了一個更安全、用途更廣的處理單元,公共語言運(yùn)行庫可使用該單

            元提供應(yīng)用程序之間的隔離。應(yīng)用程序域為安全性、可靠性、版本控制以及卸載程序集提供了隔離邊界。

            應(yīng)用程序域通常由運(yùn)行庫宿主創(chuàng)建,運(yùn)行庫宿主負(fù)責(zé)在運(yùn)行應(yīng)用程序之前引導(dǎo)公共語言運(yùn)行庫。應(yīng)用程

            序域通過作為應(yīng)用程序狀態(tài)的容器,使應(yīng)用程序得以隔離。應(yīng)用程序域作為應(yīng)用程序中和它使用的類庫

            中所定義的類型的容器和邊界。同一個類型若被加載到不同的應(yīng)用程序域中就成為各自獨(dú)立的客體,實

            由它們在各自應(yīng)用程序域中產(chǎn)生的例亦不可直接共享。例如,對于這些類型的靜態(tài)變量,每個應(yīng)用程序

            域都有自己的副本,并且這些類型的靜態(tài)構(gòu)造函數(shù)在每個應(yīng)用程序域中也要(最多)運(yùn)行一次。

            以運(yùn)行庫為目標(biāo)的代碼稱為托管代碼。

            裝箱就是把值類型轉(zhuǎn)成引用類型,拆箱則反之。

            重載就是指一個方法名同,參數(shù)個數(shù)不同,返回值可以相同的方法.

            CTS(Common Type System)通用類型系統(tǒng),CLS(Common Language Specification)公共語言

            規(guī)范,CLR(Common Language Runtime)是通用語言運(yùn)行時,

            11.

            概述三層結(jié)構(gòu)體系

            根據(jù)所實現(xiàn)的邏輯功能,可以將應(yīng)用程序結(jié)構(gòu)分為三層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層(w

            eb/business/dataaccess)。數(shù)據(jù)層從數(shù)據(jù)庫中獲取原始數(shù)據(jù),業(yè)務(wù)邏輯層把數(shù)據(jù)轉(zhuǎn)換成符合業(yè)務(wù)規(guī)

            則的有意義的信息,表示層把信息轉(zhuǎn)換成對于用戶有意義的內(nèi)容。

            分層設(shè)計具有提高應(yīng)用程序內(nèi)聚程度、降低耦合,易于擴(kuò)展、維護(hù)和重用等優(yōu)點。

            12.

            如何實現(xiàn)MVC模式,舉例說明!

            同上!web/business/dataaccess

            13.

            什么是code-behind技術(shù)

            code-behind技術(shù)是將用于顯示可見元素的腳本與編程代碼放入不同文件,從而達(dá)到代碼分離。

            14.

            面向?qū)ο蟮乃枷胫饕ㄊ裁矗?/p>

            答:封裝、繼承、多態(tài)

            1.

            什么是中的用戶控件

            答:ASP .NET用戶控件事能夠在其中放置標(biāo)記和Web服務(wù)器控件得容器,然后可以將用戶控件作為一

            個單元對待,為其定義屬性和方法。用戶控件繼承自ntrol。擴(kuò)展名為.ascx。

            可以拖到不同的頁面中調(diào)用,以節(jié)省代碼.比如登陸可能在多個頁面上有,就可以做成用戶控件,但是有一

            個問題就是用戶控件拖到不同級別的目錄下后里面的圖片等的相對路徑會變得不準(zhǔn)確,需要自己寫方法

            調(diào)整.

            2.

            如何理解委托?

            答: 委托類型 (delegate type) 表示對具有特定參數(shù)列表和返回類型的方法的引用。通過委托,我

            們能夠?qū)⒎椒ㄗ鳛閷嶓w賦值給變量和作為參數(shù)傳遞。委托類似于在其他某些語言中的函數(shù)指針的概念,

            但是與函數(shù)指針不同,委托是面向?qū)ο蟮模⑶沂穷愋桶踩摹?/p>

            3.

            用aled修飾的類有什么特點

            密封類不能用作基類。因此,它也不能是抽象類。密封類主要用于防止派生。由于密封類從不用作基類,

            所以有些運(yùn)行時優(yōu)化可以使對密封類成員的調(diào)用略快。

            4.

            中讀寫數(shù)據(jù)庫需要用到哪些類?他們的作用

            答: Configuration、Connection、Command、DataAdapter、DataSet、DataReader。

            5.

            概述.NET里對remoting和webrvice兩項技術(shù)的理解和實際中的應(yīng)用。

            運(yùn)行于Internet的分布式應(yīng)用程序,Web Service是首選的解決方案,因為Web Service能夠穿透

            足夠安全的防火墻,雖然Remoting技術(shù)也可以實現(xiàn)這樣的功能,但是對于Internet解決方案,Web

            Service仍是首選。和Web Service相比,Web Service需要Web服務(wù)器的支持,Remoting不需

            要Web服務(wù)器,它是使用自己的HTTP或者TCP服務(wù)器。在內(nèi)部網(wǎng)絡(luò)的解決方案中,Remoting擁有

            足夠的優(yōu)勢,當(dāng)采用TCP和二進(jìn)制數(shù)據(jù)傳輸?shù)臅r候,能有更高的效率。不過有一點值得注意:Web Se

            rvice可以跨平臺運(yùn)行,而Remoting只能運(yùn)行在.NET FrameWork的平臺下。

            6.

            C#中的接口和類有什么異同。

            類和接口中都可以定義了一系列屬性、方法和事件。但接口與類不同的是,接口并不提供實現(xiàn)。接口可

            支持多重繼承,而類只支持單一繼承。接口中的成員不能包含任何的訪問修飾符,所有接口成員都隱式

            地具有 public 訪問屬性。接口不能包含常量、字段、運(yùn)算符、實例構(gòu)造函數(shù)、析構(gòu)函數(shù)或類型,也不

            能包含任何種類的靜態(tài)成員。接口成員聲明中包含任何修飾符都屬于編譯時錯誤。具體來說,不能使用

            修飾符 abstract、public、protected、internal、private、virtual、override 或 static 來聲明接

            口成員。

            7.

            執(zhí)行下面代碼后:

            String strTemp =”abcdefg某某某”;

            int i= es(strTemp).Length;

            int j = ;

            問:i=();j=();

            i=(14 );j=(11 ) 中文兩個字節(jié)

            8.

            的身份驗證方式有哪些?分別是什么原理?

            None

            說明

            沒有 身份驗證服務(wù)是活動的。注意,IIS 身份驗證服務(wù)仍可以存在。

            身份驗證服務(wù)將 WindowsPrincipal (

            Windows

            sPrincipal) 附加到當(dāng)前請求以啟用對 NT 用戶或組的授權(quán)。

            身份驗證服務(wù)管理 Cookie 并將未經(jīng)身份驗證的用戶重定向到登錄

            Forms

            頁。它通常與 IIS 選項一起使用以允許匿名訪問應(yīng)用程序。

            身份驗證服務(wù)為護(hù)照 SDK(必須安裝在計算機(jī)上)提供的服務(wù)提供了

            Passport

            一個方便的包裝。

            9.

            進(jìn)程和線程分別怎么理解?

            答: 在計算機(jī)科學(xué)中,“線程”和“進(jìn)程”是兩個相關(guān)的概念。二者都表示必須按特定順序執(zhí)行的指令序列。

            但是不同線程或進(jìn)程中的指令可以并行執(zhí)行。進(jìn)程存在于操作系統(tǒng)內(nèi),并對應(yīng)于用戶可看作為程序或應(yīng)

            用程序的事物。另一方面,線程存在于進(jìn)程內(nèi)。因此,線程有時也稱作“輕量進(jìn)程”。每個進(jìn)程都由一個

            或多個線程組成。操作系統(tǒng)使用進(jìn)程將它們正在執(zhí)行的不同應(yīng)用程序分開。線程是操作系統(tǒng)分配處理器

            時間的基本單元,并且進(jìn)程中可以有多個線程同時執(zhí)行代碼。通俗的講:進(jìn)程是老子,線程是兒子,沒有

            老子就沒有兒子,一個老子可以有多個兒子.一個兒子可以成為別人的兒子,一個老子也可以為別的老子生

            兒子.

            10.

            中讀寫XML的類都?xì)w屬于哪些命名空間?

            答:、、

            11.

            列舉一下你所了解的XML技術(shù)及其應(yīng)用

            答:XML是數(shù)據(jù)傳送或者數(shù)據(jù)存儲的一種方式。XML是這幾年Web開發(fā)技術(shù)關(guān)注的焦點,很多當(dāng)前最

            前沿的技術(shù),如:Web Services、SOAP等都是建立在XML技術(shù)之上的。可以說,XML是當(dāng)前Web

            開發(fā)得技術(shù)基石。保存配置,站與站之間的交流,WEB SERVICE都要用它.

            12.

            UDP連接和TCP連接的異同。

            答:此兩者都是計算機(jī)之間通信前進(jìn)行連接的協(xié)議。前者只管傳,不管數(shù)據(jù)到不到,無須建立連接.后者保證

            傳輸?shù)臄?shù)據(jù)準(zhǔn)確,須要連結(jié)。TCP提供有保證的傳送、錯誤更正和數(shù)據(jù)緩沖。TCP有額外的開銷,當(dāng)應(yīng)

            用程序中的速度和性能需求比可靠性更重要時,開發(fā)人員可以使用UDP。

            13.

            解釋一下UDDI、WSDL的意義及其作用。

            答:UDDI(Universal Description,Discovery,and Integration)(統(tǒng)一描述、發(fā)現(xiàn)和集成),

            可以用于發(fā)布和發(fā)現(xiàn)公共Web服務(wù)的目錄;WSDL(Web Service Description Language)用于描

            述Web服務(wù)的XML語法。此描述包含很多詳細(xì)信息,如查找Web服務(wù)(URI)的位置、服務(wù)支持的

            方法和屬性、數(shù)據(jù)類型和用于與服務(wù)交流的協(xié)議。UDDI和WSDL用于發(fā)現(xiàn)和描述Web服務(wù)。

            14.

            什么是SOAP,有哪些應(yīng)用。

            答:SOAP(Simple Object Access Protocol,簡單對象訪問協(xié)議)是Web服務(wù)的通信協(xié)議。它是用

            來定義消息的XML格式的規(guī)范。SOAP定義了如何將程序數(shù)據(jù)表示為XML,以及如何使用SOAP進(jìn)行

            遠(yuǎn)程過程調(diào)用(RPC)。使用SOAP,不用考慮任何特定的傳輸協(xié)議(最常用的還是HTTP協(xié)議),可

            以允許任何類型的對象或代碼,在任何平臺上,以任何一直語言相互通信。

            15.

            根據(jù)委托(delegate)的知識,請完成以下用戶控件中代碼片段的填寫:

            namespace test

            {

            public delegate void OnDBOperate();

            public class UrControlBa : ntrol {

            public event OnDBOperate OnNew;

            privatevoidtoolBar_ButtonClick(objectnder,rButton

            ClickEventArgs e) {

            if((BtnNew)) {

            //請在以下補(bǔ)齊代碼用來調(diào)用OnDBOperate委托簽名的OnNew事件。

            }

            }

            }

            }

            答:if( OnNew != null )

            OnNew( this, e );

            1.

            如何理解中的垃圾回收機(jī)制。

            答: .NET Framework 的垃圾回收器管理應(yīng)用程序的內(nèi)存分配和釋放。每次您使用 new 運(yùn)算符創(chuàng)建對象時,運(yùn)

            行庫都從托管堆為該對象分配內(nèi)存。只要托管堆中有地址空間可用,運(yùn)行庫就會繼續(xù)為新對象分配空間。但是,內(nèi)

            存不是無限大的。最終,垃圾回收器必須執(zhí)行回收以釋放一些內(nèi)存。垃圾回收器優(yōu)化引擎根據(jù)正在進(jìn)行的分配情況

            確定執(zhí)行回收的最佳時間。當(dāng)垃圾回收器執(zhí)行回收時,它檢查托管堆中不再被應(yīng)用程序使用的對象并執(zhí)行必要的操

            作來回收它們占用的內(nèi)存。

            2.

            什么是Web rvices?

            XML Web 服務(wù)是提供特定功能元素(如應(yīng)用程序邏輯)的可編程實體,任何數(shù)量的、可能是完全不同

            的系統(tǒng)都可以用常見的 Internet 標(biāo)準(zhǔn)(如 XML 和 HTTP)進(jìn)行訪問。簡單的說,Web Service 就

            是一個應(yīng)用程序,它向外界暴露出一個能夠通過Web進(jìn)行調(diào)用的API。

            3.

            如何部署一個頁面。

            答:1、直接將文件復(fù)制到目標(biāo)服務(wù)器。2、首先將站點進(jìn)行編譯,然后將編譯后的文件復(fù)制到目標(biāo)服務(wù)

            器。

            4.

            能在那些系統(tǒng)中運(yùn)行?

            目前,還只能奔跑在微軟的Windows 2000、Windows XP和Windows 2003的系統(tǒng)中,并且需要

            微軟Internet Information Server(IIS)的支持,微軟原計劃要讓W(xué)indows NT4.0也支持,但可能

            微軟是有些技術(shù)問題或市場考慮,還沒有實現(xiàn)NT下的的支持。

            5.

            活動目錄的作用

            活動目錄主要用在分布式的環(huán)境中。在分布式環(huán)境中,要求有各種信息可以被各種應(yīng)用很方便地訪問讀

            取。活動目錄正式為分布式環(huán)境中的信息提供一種訪問途徑。它提供了一個公共的區(qū)域來保存分布式環(huán)

            境中的各種信息,并且對這些信息進(jìn)行定位。從開發(fā)人員角度看活動目錄,可以理解活動目錄是一種存

            放了應(yīng)用程序所需要的特定資源信息的“數(shù)據(jù)庫”。活動目錄還對這些資源信息的讀取和查詢進(jìn)行了優(yōu)化。

            6.

            值類型和引用類型的區(qū)別?寫出C#的樣例代碼。

            值類型的變量直接包含它們的數(shù)據(jù),而引用類型的變量存儲對它們的數(shù)據(jù)的引用,后者稱為對象。對于

            引用類型,兩個變量可能引用同一個對象,因此對一個變量的操作可能影響另一個變量所引用的對象。

            對于值類型,每個變量都有它們自己的數(shù)據(jù)副本(除ref和out參數(shù)變量外),因此對一個變量的操作

            不可能影響另一個變量。所有的值類型均隱式派生自ype。與引用類型不同,從值類型

            不可能派生出新的類型。值類型不可能包含null值。

            using System;

            class MyClass

            {

            class SomeRef {

            public int x;}

            struct SomeVal {

            public int x;

            }

            static void Main(string[] args){

            SomeRef r1= new SomeRef(); //分配在托管堆上

            SomeVal v1 = new SomeVal(); //分配在堆棧上

            r1.x = 5; //在托管堆上修改

            v1.x = 5; //在堆棧中修改

            SomeRef r2 = r1; //僅拷貝引用

            SomeVal v2 = v1; //現(xiàn)在堆棧上分配,然后拷貝值

            r1.x = 8; //改變了r1.x r2.x

            v1.x = 9; //僅改變了v1

            ine(r1.x); //8

            ine(r2.x); //8

            ine(v1.x); //9

            ine(v2.x); //5

            }

            }

            7.

            公司要求開發(fā)一個繼承ew類的組件,要求達(dá)到以下的特殊功能:

            點擊ListView各列列頭時,能按照點擊列的每行值進(jìn)行重排視圖中的所有行 (排序的方式如DataG

            rid相似)。根據(jù)您的知識,請簡要談一下您的思路:

            答:根據(jù)點擊的列頭,包該列的ID取出,按照該ID排序后,在給綁定到ListView中。

            8.

            DataReader和DataSet的異同

            DataReader和DataSet最大的區(qū)別在于,DataReader使用時始終占用SqlConnection,在線操作數(shù)據(jù)庫..任何

            對SqlConnection的操作都會引發(fā)DataReader的異常..因為DataReader每次只在內(nèi)存中加載一條數(shù)據(jù),所以占

            用的內(nèi)存是很小的..因為DataReader的特殊性和高性能.所以DataReader是只進(jìn)的..你讀了第一條后就不能再去

            讀取第一條了..

            DataSet則是將數(shù)據(jù)一次性加載在內(nèi)存中.拋棄數(shù)據(jù)庫連接..讀取完畢即放棄數(shù)據(jù)庫連接..因為DataSet將數(shù)據(jù)全

            部加載在內(nèi)存中.所以比較消耗內(nèi)存...但是確比DataReader要靈活..可以動態(tài)的添加行,列,數(shù)據(jù).對數(shù)據(jù)庫進(jìn)行回

            傳更新操作

            9.

            C#中Property與Attribute的區(qū)別,他們各有什么用處,這種機(jī)制的好處在哪里?

            答:公共語言運(yùn)行庫允許您添加類似關(guān)鍵字的描述性聲明(稱為屬性 (Attribute))來批注編程元素,

            如類型、字段、方法和屬性 (Property)。屬性 (Attribute) 使您得以向元數(shù)據(jù)中放置額外的描述性信

            息(屬性在您編譯代碼時被發(fā)送到元數(shù)據(jù)中),并可使用運(yùn)行庫反射服務(wù)提取該信息。屬性 (Attribut

            e) 描述如何將數(shù)據(jù)序列化,指定用于強(qiáng)制安全性的特性,并限制實時 (JIT) 編譯器的優(yōu)化,從而使代

            碼易于調(diào)試。C#通過屬性(Property)讀取和寫入字段,而不直接讀取和寫入,以此來提供對類中的

            字段的保護(hù)。C#屬性(Property)在實現(xiàn)這種保護(hù)的同時,允許用戶像訪問字段一樣訪問屬性。因此,

            屬性可用于類的內(nèi)部封裝數(shù)據(jù)。

            10. 什么是Application Pool?

            It is the new features in IIS 6.0. An Application Pool can contain one or more applications and

            allows us to configure a level of isolation between different Web applications. For example, if

            you want to isolate all the Web applications running in the same computer, you can do this by

            creating a parate application pool for every Web application and placing them in their corre

            sponding application pool. Becau each application pool runs in its own worker process, errors

            in one application pool will not affect the applications running in other application pools. Deplo

            ying applications in application pools is a primary advantage of running IIS 6.0 in worker proc

            ess isolation mode becau you can customize the application pools to achieve the degree of a

            pplication isolation that you need

            應(yīng)用程序池是將一個或多個應(yīng)用程序鏈接到一個或多個工作進(jìn)程集合的配置。因為應(yīng)用程序池中的應(yīng)用程序與其他

            應(yīng)用程序被工作進(jìn)程邊界分隔,所以某個應(yīng)用程序池中的應(yīng)用程序不會受到其他應(yīng)用程序池中應(yīng)用程序所產(chǎn)生的問

            題的影響。

            11.

            C#中要使一個類支持FOREACH遍歷,實現(xiàn)過程怎樣?

            public class DaysOfTheWeek : rable

            { string[] m_Days = { "Sun", "Mon", "Tue", "Wed", "Thr", "Fri", "Sat" };

            public rator GetEnumerator() {

            for (int i = 0; i < m_; i++) {

            yield return m_Days[i];

            }

            }

            }

            class TestDaysOfTheWeek{

            static void Main() {

            // Create an instance of the collection class

            DaysOfTheWeek week = new DaysOfTheWeek();

            // Iterate with foreach

            foreach (string day in week) {

            (day + " ");

            }

            }}

            12. 在一個ASPX文件中是否可以使用一種以上的語言?

            答案讓你有點失望,雖然微軟的提供了公共語言運(yùn)行環(huán)境(CLR,Common Laguage Runtime),實現(xiàn)了多種編

            程語言間的緊密集成,可以允許你從一個VB對象中導(dǎo)出C#所需的對象來,但一個ASPX文件中只能用一種語言,

            正如你不能在中使用C#的語法一樣。

            13. 在c#中using和new這兩個關(guān)鍵字有什么意義,請寫出你所知道的意義?

            Using 引入一個名子空間,或在使用了一個對像后自動調(diào)用其IDespo,New 實例化一個對像,或修飾一個方

            法,表此方法完全重寫此方法

            1.

            描述一下C#中索引器的實現(xiàn)過程,是否只能根據(jù)數(shù)字進(jìn)行索引?

            索引器允許類或結(jié)構(gòu)的實例按照與數(shù)組相同的方式進(jìn)行索引。索引器不必根據(jù)整數(shù)值進(jìn)行索引,由您決

            定如何定義特定的查找機(jī)制。

            class SampleCollection

            {

            private T[] arr = new T[100];

            public T this[int i]

            {

            get{

            return arr[i];

            }

            t{

            arr[i] = value;

            }

            }

            }// This class shows how client code us the indexer

            class Program

            {

            static void Main(string[] args){

            SampleCollection stringCollection = new SampleCollection();

            stringCollection[0] = "Hello, World";

            ine(stringCollection[0]);

            }

            }

            2.

            下面的例子中

            using System;

            class A

            {

            public static int X;

            static A(){

            X=B.Y+1;

            }

            }

            class B

            {

            public static int Y=A.X+1;

            static B(){}

            static void Main(){ //主函數(shù)為程序的入口

            ine("X={0},Y={1}",A.X,B.Y);

            }

            }

            產(chǎn)生的輸出結(jié)果是什么? 答:x=1,y=2

            3.

            常用的調(diào)用web rvice方法有哪些?

            答:訪問WebService的三種方法,GET ,POST ,和基于SOAP協(xié)議的Web代理的調(diào)用

            4.

            大概描述一下ASP。NET頁面的生命周期

            階段 說明

            頁請求發(fā)生在頁生命周期開始之前。用戶請求頁時, 將確定是否需要分析和編譯頁(從而開始

            頁請求

            頁的生命周期),或者是否可以在不運(yùn)行頁的情況下發(fā)送頁的緩存版本以進(jìn)行響應(yīng)。

            在開始階段,將設(shè)置頁屬性,如 Request 和 Respon。在此階段,頁還將確定請求是回發(fā)請求還是新

            開始

            請求,并設(shè)置 IsPostBack 屬性。此外,在開始階段期間,還將設(shè)置頁的 UICulture 屬性。

            頁初始

            頁初始化期間,可以使用頁中的控件,并將設(shè)置每個控件的 UniqueID 屬性。此外,任何主題都將應(yīng)用

            于頁。如果當(dāng)前請求是回發(fā)請求,則回發(fā)數(shù)據(jù)尚未加載,并且控件屬性值尚未還原為視圖狀態(tài)中的值。

            加載 加載期間,如果當(dāng)前請求是回發(fā)請求,則將使用從視圖狀態(tài)和控件狀態(tài)恢復(fù)的信息加載控件屬性。

            在驗證期間,將調(diào)用所有驗證程序控件的 Validate 方法,此方法將設(shè)置各個驗證程序控件和頁的 IsVal

            驗證

            id 屬性。

            回發(fā)事

            如果請求是回發(fā)請求,則將調(diào)用所有事件處理程序。

            件處理

            在呈現(xiàn)期間,視圖狀態(tài)將被保存到頁,然后頁將調(diào)用每個控件,以將其呈現(xiàn)的輸出提供給頁的 Respon

            呈現(xiàn)

            屬性的 OutputStream。

            完全呈現(xiàn)頁、將頁發(fā)送至客戶端并準(zhǔn)備丟棄時,將調(diào)用卸載。此時,將卸載頁屬性(如 Respon 和 R

            卸載

            equest)并執(zhí)行清理。

            5.

            在下面的例子里

            using System;

            class A

            {

            public A(){

            PrintFields();

            }

            public virtual void PrintFields(){}

            }

            class B:A

            {

            int x=1;

            int y;

            public B(){

            y=-1;

            }

            public override void PrintFields(){

            ine("x={0},y={1}",x,y);

            }

            }

            當(dāng)使用new B()創(chuàng)建B的實例時,產(chǎn)生什么輸出?

            答:x=1,y=0

            6.

            如何通過讀取數(shù)據(jù)庫中的圖片?

            // Assumes that connection is a valid SqlConnection object.

            SqlCommand command = new SqlCommand("SELECT pub_id, logo FROM pub_info", connec

            tion);

            // Writes the BLOB to a file (*.bmp).

            FileStream stream;

            // Streams the BLOB to the FileStream object.

            BinaryWriter writer;

            // Size of the BLOB buffer.

            int bufferSize = 100;

            // The BLOB byte[] buffer to be filled by GetBytes.

            byte[] outByte = new byte[bufferSize];

            // The bytes returned from GetBytes.

            long retval;

            // The starting position in the BLOB output.

            long startIndex = 0;

            // The publisher id to u in the file name.

            string pubID = "";

            // Open the connection and read data into the DataReader.

            ();

            SqlDataReader reader = eReader(tialAccess);

            while (()){

            // Get the publisher id, which must occur before getting the logo.

            pubID = ing(0);

            // Create a file to hold the output.

            stream = new FileStream("logo" + pubID + ".bmp", Create,

            ite);

            writer = new BinaryWriter(stream);

            // Ret the starting byte for the new BLOB.

            startIndex = 0;

            // Read bytes into outByte[] and retain the number of bytes returned.

            retval = es(1, startIndex, outByte, 0, bufferSize);

            // Continue while there are bytes beyond the size of the buffer.

            while (retval == bufferSize) {

            (outByte);

            ();

            // Reposition start index to end of last buffer and fill buffer.

            startIndex += bufferSize;

            retval = es(1, startIndex, outByte, 0, bufferSize);

            }

            // Write the remaining buffer.

            (outByte, 0, (int)retval - 1); ();

            // Clo the output file.

            (); ();

            }// Clo the reader and the connection.

            ();

            ();

            7.

            請編程遍歷頁面上所有TextBox控件并給它賦值為?

            protected void Page_Load(object nder, EventArgs e) {

            foreach (Control ctl in ls[0].Controls) {

            if (e().Name == "TextBox") {

            TextBox tb = new TextBox();

            tb = (TextBox)ntrol();

            = "";

            }

            }

            }

            8.

            Remoting簡介

            .NET Remoting(下文簡稱Remoting)是一種可用于開發(fā)分布式應(yīng)用程序的技術(shù)。其主要的結(jié)構(gòu),分為:遠(yuǎn)程對象、

            提供遠(yuǎn)程對象的遠(yuǎn)程服務(wù)器,以及可以訪問何使用遠(yuǎn)程對象的客戶端。這三個部分,可以分布于同一臺計算機(jī)的同

            一個進(jìn)程,或者是不同的進(jìn)程,也可以是處于網(wǎng)絡(luò)上的不同的計算機(jī)。Remoting技術(shù)最大的特點,就是對遠(yuǎn)程通

            信的過程進(jìn)行了抽象和封裝,使開發(fā)人員不必去處理底層通信的細(xì)節(jié),而可以把重點放在對業(yè)務(wù)邏輯的處理上。而

            且Remoting的通信協(xié)議也比較靈活,可以使用多個通信協(xié)議、不同的數(shù)據(jù)格式類型,以及不同類型的序列化機(jī)制。

            在某些情況下,Remoting還允許你使用自定義的數(shù)據(jù)格式。

            9.

            重載與覆蓋的區(qū)別

            1、方法的覆蓋是子類和父類之間的關(guān)系,是垂直關(guān)系;方法的重載是同一個類中方法之間的關(guān)系,是水平關(guān)系。

            2、覆蓋只能由一個方法,或只能由一對方法產(chǎn)生關(guān)系;方法的重載是多個方法之間的關(guān)系。

            3、覆蓋要求參數(shù)列表相同;重載要求參數(shù)列表不同。

            4、覆蓋關(guān)系中,調(diào)用那個方法體,是根據(jù)對象的類型(對象對應(yīng)存儲空間類型)來決定;重載關(guān)系,是根據(jù)調(diào)用時

            的實參表與形參表來選擇方法體的。

            10.

            大概描述一下ASP。NET服務(wù)器控件的生命周期

            階段

            初始化

            加載視圖狀態(tài)

            處理回發(fā)數(shù)據(jù)

            加載

            控件需要執(zhí)行的操作

            初始化在傳入 web 請求生命周期內(nèi)所需的設(shè)置

            在此階段結(jié)束時,就會自動填充控件的 viewstate 屬性

            處理傳入窗體數(shù)據(jù),并相應(yīng)地更新屬性

            執(zhí)行所有請求共有的操作,如設(shè)置數(shù)據(jù)庫查詢。此時,樹中的服務(wù)器控件已創(chuàng)建并初始化、

            狀態(tài)已還原并且窗體控件反映了客戶端的數(shù)據(jù)

            發(fā)送回發(fā)更改通知

            處理回發(fā)事件

            預(yù)呈現(xiàn)

            引發(fā)更改事件以響應(yīng)當(dāng)前和以前回發(fā)之間的狀態(tài)更改

            處理引起回發(fā)的客戶端事件,并在服務(wù)器上引發(fā)相應(yīng)的事件

            在呈現(xiàn)輸出之前執(zhí)行任何更新。可以保存在預(yù)呈現(xiàn)階段對控件狀態(tài)所做的更改,而在呈現(xiàn)

            階段所對的更改則會丟失

            保存狀態(tài) 在此階段后,自動將控件的 viewstate 屬性保持到字符串對象中。此字符串對象被發(fā)送到

            客戶端并作為隱藏變量發(fā)送回來

            呈現(xiàn)

            處置

            生成呈現(xiàn)給客戶端的輸出

            執(zhí)行銷毀控件前的所有最終清理操作。在此階段必須釋放對昂貴資源的引用,如數(shù)據(jù)庫鏈

            卸載 執(zhí)行銷毀控件前的所有最終清理操作

            1.存儲過程和函數(shù)的區(qū)別

            基本上一樣,一個顯著的不同之處就是函數(shù)必須有返回值

            2.事務(wù)是什么?

            數(shù)據(jù)庫事務(wù)是指作為一個邏輯工作單元執(zhí)行的一系列操作,一個邏輯工作單元必須有四個屬性,稱為 ACID(原

            子性、一致性、隔離性和持久性)屬性,只有這樣才能成為一個事務(wù)。事務(wù)處理可以確保除非事務(wù)性單元內(nèi)的所有

            操作都成功完成,否則不會永久更新面向數(shù)據(jù)的資源。通過將一組相關(guān)操作組合為一個要么全部成功要么全部失敗

            的單元,可以簡化錯誤恢復(fù)并使應(yīng)用程序更加可靠。

            3.游標(biāo)的作用?如何知道游標(biāo)已經(jīng)到了最后?

            游標(biāo)用于定位結(jié)果集的行,通過判斷全局變量@@FETCH_STATUS可以判斷是否到了最后,通常此變量不等于

            0表示出錯或到了最后。

            4.觸發(fā)器分為事前觸發(fā)和事后觸發(fā),這兩種觸發(fā)有和區(qū)別。語句級觸發(fā)和行級觸發(fā)有何區(qū)別。

            事前觸發(fā)器運(yùn)行于觸發(fā)事件發(fā)生之前,而事后觸發(fā)器運(yùn)行于觸發(fā)事件發(fā)生之后。通常事前觸發(fā)器可以獲取事件

            之前和新的字段值。語句級觸發(fā)器可以在語句執(zhí)行前或后執(zhí)行,而行級觸發(fā)在觸發(fā)器所影響的每一行觸發(fā)一次。

            。NET與ASP相比,主要有哪些進(jìn)步?

            和ASP的最大區(qū)別在于編程思維的轉(zhuǎn)換,而不僅僅在于功能的增強(qiáng)。ASP使用VBS/JS這樣的腳本語

            言混合html來編程,而那些腳本語言屬于弱類型、面向結(jié)構(gòu)的編程語言,而非面向?qū)ο蟆J紫仁敲嫦驅(qū)ο蟮木?/p>

            程語言,而不是一種腳本,所以它具有面向?qū)ο缶幊陶Z言的一切特性,比如封裝性、繼承性、多態(tài)性等等. 封裝性

            使得代碼邏輯清晰,易于管理,并且應(yīng)用到上就可以使業(yè)務(wù)邏輯和Html頁面分離,這樣無論頁面原型如何

            改變,業(yè)務(wù)邏輯代碼都不必做任何改動;繼承性和多態(tài)性使得代碼的可重用性大大提高,你可以通過繼承已有的對

            象最大限度保護(hù)你以前的投資。并且C#和C++、Java一樣提供了完善的調(diào)試/糾錯體系。

            5.數(shù)據(jù)庫的優(yōu)化設(shè)計?

            從范式優(yōu)化、索引優(yōu)化、表的優(yōu)化及查詢優(yōu)化探討數(shù)據(jù)庫優(yōu)化設(shè)計的方法,并對它們的綜合使用進(jìn)行分析.數(shù)據(jù)

            庫優(yōu)化設(shè)計時,在邏輯設(shè)計階段,要根據(jù)范式優(yōu)化及表優(yōu)化中的要求設(shè)計數(shù)據(jù)庫邏輯結(jié)構(gòu),對兩者的利弊進(jìn)行權(quán)衡,選出

            折衷的方案,既可以避免不一致性和數(shù)據(jù)異常現(xiàn)象,又不影響整體的性能;在數(shù)據(jù)庫物理設(shè)計階段,要根據(jù)索引優(yōu)化中的

            要求在有關(guān)屬性或?qū)傩缘慕M合上建立索引,以優(yōu)化數(shù)據(jù)庫物理結(jié)構(gòu);在數(shù)據(jù)庫查詢階段,采用在條件子句中使用索引,嵌

            套查詢,遲早執(zhí)行選擇操作,遲早消除不滿足條件的記錄,分組計數(shù)和避免困難的正規(guī)表達(dá)式6種優(yōu)化策略,可大大提高

            查詢效率。

            程序員面試題

            本文發(fā)布于:2024-03-29 06:02:22,感謝您對本站的認(rèn)可!

            本文鏈接:http://www.newhan.cn/zhishi/a/1711663342301184.html

            版權(quán)聲明:本站內(nèi)容均來自互聯(lián)網(wǎng),僅供演示用,請勿用于商業(yè)和其他非法用途。如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時內(nèi)刪除。

            本文word下載地址:程序員面試題.doc

            本文 PDF 下載地址:程序員面試題.pdf

            下一篇:返回列表
            標(biāo)簽:類型   應(yīng)用程序   對象
            留言與評論(共有 0 條評論)
               
            驗證碼:
            推薦文章
            排行榜
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實用文體寫作網(wǎng)旗下知識大全大全欄目是一個全百科類寶庫! 優(yōu)秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 国产成人高清精品免费5388| 国产在线观看免费观看| 精品人人妻人人澡人人爽人人牛牛| 国产精品高清一区二区三区| 国产亚洲制服免视频| 亚洲欧洲色图片网站| 国产精品自拍三级在线观看| 午夜福利免费视频一区二区| 亚洲中文字幕一二区日韩| 国产偷窥熟女高潮精品视频| 久久亚洲2019中文字幕| 国产精品亚洲片在线观看麻豆| 人妻被猛烈进入中文字幕| 国产精品久久久一区二区三区| 日韩有码中文在线观看| 少妇熟女久久综合网色欲| 欧美成本人视频免费播放| 国内精品久久人妻无码网站| 激情综合五月网| 久久国产亚洲精选av| 2021久久精品国产99国产| 亚洲一区二区不卡av| 99www久久综合久久爱com| 久热99热这里只有精品| 亚洲黄色第一页在线观看| 免费无码肉片在线观看| 东方av四虎在线观看| 精品亚洲AⅤ无码午夜在线| 日日碰狠狠躁久久躁96avv | 日韩精品一区二区三区无| 女同亚洲精品一区二区三| 日韩精品国产另类专区| 久久国产成人高清精品亚洲| 亚洲欧洲日韩国内高清| 特黄三级又爽又粗又大| 国产一区二区日韩在线| 午夜福利不卡片在线播放免费| 人妻人人澡人人添人人爽| 狠狠躁天天躁中文字幕无码| 91精品国产色综合久久| 亚洲精品揄拍自拍首页一|