方法asp[1][1].net开发工程师面试题集

.net面试题  时间:2021-04-25  阅读:()

ASP.net开发工程师面试题集

1、 C#中prop erty与attribute的区别他们各有什么用处这种机制的好处在哪里pr op erty和attribute汉语都称之为属性。不过pr op erty是指类向外提供的数据区域。而attribute则是描述对象在编译时或运行时属性的。这两者是有本质区别的。

2.列举AS P.NET页面之间传递值的几种方式。

答. 1).使用QueryString,如.. ..?id=1; respons e.Redirec t().. ..

2).使用Session变量

3).使用S erver.Trans fer

3.一列数的规则如下: 1、 1、 2、 3、 5、 8、 13、 21、 34.. .. ..求第30位数是多少 用递归算法实现。

答 public class MainClass

{public static void Main()

{

Console.WriteLine(Foo(30));

}public static int Foo(int i)

{if(i<=0)return 0;else if(i>0&&i<=2)return 1;els e return Foo(i -1)+Foo(i -2);

}

}

4.C#中的委托是什么事件是不是一种委托

答

委托可以把一个方法作为参数代入另一个方法。

委托可以理解为指向一个函数的引用。

是是一种特殊的委托

5.override与重载的区别

答override与重载的区别。重载是方法的名称相同。参数或参数类型不同进行多次重载以适应不同的需要

Override是进行基类中函数的重写。为了适应需要。

6.如果在一个B/S结构的系统中需要传递变量值但是又不能使用Session、 Cookie、Application您有几种方法进行处理

答this.S erver.Trans fer

7.请编程遍历页面上所有TextBox控件并给它赋值为s tring.Empty

答foreach(System.Window s.Forms.Control c ontrol in this.Controls)

{if(c ontrol is System.Window s.Forms.TextBox)

{

System.Window s.Forms.TextBox tb=(System.Window s.Forms.TextBox)c ontrol ;tb.Text=Str in g.Emp ty;

}

}

8.请编程实现一个冒泡排序算法

答int [] array=new intint temp=0;for (int i=0; i<array.Length - 1 ; i++)

{for (int j= i+1 ; j <array.Length; j++)

{if(array[j]<array[i])

{temp=array[i] ;array[i]=array[j] ;array[j]=temp;

}

}

}

9.描述一下C#中索引器的实现过程是否只能根据数字进行索引

答不是。可以用任意类型。

10.求以下表达式的值写出您想到的一种或几种实现方法 1-2+3-4+……+m答int Num=th is.TextBox1.Text.ToString() ;int Sum=0;for (int i=0; i<Num+1 ; i++)

{if((i%2)==1)

{

Sum+=i ;

}e lse

{

Sum=Sum- I ;

}

}

System.Console.W riteLine(Su m.ToString());

System.Console.Read L ine() ;

12.在下面的例子里using System;class A

{publ ic A()

{

PrintField s();

}publ ic virtual void PrintFields(){}

}class B:A

{int x=1;int y;publ ic B()

{y=-1;

}publ ic override void PrintFields()

{

Console.WriteLine("x={0},y={1}",x,y);

}

当使用new B()创建B的实例时产生什么输出

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

13.什么叫应用程序域

答应用程序域可以理解为一种轻量级进程。起到安全的作用。 占用资源小。

14.CTS、 C LS、 C LR分别作何解释

答 CTS通用语言系统。 CLS通用语言规范。 CLR公共语言运行库。

15.什么是装箱和拆箱

答从值类型接口转换到引用类型装箱。从引用类型转换到值类型拆箱。

16.什么是受管制的代码

答 unsafe非托管代码。不经过CLR运行。

17.什么是强类型系统

答 RTT I类型识别系统。

18.n et中读写数据库需要用到那些类他们的作用

答 DataSet:数据存储器。

DataCommand:执行语句命令。

DataAdapter:数据的集合用语填充。

21.在.n et中配件的意思是

答程序集。 中间语言源数据资源装配清单

22.常用的调用WebService的方法有哪些

答 1.使用W SD L.ex e命令行工具。

2.使用VS.NET中的Add Web Reference菜单选项

23. .net Remoting的工作原理是什么

答服务器端向客户端发送一个进程编号一个程序域编号 以确定对象的位置。

29.根据线程安全的相关知识分析以下代码 当调用t est方法时i>10时是否会引起死锁?并简要说明理由。publ ic void test(int i)

{lock(this)

{if(i>10)

{i--;t e st(i);

}

}

}

答不会发生死锁 但有一点int是按值传递的所以每次改变的都只是一个副本 因此不会出现死锁。但如果把int换做一个object那么死锁会发生

30.简要谈一下您对微软.N ET构架下rem otin g和webserv ice两项技术的理解以及实际中的应用。

答W S主要是可利用HTTP穿透防火墙。而Remoting可以利用TCP/IP二进制传送提

高效率。remoting是.net中用来跨越machine,process,appdomain进行方法调用的技术,对于三成结构的程序就可以使用remoting技术来构建它是分布应用的基础技术.相当于以前的DCOM Web Service是一种构建应用程序的普通模型并能在所有支持internet网通讯的操作系统上实施。Web Service令基于组件的开发和web的结合达到最佳基于组件的对象模型

31.公司要求开发一个继承System.W indows.Fo rms.ListView类的组件要求达到以下的特殊功能点击L istV i ew各列列头时能按照点击列的每行值进行重排视图中的所有行(排序的方式如DataGrid相似)。根据您的知识请简要谈一下您的思路

答根据点击的列头,包该列的ID取出,按照该ID排序后,在给绑定到ListV i ew中。

32.给定以下XML文件完成算法流程图。

<F i leSy stem>

<DriverC>

<Dir DirName=”MSDOS622”>

<Fi le Fi leName=”Command.com”></Fi le>

</Dir>

<Fi le Fi leName=”MSDOS.SYS”></Fi le>

<Fi le Fi leName=” IO.SYS”></Fi le>

</DriverC>

</Fi leSystem>

请画出遍历所有文件名Fi leName的流程图(请使用递归算法)。

答void FindFi le(Directory d)

{

Fi leOrFo lders=d.GetFi leOrFo lders();foreach(Fi leOrFo lder fof in Fi leOrFo lders)

{if( fof is Fi le)

You Found a fi le;else if ( fof is D irectory)

Find Fi le( fof);

}

}

35.能用 foreach遍历访问的对象需要实现 IEn u merable______接口或声明____getEnu merator____________方法的类型。

答 IEnumerab le 、 GetEnumerator。

36.GC是什么?为什么要有GC?

答 GC是垃圾收集器。程序员不用担心内存管理 因为垃圾收集器会自动进行管理。要请求垃圾收集可以调用下面的方法之一

System.gc()

Runtime.getRuntime().gc()

37.String s=new String("xyz");创建了几个String Object?

答两个对象一个是“xyx”,一个是指向“xyx”的引用对像s。

38.abstract class和interface有什么区别?

答

声明方法的存在而不去实现它的类被叫做抽像类abstract class 它用于要创建一个体现某些基本行为的类并为该类声明方法但不能在该类中实现该类的情况。不能创建abstract类的实例。然而可以创建一个变量其类型是一个抽像类并让它指向具体子类的一个实例。不能有抽像构造函数或抽像静态方法。 Ab st r act类的子类为它们父类中的所有抽像方法提供实现否则它们也是抽像类为。取而代之在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。

接口 interface是抽像类的变体。在接口中所有方法都是抽像的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽像的没有一个有程序体。接口只可以定义static fin a l成员变量。接口的实现与子类相似除了该实现类不能从接口定义中继承行为。当类实现特殊接口时它定义即将程序体给予所有这种接口的方法。然后它可以在实现了该接口的类的任何对像上调用接口的方法。由于有抽像类它允许使用接口名作为引用变量的类型。通常的动态联编将生效。 引用可以转换到接口类型或从接口类型转换instanceof运算符可以用来决定某对象的类是否实现了接口。

39.启动一个线程是用ru n()还是sta rt()?

答启动一个线程是调用sta rt()方法使线程所代表的虚拟处理机处于可运行状态这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。 run()方法可以产生必须退出的标志来停止一个线程。

40.接口是否可继承接口?抽像类是否可实现(implements)接口?抽像类是否可继承实体类(concrete class)?

答接口可以继承接口。抽像类可以实现(implements)接口抽像类是否可继承实体类但前提是实体类必须有明确的构造函数。

41.构造器Constructor是否可被override?

答构造器Constructor不能被继承因此不能重写Overriding但可以被重载Overloading。

42.是否可以继承String类?

答 String类是fina l类故不可以继承。

44.两个对像值相同(x.equals(y)==true)但却可有不同的hash code这句话对不对?答不对有相同的hash code。

45.swtic h是否能作用在byte上是否能作用在lo ng上是否能作用在String上?

答 sw itc h ex p r 1中 ex p r1是一个整型字符或字符串 因此可以作用在byte和lo n g上也可以作用在st rin g上。

47.当一个线程进入一个对象的一个sy nch ron ized方法后其它线程是否可进入此对象的其它方法?

不能一个对象的一个sy nc h ron ized方法只能由一个线程访问。

48.a bstract的m eth od是否可同时是static,是否可同时是n at iv e 是否可同时是sy nch ro n ized?

答都不能。

49.List,Set,Ma p是否继承自C o llect io n接口?

答 L ist S et是M a p不是

50.Set里的元素是不能重复的那么用什么方法来区分重复与否呢?是用==还是eq uals()?它们有何区别?

答 Set里的元素是不能重复的那么用iterator()方法来区分重复与否。 eq ua ls()是判读两个S et是否相等。eq uals()和==方法决定引用值是否指向同一对像eq ua ls()在类中被覆盖为的是当两个分离的对象的内容和类型相配的话返回真值。

51.数组有没有length()这个方法?String有没有length()这个方法

答数组和string都没有Length()方法只有Length属性。

52.sleep()和wa it()有什么区别?

答 sleep()方法是将当前线程挂起指定的时间。wa it()释放对象上的锁并阻塞当前线程直到它重新获取该锁。

53.short s1=1; s1=s1+1;有什么错?short s1=1; s1+=1;有什么错?

答 short s1=1; s1=s1+1;有错 s1是short型 s1+1是int型,不能显式转化为short型。可修改为s1=(short)(s1+1) 。 short s1=1; s1+=1正确。

54.谈谈final, final ly, final ize的区别。

答final修饰符关键字如果一个类被声明为final意味着它不能再派生出新的子类不能作为父类被继承。因此一个类不能既被声明为abstract的又被声明为fina l的。将变量或方法声明为final 可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值而在以后的引用中只能读取不可修改。被声明为final的方法也同样只能使用不能重载final ly再异常处理时提供final ly块来执行任何清除操作。如果抛出一个异常那么相匹配的catch子句就会执行然后控制就会进入final ly块如果有的话 。final ize方法名。 Java技术允许使用final ize()方法在垃圾收集器将对像从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object类中定义的因此所有的类都继承了它。子类覆盖fina l ize()

方法以整理系统资源或者执行其他清理工作。 final ize()方法是在垃圾收集器删除对像之前对这个对象调用的。

55.如何处理几十万条并发数据

答用存储过程或事务。取得最大标识的时候同时更新. .注意主键不是自增量方式这种方法并发的时候是不会有重复主键的. .取得最大标识要有一个存储过程来获取.

56.Sessio n有什么重大BU G微软提出了什么方法加以解决

答是iis中由于有进程回收机制系统繁忙的话Session会丢失可以用Sate server或SQLServer数据库的方式存储Session不过这种方式比较慢而且无法捕获Session的END事件。

57.进程和线程的区别

答进程是系统进行资源分配和调度的单位线程是CPU调度和分派的单位一个进程可以有多个线程这些线程共享这个进程的资源。

58.堆和栈的区别

答栈是编译期间就分配好的内存空间因此你的代码中必须就栈的大小有明确的定义堆是程序运行期间动态分配的内存空间你可以根据程序的运行情况确定要分配的堆内存的大小

59.成员变量和成员函数前加st a t ic的作用

答它们被称为常成员变量和常成员函数又称为类成员变量和类成员函数。分别用来反映类的状态。 比如类成员变量可以用来统计类实例的数量类成员函数负责这种统计的动作。

60.AS P。 N ET与ASP相比主要有哪些进步

答 asp解释形 aspx编译型性能提高可以跟美工的工作分开进行更有利于团队开发。

61.产生一个int数组长度为100并向其中随机插入1-100并且不能重复。int[] intArr=new int[100];

Array List my List=n ew Array List();

Random rnd=new Random();whi le(myList.Count<100)

{int num=rnd.Next(1,101);if(!my List.Contains(nu m))myList.Add(num);

}for(int i=0; i<100;i++)intArr[i]=(int)my List[i];

62.请说明在.n et中常用的几种页面间传递参数的方法并说出他们的优缺点。

答 sess io n(v iewstate)简单但易丢失appl icat ion全局

c oo kie简单但可能不支持可能被伪造input ttype="hidden"简单可能被伪造url参数简单显示于地址栏长度有限

数据库稳定安全但性能相对弱

63.请指出GAC的含义

答全局程序集缓存。

64.向服务器发送请求有几种方式

答 g et,p o st。 g et一般为链接方式 p o st一般为按钮方式。

65.DataReader与Dataset有什么区别

答一个是只能向前的只读游标一个是内存中的表。

66.软件开发过程一般有几个阶段每个阶段的作用

答需求分析架构设计代码编写 QA部署

67.在c#中using和new这两个关键字有什么意义请写出你所知道的意义 using指令和语句n ew创建实例n ew隐藏基类中方法。

答 using引入名称空间或者使用非托管资源n ew新建实例或者隐藏父类方法

68.需要实现对一个字符串的处理,首先将该字符串首尾的空格去掉,如果字符串中间还有连续空格的话,仅保留一个空格,即允许字符串中间有多个空格,但连续的空格数不可超过一个.答 string inputStr="xx xx";inputStr=Regex.Replace(inputStr.Trim(),"*"," ");

69.下面这段代码输出什么为什么int i=5;int j=5;if(Object.ReferenceEq ua ls(i,j))

Console.WriteLine("Equal");e lse

Console.WriteLine("Not Equal");

答不相等 因为比较的是对像

70.什么叫做SQL注入如何防止请举例说明。

答利用sq l语言漏洞获得合法身份登陆系统。如身份验证的程序设计成

SqlCommand com=new SqlCommand("Select * from users whereusername='"+t_name.text+"'and pwd='"+t_pwd.text+"'");object obj=com.ExcuteScale();if(o bj!=n u l l)

{

//通过验证

CloudCone:$17.99/年KVM-1GB/50GB/1TB/洛杉矶MC机房

CloudCone在月初发了个邮件,表示上新了一个系列VPS主机,采用SSD缓存磁盘,支持下单购买额外的CPU、内存和硬盘资源,最低年付17.99美元起。CloudCone成立于2017年,提供VPS和独立服务器租用,深耕洛杉矶MC机房,最初提供按小时计费随时退回,给自己弄回一大堆中国不能访问的IP,现在已经取消了随时删除了,不过他的VPS主机价格不贵,支持购买额外IP,还支持购买高防IP。下面列...

华纳云-618大促3折起,18元/月买CN2 GIA 2M 香港云,物理机高防同享,10M带宽独享三网直连,无限流量!

官方网站:点击访问华纳云活动官网活动方案:一、香港云服务器此次推出八种配置的香港云服务器,满足不同行业不同业务规模的客户需求,同时每种配置的云服务都有不同的带宽选择,灵活性更高,可用性更强,性价比更优质。配置带宽月付6折季付5.5折半年付5折年付4.5折2年付4折3年付3折购买1H1G2M/99180324576648直达购买5M/17331556710081134直达购买2H2G2M892444...

亚洲云-浙江高防BGP,至强铂金8270,提供自助防火墙管理,超大内存满足你各种需求

官方网站:点击访问亚洲云官网618活动方案:618特价活动(6.18-6.30)全站首月活动月底结束!地区:浙江高防BGPCPU:至强铂金8270主频7 默频3.61 睿频4.0核心:8核(最高支持64核)内存:8G(最高支持128G)DDR4 3200硬盘:40G系统盘+80G数据盘带宽:上行:20Mbps/下行:1000Mbps防御:100G(可加至300G)防火墙:提供自助 天机盾+金盾 管...

.net面试题为你推荐
documentcss点击ipad支持ipad支持ipad支持ipad支持ipad支持ipad支持ipadwin7如何关闭445端口如何关闭445端口,禁用smb协议googleadsensegoogle adsense 和google adwords有什么区别?适合什么样的人群?
asp网站空间 美国和欧洲vps 免费申请网页 securitycenter 美国主机评论 gitcafe 服务器日志分析 鲁诺 域名与空间 贵阳电信测速 supercache 好看的空间 godaddy退款 美国vpn代理 apache启动失败 rewrite规则 neobux ddos攻击器下载 华为4核手机 自住型商品房申请网站 更多