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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

就业模拟试题_Net(答案)

發(fā)布時(shí)間:2024/9/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 就业模拟试题_Net(答案) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、 基礎(chǔ)知識(shí)部分(每題3分,共60分)

  • 委托是什么,事件跟委托是不是一回事?
  • 答案

    委托是一種傳遞消息的機(jī)制,可以將與委托簽名相同的方法作為參數(shù)傳遞

    簽名相同包括:方法的返回值類型,參數(shù)個(gè)數(shù)和類型

    事件是一種特殊的委托

  • net中讀寫數(shù)據(jù)庫需要用到那些類?他們的作用?
  • 答案

    SqlConnection 連接數(shù)據(jù)庫

    SqlCommand 執(zhí)行Sql語句或存儲(chǔ)過程

    SqlDataReader 實(shí)現(xiàn)對數(shù)據(jù)表記錄向前只讀,一次讀取一條記錄

    SqlDataAapter 執(zhí)行Sql語句或存儲(chǔ)過程

    SqlParameter? 向Sql語句或存儲(chǔ)過程傳遞參數(shù)

  • DataSet和DataReader的區(qū)別是什么?
  • 答案

    DataSet提供一個(gè)內(nèi)存中數(shù)據(jù)的關(guān)系表示形式,相當(dāng)于內(nèi)存中的數(shù)據(jù)庫。DataSet中包含表集合和表和表之間的關(guān)系。

    DataReader提供一個(gè)來自數(shù)據(jù)庫的快速、向前、只讀數(shù)據(jù)流。

    DataSet 和DataReader都是ADO.NET提供以下兩個(gè)操作關(guān)系數(shù)據(jù)庫的主要對象。

    DataSet經(jīng)常會(huì)利用DataAdapter一次性從數(shù)據(jù)庫里提取大量數(shù)據(jù)存放在其中,實(shí)現(xiàn)與用戶數(shù)據(jù)源進(jìn)行雙向交互。當(dāng)使用DataSet時(shí),也可以利用DataView對DataSet中的數(shù)據(jù)應(yīng)用排序和篩選。也可以從DataSet繼承,創(chuàng)建強(qiáng)類型DataSet,用于將表、行和列作為強(qiáng)類型對象屬性公開。
    當(dāng)設(shè)計(jì)應(yīng)用程序時(shí),要考慮應(yīng)用程序所需功能的等級(jí),以確定使用DataSet或者是DataReader。

  • 能用foreach遍歷訪問的對象需要實(shí)現(xiàn)哪個(gè)接口或聲明哪個(gè)方法的類型?
  • 答案

    IEnumerable 、 GetEnumerator

  • 簡述 private、 protected、 public、 internal 修飾符的訪問權(quán)限
  • 答案

    Public 公有,其他類都可以訪問

    ??? Protected 保護(hù),只有本類和子類可以訪問

    ??? Private 私有,只有本類可以使用

    ??? Internal 內(nèi)部,本程序集中的類可以使用。

  • 列舉ASP.NET 頁面之間傳遞值的幾種方式
  • 答案

    1.使用Url重寫QueryString, 如....?id=1; response. Redirect()....
    2.使用Session變量

    3.使用Cookie

    4.使用Server.Transfer

    5.使用Button控件的PostBackUrl屬性

  • CTS、CLS、CLR分別作何解釋?
  • 答案

    CTS:通用語言系統(tǒng)。CLS:通用語言規(guī)范。CLR:公共語言運(yùn)行庫。

  • 什么是裝箱和拆箱?
  • 答案

    從值類型接口轉(zhuǎn)換到引用類型裝箱。從引用類型轉(zhuǎn)換到值類型拆箱。

  • 分析以下代碼,完成填空
    string strTmp = "abcdefg某某某";
    int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;
    int j= strTmp.Length;
    以上代碼執(zhí)行完后,i=? ?j=?
  • 答案

    i=13(i輸出的是字節(jié)數(shù),一個(gè)漢字占兩個(gè)字節(jié)),j=10(輸出字符數(shù),不分中英文)

  • GC是什么? 如何請求GC?
  • 答案

    GC是垃圾收集器。程序員不用擔(dān)心內(nèi)存管理,因?yàn)槔占鲿?huì)自動(dòng)進(jìn)行管理。要請求垃圾收集,可以調(diào)用下面的方法之一:
    System.gc()
    Runtime.getRuntime().gc()

  • 接口是否可繼承接口? 抽象類是否可實(shí)現(xiàn)(implements)接口? 抽象類是否可繼承實(shí)體類(concrete class)?
  • 答案

    接口可以繼承接口。抽象類可以實(shí)現(xiàn)(implements)接口,抽象類是否可繼承實(shí)體類,前提是實(shí)體類必須有明確的構(gòu)造函數(shù)。

  • 什么是自定義控件?動(dòng)態(tài)如何傳數(shù)據(jù)?
  • 答案

    1)??????? 概述:自定義控件也是asp.net的一種服務(wù)器控件,體現(xiàn)格式為*.dll

    2)??????? 適用場合:當(dāng).net平臺(tái)給我們提供的web服務(wù)器控件不夠用的時(shí)候,就需要我們自己開發(fā)一個(gè)自定義控件,或者又稱為第三方控件;可以把該種控件添加到工具箱中,然后就像使用Web服務(wù)器控件一樣。例如:分頁控件

    3)??????? 在控件內(nèi)部公開屬性,通過給屬性賦值進(jìn)行數(shù)據(jù)的交互; 控件最終體現(xiàn)在界面上的樣式是靠重寫父類的Render方法來實(shí)現(xiàn)的

  • 什么是Code-Behind技術(shù)?
  • 答案

    字面意思就是:代碼在后面,也就是代碼隱藏的意思。

    主要是通過aspx頁面指向?qū)?yīng)的CS文件,可以實(shí)現(xiàn)顯示邏輯和處理邏輯的分離,這樣做有別于以前的asp頁面和代碼全混在一起不容易后期的修改和維護(hù),使用code behind更容易維護(hù),美工和程序員可以很好的分工

  • 說明.net中的錯(cuò)誤處理機(jī)制
  • 答案

    ? 異常處理有兩種方法:一種是使用Try Catch處理,一種使用throw扔出

  • 列舉一種適合asp.net應(yīng)用開發(fā)的分層結(jié)構(gòu),介紹每層的作用
  • 答案

    1)表現(xiàn)層? 顯示數(shù)據(jù)和接受輸入

    ?? 2)業(yè)務(wù)邏輯層? 用于進(jìn)行業(yè)務(wù)數(shù)據(jù)的處理

    ?? 3)數(shù)據(jù)訪問層? 用于訪問數(shù)據(jù)

    ?? 4)實(shí)體層? 用于封裝數(shù)據(jù)傳遞的對象

  • net的身份驗(yàn)證方式有哪些?分別是什么原理?
  • 答案

    Windows身份驗(yàn)證,基于Windows系統(tǒng)的用戶的認(rèn)證

    Forms身份驗(yàn)證,基于Form表單的認(rèn)證

  • 請?jiān)斒鲈赿otnet中類(class)與結(jié)構(gòu)(struct)的異同?
  • 答案

    Class可以被實(shí)例化,屬于引用類型,是分配在內(nèi)存的堆上的,Struct屬于值類型,是分配在內(nèi)存的棧上的.Class可以被繼承,struct不可以被繼承

  • 常用的調(diào)用WebService的方法有哪些?
  • 答案

    手動(dòng)建立Web服務(wù)代理,

    利用開發(fā)環(huán)境建立Web服務(wù)代理

  • 在net中讀取XML文件要用到那些包,類,方法?
  • 答案

    System.Xml命名空間包含了一些最重要的XML類,其中最主要的類是和XML文檔的讀寫操作相關(guān)的類。這些類中包括4個(gè)與讀相關(guān)的類以及2個(gè)與寫相關(guān)的類。它們分別是:XmlReader、XmlTextReader、XmlValidatingReader、XmlNodeReader、XmlWriter以及 XmlTextWriter。

    XmlReader類是一個(gè)虛基類,它包含了讀XML文檔的方法和屬性。該類中的Read方法是一個(gè)基本的讀XML文檔的方法,它以流形式讀取XML文檔中的節(jié)點(diǎn)(Node)。另外,該類還提供了ReadString、ReadInnerXml、ReadOuterXml和ReadStartElement等更高級(jí)的讀方法。除了提供讀XML文檔的方法外,XmlReader類還為程序員提供了MoveToAttribute、MoveToFirstAttribute、MoveToContent、MoveToFirstContent、MoveToElement以及 MoveToNextAttribute等具有導(dǎo)航功能的方法。

    XmlTextReader、XmlNodeReader以及XmlValidatingReader等類是從XmlReader類繼承過來的子類。根據(jù)它們的名稱,我們可以知道其作用分別是讀取文本內(nèi)容、讀取節(jié)點(diǎn)和讀取XML模式(Schemas)。

    XmlWriter類為程序員提供了許多寫XML文檔的方法,它是XmlTextWriter類的基類,我在后面的實(shí)例中會(huì)給出相關(guān)的運(yùn)用方法。

    XmlNode類是一個(gè)非常重要的類,它代表了XML文檔中的某個(gè)節(jié)點(diǎn)。該節(jié)點(diǎn)可以是XML文檔的根節(jié)點(diǎn),這樣它就代表整個(gè)XML文檔了。它是許多很有用的類的基類,這些類包括插入節(jié)點(diǎn)的類、刪除節(jié)點(diǎn)的類、替換節(jié)點(diǎn)的類以及在XML文檔中完成導(dǎo)航功能的類。同時(shí),XmlNode類還為程序員提供了獲取雙親節(jié)點(diǎn)、子節(jié)點(diǎn)、最后一個(gè)子節(jié)點(diǎn)、節(jié)點(diǎn)名稱以及節(jié)點(diǎn)類型等的屬性。它的三個(gè)最主要的子類包括:XmlDocument、XmlDataDocument以及XmlDocumentFragment。XmlDocument類代表了一個(gè)XML文檔,它提供了載入和保存XML文檔的方法和屬性。這些方法包括了Load、LoadXml和Save等。同時(shí),它還提供了添加特性(Attributes)、說明(Comments)、空間(Spaces)、元素(Elements)和新節(jié)點(diǎn)(New Nodes)等XML項(xiàng)的功能。XmlDocumentFragment類代表了一部分XML文檔,它能被用來添加到其他的XML文檔中。XmlDataDocument類可以讓程序員更好地完成和ADO.NET中的數(shù)據(jù)集對象之間的互操作。

  • 什么是強(qiáng)類型系統(tǒng)?
  • 答案

    RTTI:類型識(shí)別系統(tǒng)。

    二、 程序題(前6題每題5分,第7題10分。共40分)

    1.? 公司要求開發(fā)一個(gè)繼承System.Windows.Forms.ListView類的組件,要求達(dá)到以下的特殊功能:點(diǎn)擊ListView各列列頭時(shí),能按照點(diǎn)擊列的每行值進(jìn)行重排視圖中的所有行 (排序的方式如DataGrid相似)。根據(jù)您的知識(shí),請簡要談一下您的思路。

    答案

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

    2.? 根據(jù)委托(delegate)的知識(shí),請完成以下用戶控件中代碼片段的填寫:
    namespaceTest
    {
    ??? public delegate void OnDBOperate();
    ??? public class UserControlBase : System.Windows.Forms.UserControl
    ??? {
    ?????? public event OnDBOperate OnNew;
    ?????? privatevoidtoolBar_ButtonClick(objectsender,

    System.Windows.Forms.ToolBarButtonClickEventArgs e)
    {
    ??? if(e.Button.Equals(BtnNew))
    ??? {
    ????? //請?jiān)谝韵卵a(bǔ)齊代碼用來調(diào)用OnDBOperate委托簽名的OnNew事件。

    }

    }

    }

    ?? }

    答案

    if( OnNew != null )
    OnNew( this, e );

    3.? 仔細(xì)閱讀下列代碼
    using System;
    class A
    {
    ??? public A()
    ??? {
    ?????? PrintFields();
    ??? }

    //類中定義了一個(gè)虛方法
    ??? public virtual void PrintFields(){}
    }

    //類B繼承自類A
    class B:A
    {
    ??? int x=1;
    ??? int y;
    ?? public B()
    ?? {
    ???? y=-1;
    ?? }
    ? public override void PrintFields()
    ?? {
    ???? Console.WriteLine("x={0},y={1}",x,y);
    ?? }

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

    答案

    X=1,Y=0;x= 1 y = -1

    4.? 寫出程序的輸出結(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);
    ?????? ?}?
    ??? }

    答案

    (考查值引用和對象引用)
    10
    21
    0
    str
    string being converted.

    5.? 用socket實(shí)現(xiàn)服務(wù)器端向客戶端傳遞幾個(gè)字符,在客戶端輸出

    答案

    Using System.Net.Sockets;

    //啟動(dòng)監(jiān)聽

    TcpListener objLsn = new TcpListener(1000);

    objLsn.Start();

    Socket objSocket = objLsn.AcceptSocket();

    //發(fā)送

    String msg = “測試發(fā)送”;

    Byte[] arr = System.Text.Encoding.Default.GetBytes(msg);

    objSocket.Send(arr);

    參考:WinForm第八章Socket編程

    6.? 寫出程序的輸出結(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();
    ???????  }
    }

    答案

    A
    B
    A.Fun()
    評(píng)分標(biāo)準(zhǔn): 寫出A.B 得5分,寫出A.Fun()得5分,滿分10分。
    (考查在繼承類中構(gòu)造函數(shù), 以及new 方法, )

    7.? 程序設(shè)計(jì): 貓大叫一聲,所有的老鼠都開始逃跑,主人被驚醒。(C#語言)

    要求:? 1.要有聯(lián)動(dòng)性,老鼠和主人的行為是被動(dòng)的。

    2.考慮可擴(kuò)展性,貓的叫聲可能引起其他聯(lián)動(dòng)效應(yīng)。

    答案

    要點(diǎn):1. 聯(lián)動(dòng)效果,運(yùn)行代碼只要執(zhí)行Cat.Cryed()方法。2. 對老鼠和主人進(jìn)行抽象
    評(píng)分標(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)
    ??????? {??????????
    ??????????? this.name = 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)
    ??????? {??
    ??????????? this.name = 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();
    ??????? }

    ??? }

    總結(jié)

    以上是生活随笔為你收集整理的就业模拟试题_Net(答案)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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