當(dāng)前位置:
首頁 >
.Net面试题(1)
發(fā)布時(shí)間:2025/7/14
43
豆豆
生活随笔
收集整理的這篇文章主要介紹了
.Net面试题(1)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1. 面試時(shí)有相當(dāng)大的可能會被問到面向?qū)ο竦奶攸c(diǎn):繼承,封裝,多態(tài)。 封裝:每個(gè)對象都包含它能進(jìn)行操作所需要的所有信息,這個(gè)特性稱為封裝,因此對象不必依賴其他對象來完成自己的操作。 繼承:對象的繼承代表了一種“is-a”的關(guān)系,如果兩個(gè)對象A和B,可以描述為“B是A”,則表明B可以繼承A。 多態(tài):表示不同的對象可以執(zhí)行相同的動作,但要通過它們自己的實(shí)現(xiàn)代碼來執(zhí)行。 2.集合 ArrayList是命名空間System.Collections下的一部分,它是使用大小可以按需要動態(tài)增加的數(shù)組實(shí)現(xiàn)IList接口。 3.泛型 泛型是具有占位符(類型參數(shù))的類、結(jié)構(gòu)、接口和方法,這些占位符是類、結(jié)構(gòu)、接口和方法所存儲或使用的一個(gè)或多個(gè)類型的占位符。泛型集合類可以將類型參數(shù)用作它所存儲的對象的類型占位符;類型參數(shù)作為其字段的類型和其方法的參數(shù)類型出現(xiàn)。 IList<A> arrA = new List<A>(); 通常情況下,都建議使用泛型集合,因?yàn)檫@樣可以獲得得類型安全的直接優(yōu)點(diǎn)而不需要從基集合類型派生并實(shí)現(xiàn)類型的特定成員。此外,如果集合元素為值類型,泛型集合的性能通常優(yōu)于對應(yīng)的非泛型集合類型(并優(yōu)于從非泛基集合型類型派生的類型),因?yàn)槭褂梅盒蜁r(shí)不必對元素進(jìn)行裝箱。 4.委托和事件 委托是對函數(shù)的封裝,可以當(dāng)作給方法的特征指定一個(gè)名稱。而事件則是委托的一種特殊形式,當(dāng)發(fā)生有意義的事情時(shí),事件對象處理通知過程。 委托是一種引用方法的類型。一旦為委托分配了方法,委托將與該方法具有完全相同的行為。事件是在發(fā)生其他類或?qū)ο箨P(guān)注的事情時(shí),類或?qū)ο罂赏ㄟ^事件通知它們。 public delegate void CatShoutEventHandler(); public event CatShoutEventHandler CatShout; EventArges是包含事件數(shù)據(jù)的類的基類。
經(jīng)常會被問到的二個(gè)算法:冒泡排序和二分法。以下是兩個(gè)比較經(jīng)典的實(shí)現(xiàn)。 ? 冒泡排序算法: ????????public void BubbleSort(int[] arr)
????????{
????????????for (int i = 1; i < arr.Length; i++)
????????????????for (int j = 0; j < arr.Length - i; j++)
????????????????{
????????????????????if (arr[j] > arr[j + 1])
????????????????????{
????????????????????????int tmp = arr[j];
????????????????????????arr[j] = arr[j + 1];
????????????????????????arr[j + 1] = tmp;
????????????????????}
????????????????}
????????} 二分法查找: ????????public int HalfSearch(int key, int[] arr)
????????{
????????????int left = 0;
????????????int right = arr.Length - 1;
????????????while (left <= right)
????????????{
????????????????int middle = (left + right) / 2;
????????????????if (key == arr[middle])
????????????????????return middle;
????????????????else if (key > arr[middle])
????????????????{
????????????????????left = middle + 1;
????????????????}
????????????????else
????????????????{
????????????????????right = middle - 1;
????????????????}
????????????}
????????????return -1;
????????}
經(jīng)常會被問到的二個(gè)算法:冒泡排序和二分法。以下是兩個(gè)比較經(jīng)典的實(shí)現(xiàn)。 ? 冒泡排序算法: ????????public void BubbleSort(int[] arr)
????????{
????????????for (int i = 1; i < arr.Length; i++)
????????????????for (int j = 0; j < arr.Length - i; j++)
????????????????{
????????????????????if (arr[j] > arr[j + 1])
????????????????????{
????????????????????????int tmp = arr[j];
????????????????????????arr[j] = arr[j + 1];
????????????????????????arr[j + 1] = tmp;
????????????????????}
????????????????}
????????} 二分法查找: ????????public int HalfSearch(int key, int[] arr)
????????{
????????????int left = 0;
????????????int right = arr.Length - 1;
????????????while (left <= right)
????????????{
????????????????int middle = (left + right) / 2;
????????????????if (key == arr[middle])
????????????????????return middle;
????????????????else if (key > arr[middle])
????????????????{
????????????????????left = middle + 1;
????????????????}
????????????????else
????????????????{
????????????????????right = middle - 1;
????????????????}
????????????}
????????????return -1;
????????}
轉(zhuǎn)載于:https://blog.51cto.com/recoverypeak/140320
總結(jié)
以上是生活随笔為你收集整理的.Net面试题(1)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: apachectl startssl启动
- 下一篇: ASP.NET MVC 重点教程一周年版