-----> 總文章 入口
文章目錄
- [-----> 總文章 入口](https://blog.csdn.net/qq_37214567/article/details/90174445)
- C#
- 1. 簡述 private、 protected、 public、 internal 修飾符的訪問權限。
- 2 .列舉ASP.NET 頁面之間傳遞值的幾種方式。
- 3.C#中的委託是什麼?事件是不是一種委託?
- 4.override與重載的區別
- 5.用.net做B/S結構的系統,您是用幾層結構來開發,每一層之間的關係以及爲什麼要這樣分層?
- 6.CTS、CLS、CLR分別作何解釋?
- 7.什麼是裝箱和拆箱?
- 8.什麼是受管制的代碼?
- 9.常用的調用WebService的方法有哪些?
- 10.在C#中,string str = null 與 string str = “” 請儘量使用文字或圖象說明其中的區別。
- 11.類(class)與結構(struct)的區別
- 12.GC是什麼? 爲什麼要有GC?
- 13.String s = new String("xyz");創建了幾個String Object?
- 14.啓動一個線程是用run()還是start()?
- 15.是否可以繼承String類?
- 16.try {}裏有一個return語句,那麼緊跟在這個try後的finally {}裏的code會不會被執行,什麼時候被執行,在return前還是後?
- 17.兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?
- 18.當一個線程進入一個對象的一個synchronized方法後,其它線程是否可進入此對象的其它方法?
- 19.Session有什麼重大BUG,微軟提出了什麼方法加以解決?
- 20.進程和線程的區別?
- 21.堆和棧的區別?
- 22.成員變量和成員函數前加static的作用?
- 23.ASP.NET與ASP相比,主要有哪些進步?
- 24.請說明在.net中常用的幾種頁面間傳遞參數的方法,並說出他們的優缺點。
- 25.DataReader與Dataset有什麼區別?
- 26.什麼是虛函數?什麼是抽象函數?
- 27.什麼是code-Behind技術。
- 28.什麼是SOAP,有哪些應用。
- 29.C#中 property 與 attribute的區別,他們各有什麼用處,這種機制的好處在哪裏?
- 30.當整數a賦值給一個object對象時,整數a將會被?
- 31.public static const int A=1;這段代碼有錯誤麼?是什麼?
- 32.float f=-123.567F; int i=(int)f;i的值現在是?
- 33. Net MVC 由控制器向視圖傳遞數據的對象有哪些?
- 34. 列舉 MVC ActionResult 的幾種返回類型
- 35. 正則表達式 的特殊符號中 “\d{6,12}表示?”
- 36. JQuery $(document).ready() 與 window.onload 有啥區別?
- 37. a=8 ,b=24 在不使用 第三方的前提下,把ab的值互換。
- 38.什麼是強類型,什麼是弱類型?哪種更好些?爲什麼?
- 39. UDP連接和TCP連接有什麼異同?
- 40. 產生一個int數組,長度爲100,並向其中隨機插入1-100,不能重複。
C#
1. 簡述 private、 protected、 public、 internal 修飾符的訪問權限。
private : 私有成員, 在類的內部纔可以訪問。
protected : 保護成員,該類內部和繼承類中可以訪問。
public : 公共成員,完全公開,沒有訪問限制。
internal: 在同一命名空間內可以訪問。
2 .列舉ASP.NET 頁面之間傳遞值的幾種方式。
1.使用QueryString, 如…?id=1; response. Redirect()…
2.使用Session變量
3.使用Server.Transfer
3.C#中的委託是什麼?事件是不是一種委託?
委託可以把一個方法作爲參數代入另一個方法。 委託可以理解爲指向一個函數的引用。
是,是一種特殊的委託
4.override與重載的區別
重載是方法的名稱相同。參數或參數類型不同,進行多 次重載以適應不同的需要
Override 是進行基類中函數的重寫。爲了適應需要。
5.用.net做B/S結構的系統,您是用幾層結構來開發,每一層之間的關係以及爲什麼要這樣分層?
一般爲3層 數據訪問層,業務層,表示層。
數據訪問層對數據庫進行增刪查改。
業務層一般分爲二層,業務表觀層實現與表示層的溝通,業務規則層實現用戶密 碼的安全等。
表示層爲了與用戶交互例如用戶添加表單。
優點:
分工明確,條理清晰,易於調試,而且具有可擴展性。
缺點:
增加成本。
6.CTS、CLS、CLR分別作何解釋?
CTS:通用語言系統。
CLS:通用語言規範。
CLR:公共語言運行庫。
7.什麼是裝箱和拆箱?
從值類型接口轉換到引用類型裝箱。
從引用類型轉換到值類型拆箱。
8.什麼是受管制的代碼?
unsafe:非託管代碼。不經過CLR運行。
9.常用的調用WebService的方法有哪些?
1.使用WSDL.exe命令行工具。
2.使用VS.NET中的Add Web Reference菜單選項
10.在C#中,string str = null 與 string str = “” 請儘量使用文字或圖象說明其中的區別。
string str = null 是不給他分配內存空間,
string str = “” 給它分配 長度爲空字符串的內存空間。
11.類(class)與結構(struct)的區別
Class可以被實例化,屬於引用類型,是分配在內存的堆上的
Struct屬於值類型,是分配在內存的棧上的.
12.GC是什麼? 爲什麼要有GC?
GC是垃圾收集器。程序員不用擔心內存管理,因爲垃圾收集器會自動進行管 理。
要請求垃圾收集,可以調用下面的方法之一:
System.gc()
Runtime.getRuntime().gc()
13.String s = new String(“xyz”);創建了幾個String Object?
兩個對象,一個是“xyx”,一個是指向“xyx”的引用對象s。
14.啓動一個線程是用run()還是start()?
啓動一個線程是調用start()方法,使線程所代表的虛擬處理機處於可運行狀 態,這意味着它可以由JVM調度並執行。這並不意味着線程就會立即運行。
run()方法可以產生必須退出的標誌來停止一個線程。
15.是否可以繼承String類?
String類是final類故不可以繼承。
16.try {}裏有一個return語句,那麼緊跟在這個try後的finally {}裏的code會不會被執行,什麼時候被執行,在return前還是後?
會執行,在return前執行。
17.兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?
不對,有相同的hash code。
18.當一個線程進入一個對象的一個synchronized方法後,其它線程是否可進入此對象的其它方法?
不能,一個對象的一個synchronized方法只能由一個線程訪問。
19.Session有什麼重大BUG,微軟提出了什麼方法加以解決?
是iis中由於有進程回收機制,系統繁忙的話Session會丟失
可以用SQL Server數據庫的方式存儲Session不過這種方式比較慢,
而且無法 捕獲Session的END事件。
20.進程和線程的區別?
進程是系統進行資源分配和調度的單位;
線程是CPU調度和分派的單位,一個 進程可以有多個線程,這些線程共享這個進程的資源。
21.堆和棧的區別?
棧:由編譯器自動分配、釋放。在函數體中定義的變量通常在棧上。
堆:一般由程序員分配釋放。用new、malloc等分配內存函數分配得到的就是在堆 上。
22.成員變量和成員函數前加static的作用?
它們被稱爲常成員變量和常成員函數,又稱爲類成員變量和類成員函數。分 別用來反映類的狀態。
比如類成員變量可以用來統計類實例的數量,類成員函數 負責這種統計的動作。
23.ASP.NET與ASP相比,主要有哪些進步?
asp解釋形,aspx編譯型,性能提高,有利於保護源碼。
24.請說明在.net中常用的幾種頁面間傳遞參數的方法,並說出他們的優缺點。
session(viewstate) 簡單,但易丟失
application 全局
cookie 簡單,但可能不支持,可能被僞造
input ttype=“hidden” 簡單,可能被僞造
url參數 簡單,顯示於地址欄,長度有限
數據庫 穩定,安全,但性能相對弱
25.DataReader與Dataset有什麼區別?
DataReader是隻能向前的只讀遊標,
Dataset是內存中虛擬的數據庫。
26.什麼是虛函數?什麼是抽象函數?
虛函數:沒有實現的,可由子類繼承並重寫的函數。
抽象函數:規定其非虛子類必須實現的函數,必須被重寫。
27.什麼是code-Behind技術。
ASPX,RESX和CS三個後綴的文件,這個就是代碼分離.
實現了HTML代碼和服務器代碼分離.方便代碼編寫和整理.
28.什麼是SOAP,有哪些應用。
simple object access protocal,簡單對象接受協議.
以xml爲基本編碼結構,建立在已有通信協議上 的一種規範Web Service使用的協議…
29.C#中 property 與 attribute的區別,他們各有什麼用處,這種機制的好處在哪裏?
一個是屬性,用於存取類的字段,
一個是特性,用來標識類,方法等的附加性質
30.當整數a賦值給一個object對象時,整數a將會被?
裝箱
31.public static const int A=1;這段代碼有錯誤麼?是什麼?
const不能用static修飾。
32.float f=-123.567F; int i=(int)f;i的值現在是?
-123
33. Net MVC 由控制器向視圖傳遞數據的對象有哪些?
viewBag , viewData , TempleData , 普通Model , 強類型Model , Razor Engine
34. 列舉 MVC ActionResult 的幾種返回類型
- ViewResult ,
- PartialViewResult ,
- ContentResult ,
- JsonResult ,
- FileResult ,
- Null,
- Redirect / RedirectToAction / RedirectToRoute
35. 正則表達式 的特殊符號中 “\d{6,12}表示?”
6-12位數字
36. JQuery $(document).ready() 與 window.onload 有啥區別?
1.執行的時間不同
onload 必須等到頁面內包括圖片的所有元素加載完畢後才能執行,
read()是DOM結構繪製完畢後就執行,不必等到加載完畢.
2. 簡化寫法
window.onload沒有簡化寫法
$(document).ready(function(){}) 可以簡寫成 $(function(){});
37. a=8 ,b=24 在不使用 第三方的前提下,把ab的值互換。
- a=a+b; b=a-b; a=a-b;
- a=10=0x0a=00001010b(在內存或計算機處理數據時), b=15=0x0f=00001111b(在內存或計算機處理數據時)
所以,在a=b=a^=b;執行計算時,
先執行:a=b(最右邊),即a=ab=00001010b^00001111b=00000101b=0x05
再執行:b=a(中間),即b=ba=00001111b^00000101b=00001010b=0x0a=10
再執行:a=b(最左邊),即a=ab=00000101b^00001010b=00001111b=0x0f=15
故達成目標。- a=b(b=ab); // 13個字節
- a=b+(b=a)*0; // 11個字節
38.什麼是強類型,什麼是弱類型?哪種更好些?爲什麼?
弱類型語言允許將一塊內存看做多種類型。
比如直接將整型變量與字符變量相加。
C 和 C++是靜態語言,也是弱類型語言;
Perl 和 PHP 是動態語言,但也是弱類型語言。
強類型語言在沒有強制類型轉化前,不允許兩種不同類型的變量相互操作。
Java、C#和Python等都是強類型語言。
使用哪種語言還是要按需而定。編寫簡單小應用,使用弱類型語言可節省很多代碼量,有更高的開發效率。
而對於構建大型項目,使用強類型語言可能會比使用弱類型更加規範可靠。
39. UDP連接和TCP連接有什麼異同?
- 簡單的說TCP與UDP的區別是有無連接狀態。
- TCP是面向連接的,UDP是面向無連接的。TCP(Transmission Control Protocol,傳輸控制協議),UDP(User Datagram Protocol,用戶數據包協議)
- TCP UDP是兩個協議,簡單的說,TCP連接要對方確認的,而UDP卻不需要對方確認收到包,所以TCP連接更加安全,
- 傳輸層協議一般有TCP和UDP,TCP爲可靠傳輸,協議本身會保證數據傳輸的可靠,但爲此會付出很多額外的網絡開銷。UDP爲不可靠傳輸,所以傳輸效率比較高,本端只負責發送數據,不保證對端能否收到。對於UDP,可靠性可以在應用層實現
40. 產生一個int數組,長度爲100,並向其中隨機插入1-100,不能重複。
namespace Wolfy.RandomDemo
{
class Program
{
static void Main(string[] args)
{
int[] result = GetRandom(100);
for (int i = 0; i < result.Length; i++)
{
Console.WriteLine(result[i]);
}
Console.WriteLine("over:" + result.Length);
Console.Read();
}
/// <summary>
/// 獲得無重複隨機數組
/// </summary>
/// <param name="n">上限n</param>
/// <returns>返回隨機數組</returns>
static int[] GetRandom(int n)
{
//容器A和B
int[] arryA = new int[n];
int[] arryB = new int[n];
//填充容器a
for (int i = 0; i < arryA.Length; i++)
{
arryA[i] = i + 1;
}
//隨機對象
Random r = new Random();
//最後一個元素的索引 如n=100,end=99
int end = n - 1;
for (int i = 0; i < n; i++)
{
//生成隨機數 因爲隨機的是索引 所以從0到100取,end=100
//一個大於等於 minValue 且小於 maxValue 的 32 位帶符號整數,
//即:返回的值範圍包括 minValue 但不包括 maxValue。
//如果 minValue 等於 maxValue,則返回 minValue
//
int minValue = 0;
int maxValue = end + 1;
int ranIndex = r.Next(minValue, maxValue);
//把隨機數放在容器B中
arryB[i] = arryA[ranIndex];
//用最後一個元素覆蓋取出的元素
arryA[ranIndex] = arryA[end];
//縮減隨機數生成的範圍
end--;
}
//返回生成的隨機數組
return arryB;
}
}
}