整理統計大多數企業初中級C#.net面試題(個人整理)
阿新 • • 發佈:2018-12-26
1.“HTML.TextBox” 和 “HTML.TextBoxFor”有什麼不同?
它們兩個輸出相同的HTML, “HTML.TextBoxFor”是強型別的,但“HTML.TextBox”不是。下面是一個例項,
它僅僅建立了一個名字為“CustomerCode”的輸入框。
2.如何限制一個動作的型別為GET或POST?
[HttpGet] //方法名上面加上httpget或者httppost
public ViewResult DisplayCustomer(int id)
{
Customer objCustomer = Customers[id];
return View("DisplayCustomer",objCustomer);
}
3.在MVC中如何保持Sessions?
三種方式保持: tempdata, viewdata, 和viewbag
PS:儘可能去多瞭解一下這三個tempdata,viewdata,viewbag的意思
4.EF中對於資料庫中表為什麼要設定主鍵?如果不設定會有什麼影響?
好處:確保資料的唯一性,對查詢檢索有一定的好處
不好處: 可能會導致資料重複等等..
5.實現多型的過程中 overload 過載 與override 重寫的區別?
override 重寫與 overload 過載的區別——過載是方法的名稱相同。引數或引數型別不同,進行多次過載以適應不同的需要
Override 是進行基類中函式的重寫。實現多型。
6.請程式設計實現一個氣泡排序演算法?
int[] array=new int[*];
int temp=0;
for(int i=0;i<array.length-1;i++)
{
for(int j=i+1;j<array.length;i++)
{
if(array[j]<array[i])
{
temp=array[i];
array[i]=array[j];
array [j]=temp;
}
}
}
7、什麼是裝箱和拆箱?
裝箱就是隱式的將一個值型轉換為引用型物件。
拆箱就是將一個引用型物件轉換成任意值型。
比如:
int i=0;
Syste.Object obj=i;
這個過程就是裝箱!就是將 i 裝箱!
比如:
int i=0;
System.Object obj=i;
int j=(int)obj;
這個過程前2句是將 i 裝箱,後一句是將 obj 拆箱!
8、ADO.net中常用的物件有哪些?分別描述一下
DataSet:資料集。
DataCommand:執行語句命令。
DataAdapter:資料的集合,用語填充。
DataReader:資料只讀器
Connection 資料庫連線對像
Command 資料庫命令
10、請詳述在C#中類(class)與結構(struct)的異同?
class可以被例項化,屬於引用型別,class可以實現介面和單繼承其他類,還可以作為基型別,是分配在記憶體的堆上的
struct屬於值型別,不能作為基型別,但是可以實現介面,是分配在記憶體的棧上的.
11.DataReader與Dataset有什麼區別?
DataReader和DataSet最大的區別在於,DataReader使用時始終佔用SqlConnection,線上操作資料庫.任何對SqlConnection的
操作都會引發DataReader的異常.因為DataReader每次只在記憶體中載入一條資料,所以佔用的記憶體是很小的..因為DataReader的特
殊性和高效能.所以DataReader是隻進的.你讀了第一條後就不能再去讀取第一條了. DataSet則是將資料一次性載入在記憶體中.拋棄數
據庫連線.讀取完畢即放棄資料庫連線.因為DataSet將資料全部載入在記憶體中.所以比較消耗記憶體.但是確比DataReader要靈活.可以動
態的新增行,列,資料.對資料庫進行回傳更新操作
11.在c#中using和new這兩個關鍵字有什麼意義,請寫出你所知道的意義?using 指令和語句 new 建立例項 new 隱藏基類中方法。
using 引入名稱空間或者使用非託管資源,使用完物件後自動執行實現了IDisposable介面的類的Dispose方法
new 新建例項或者隱藏父類方法
12.大概描述一下ASP.NET伺服器控制元件的生命週期?
初始化 載入檢視狀態 處理回發資料 載入 傳送回發更改通知 處理回發事件 預呈現 儲存狀態 呈現 處置 解除安裝
13.在C#中,string str = null與string str = “”的區別
string str = null是不給他分配記憶體空間,而string str = ""給它分配長度為空字串的記憶體空
14.怎樣理解靜態變數?靜態成員和非靜態成員的區別?
靜態變數屬於類,而不屬於物件;並對所有物件所享;靜態成員在加類的時候就被載入。
15,介面和類有什麼異同。
不同點:
1、不能直接例項化介面。
2、介面只包含方法或屬性的宣告,不包含方法的實現。
3、介面可以多繼承,類只能單繼承。
4、類有分部類的概念,定義可在不同的原始檔之間進行拆分。
5、表達的含義不同,介面主要定義一種規範,統一呼叫方法,也就是規範類,約束類,類是方法功能的實現和集合
相同點:
1、介面、類和結構都可以從多個介面繼承。
2、介面類似於抽象基類:繼承介面的任何非抽象型別都必須實現介面的所有成員。
3、介面和類都可以包含事件、索引器、方法和屬性。
16.在9個點上畫10條直線,要求每條直線上至少有三個點?
eg:
17,如何處理幾十萬條併發資料?
用儲存過程或事務。取得最大標識的時候同時更新..注意主鍵不是自增量方式這種方法併發的時候是不會有重複主鍵的
取得最大標識要有一個儲存過程來獲取.
18,&和&&的區別。
&是位運算子,表示按位與運算,&&是邏輯運算子,表示邏輯與(and)
19,求以下表達式的值,寫出您想到的一種或幾種實現方法:1-2+3-4+……+m
int Num = this.TextBox1.Text.ToString() ;
int Sum = 0 ;
for (int i = 0 ; i < Num + 1 ; i++)
{
if((i%2) == 1)
{
Sum += i ;
}
else
{
Sum = Sum - I ;
}
}
System.Console.WriteLine(Sum.ToString());
System.Console.ReadLine() ;
20,關於ref和out的描述
使用ref引數,傳遞到ref引數的引數必須最先初始化。
使用ref引數,必須將引數作為ref引數顯式傳遞到方法。
問到的面試題繼續整理中…
把面試題了解找到了工作別忘了要踏踏實實的工作!