1.寫一個實(shí)現(xiàn)對一段字符串翻轉(zhuǎn)的方法,附加一些條件,如其中包括“,”、“.”,對其設(shè)計(jì)測試用 例 。
答: using System.Text;
string inputStr = “a,b,c,d,e,f,g,h,i,j,k,l”;
char[] inputChar = inputStr.ToCharArray();
int count = inputChar.Length;
StringBuilder sb = new StringBuilder();
for (int m = count – 1; m >= 0; m–)
{
sb.Append(inputChar[m]);
}
2.對一支紙杯設(shè)計(jì)測試用例(可以是廣義的杯,不一定是某一支特定功能的杯)
開發(fā)語言概念題
3.什么是反射?
答:動態(tài)獲取程序集信息。
反射
公共語言運(yùn)行庫加載器管理應(yīng)用程序域。這種管理包括將每個程序集加載到相應(yīng)的應(yīng)用程序域以及控制每個程序集中類型層次結(jié)構(gòu)的內(nèi)存布局。
程序集包含模塊,而模塊包含類型,類型又包含成員。反射則提供了封裝程序集、模塊和類型的對象。您可以使用反射動態(tài)地創(chuàng)建類型的實(shí)例,將類型綁定到現(xiàn)有對象,或從現(xiàn)有對象中獲取類型。然后,可以調(diào)用類型的方法或訪問其字段和屬性。
4.用Singleton如何寫設(shè)計(jì)模式
答:public class Singleton
{
private static Singleton instance;
public string name;
private Singleton()//將singleton函數(shù)變?yōu)閜rivate,防止直接調(diào)用new來創(chuàng)建它.
{
name=”guqi”;
Console.WriteLine(“你只可以看到我一次哦”);
}
public static Singleton GetInstance()
{
if (instance==null)
{
instance=new Singleton();
return instance;
}
else return instance;
}
}
5.C#中的垃圾回收機(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)存。
6.什么是Application Pool?
答:Web應(yīng)用,類似Thread Pool,提高并發(fā)性能
7.鏈表和數(shù)組的區(qū)別,各有什么優(yōu)缺點(diǎn).
答:一個可以動態(tài)增長,一個固定,性能數(shù)組教好
8.Remoting在客戶端服務(wù)器怎么實(shí)現(xiàn) ?
答:創(chuàng)建一個TcpClientChannel對象,在ChannelServices中注冊,然后使用Activator類把代理對象返回給遠(yuǎn)程對象。