NET网页编程之C#典范口试题搜集(三)
数据库有很多应用领域,但是如果你单单学数据库的话基本上做数据库管理员比较合适而已,跟领域结合的你还得再学习那些领域知识。(其实数据挖掘我真是不懂,本来这学期开了一门课了。22.经常使用的挪用WebService的办法有哪些?答:1.利用WSDL.exe命令行工具。
2.利用VS.NET中的AddWebReference菜单选项
23..netRemoting的事情道理是甚么?
答:服务器端向客户端发送一个历程编号,一个程序域编号,以断定工具的地位。
29.依据线程平安的相干常识,剖析以下代码,当挪用test办法时i>10时是不是会引发逝世锁?并扼要申明来由。
publicvoidtest(inti)
{
lock(this)
{
if(i>10)
{
i--;
test(i);
}
}
}
答:不会产生逝世锁,(但有一点int是按值传送的,以是每次改动的都只是一个正本,因而不会呈现逝世锁。但假如把int换做一个object,那末逝世锁会产生)
30.扼要谈一下您对微软.NET构架下remoting和webservice两项手艺的了解和实践中的使用。
答:WS次要是可使用HTTP,穿透防火墙。而Remoting能够使用TCP/IP,二进制传送进步效力。
remoting是.net顶用来超过machine,process,appdomain举行办法挪用的手艺,关于三成布局的程序,就能够利用remoting手艺来构建.它是散布使用的基本手艺.相称于之前的DCOMWebService是一种构建使用程序的一般模子,并能在一切撑持internet网通信的操纵体系上实行。WebService令基于组件的开辟和web的分离到达最好,基于组件的工具模子
31.公司请求开辟一个承继System.Windows.Forms.ListView类的组件,请求到达以下的特别功效:点击ListView各列列头时,能依照点击列的每行值举行重排视图中的一切行(排序的体例如DataGrid类似)。依据您的常识,请扼要谈一下您的思绪
答:依据点击的列头,包该列的ID掏出,依照该ID排序后,在给绑定到ListView中。
32.给定以下XML文件,完成算法流程图。
<FileSystem>
<DriverC>
<DirDirName="MSDOS622">
<FileFileName="Command.com"></File>
</Dir>
<FileFileName="MSDOS.SYS"></File>
<FileFileName="IO.SYS"></File>
</DriverC>
</FileSystem>
请画出遍历一切文件名(FileName)的流程图(请利用递回算法)。
答:
voidFindFile(Directoryd)
{
FileOrFolders=d.GetFileOrFolders();
foreach(FileOrFolderfofinFileOrFolders)
{
if(fofisFile)
YouFoundafile;
elseif(fofisDirectory)
FindFile(fof);
}
}
35.能用foreach遍历会见的工具必要完成IEnumerable接口或声明GetEnumerator办法的范例。
36.GC是甚么?为何要有GC?
答:GC是渣滓搜集器。程序员不必忧虑内存办理,由于渣滓搜集器会主动举行办理。要哀求渣滓搜集,能够挪用上面的办法之一:
System.gc()
Runtime.getRuntime().gc()
37.Strings=newString("xyz");创立了几个StringObject?
答:两个工具,一个是“xyx”,一个是指向“xyx”的援用对像s。
38.abstractclass和interface有甚么区分?
答:声明办法的存在而不往完成它的类被叫做抽像类(abstractclass),它用于要创立一个别现某些基础举动的类,并为该类声明办法,但不克不及在该类中完成该类的情形。不克不及创立abstract类的实例。但是能够创立一个变量,其范例是一个抽像类,并让它指向详细子类的一个实例。不克不及有抽像机关函数或抽像静态办法。Abstract类的子类为它们父类中的一切抽像办法供应完成,不然它们也是抽像类为。取而代之,在子类中完成该办法。晓得其举动的别的类能够在类中完成这些办法。
接口(interface)是抽像类的变体。在接口中,一切办法都是抽像的。多承继性可经由过程完成如许的接口而取得。接口中的一切办法都是抽像的,没有一个有程序体。接口只能够界说staticfinal成员变量。接口的完成与子类类似,除该完成类不克不及从接口界说中承继举动。当类完成特别接口时,它界说(行将程序体赐与)一切这类接口的办法。然后,它能够在完成了该接口的类的任何对像上挪用接口的办法。因为有抽像类,它同意利用接口名作为援用变量的范例。一般的静态联编将失效。援用能够转换到接口范例或从接口范例转换,instanceof运算符能够用来决意某工具的类是不是完成了接口。
39.启动一个线程是用run()仍是start()?
答:启动一个线程是挪用start()办法,使线程所代表的假造处置机处于可运转形态,这意味着它能够由JVM调剂并实行。这其实不意味着线程就会当即运转。run()办法能够发生必需加入的标记来中断一个线程。
40.接口是不是可承继接口?抽像类是不是可完成(implements)接口?抽像类是不是可承继实体类(concreteclass)?
答:接口能够承继接口。抽像类能够完成(implements)接口,抽像类是不是可承继实体类,但条件是实体类必需有明白的机关函数。
41.机关器Constructor是不是可被override?
答:机关器Constructor不克不及被承继,因而不克不及重写Overriding,但能够被重载Overloading。
42.是不是能够承继String类?
答:String类是final类故不成以承继。
44.两个对像值不异(x.equals(y)==true),但却可有分歧的hashcode,这句话对不合错误?
答:不合错误,有不异的hashcode。
45.swtich是不是能感化在byte上,是不是能感化在long上,是不是能感化在String上?
答:switch(expr1)中,expr1是一个整型,字符或字符串,因而能够感化在byte和long上,也能够感化在string上。
47.当一个线程进进一个工具的一个synchronized办法后,别的线程是不是可进进此工具的别的办法?
不克不及,一个工具的一个synchronized办法只能由一个线程会见。
48.abstract的method是不是可同时是static,是不是可同时是native,是不是可同时是synchronized?
答:都不克不及。
49.List,Set,Map是不是承继自Collection接口?
答:List,Set是Map不是
50.Set里的元素是不克不及反复的,那末用甚么办法来辨别反复与否呢?是用==仍是equals()?它们有何区分?
答:Set里的元素是不克不及反复的,那末用iterator()办法来辨别反复与否。equals()是判读两个Set是不是相称。
equals()和==办法决意援用值是不是指向统一对像equals()在类中被掩盖,为的是当两个分别的工具的内容和范例相配的话,前往真值。
51.数组有无length()这个办法?String有无length()这个办法?
答:数组和string都没有Length()办法,只要Length属性。
52.sleep()和wait()有甚么区分?
答:sleep()办法是将以后线程挂起指定的工夫。
wait()开释工具上的锁并堵塞以后线程,直到它从头猎取该锁。
53.shorts1=1;s1=s1+1;有甚么错?shorts1=1;s1+=1;有甚么错?
答:shorts1=1;s1=s1+1;有错,s1是short型,s1+1是int型,不克不及显式转化为short型。可修正为s1=(short)(s1+1)。shorts1=1;s1+=1准确。
54.谈谈final,finally,finalize的区分。
答:final-润色符(关头字)假如一个类被声明为final,意味着它不克不及再派生出新的子类,不克不及作为父类被承继。因而一个类不克不及既被声明为abstract的,又被声明为final的。将变量或办法声明为final,能够包管它们在利用中不被改动。被声明为final的变量必需在声明时给定初值,而在今后的援用中只能读取,不成修正。被声明为final的办法也一样只能利用,不克不及重载
finally-再非常处置时供应finally块来实行任何扫除操纵。假如抛出一个非常,那末相婚配的catch子句就会实行,然后把持就会进进finally块(假如有的话)。
finalize-办法名。Java手艺同意利用finalize()办法在渣滓搜集器将对像从内存中扫除进来之前做需要的清算事情。这个办法是由渣滓搜集器在断定这个工具没有被援用时对这个工具挪用的。它是在Object类中界说的,因而一切的类都承继了它。子类掩盖finalize()办法以收拾体系资本大概实行其他清算事情。finalize()办法是在渣滓搜集器删除对像之前对这个工具挪用的。
55.怎样处置几十万条并发数据?
答:用存储历程或事件。获得最年夜标识的时分同时更新.注重主键不是自增量体例这类办法并发的时分是不会有反复主键的.获得最年夜标识要有一个存储历程来猎取.
56.Session有甚么严重BUG,微软提出了甚么办法加以办理?
答:是iis中因为有历程接纳机制,体系忙碌的话Session会丧失,能够用Sateserver或SQLServer数据库的体例存储Session不外这类体例对照慢,并且没法捕捉Session的END事务。
57.历程和线程的区分?
答:历程是体系举行资本分派和调剂的单元;线程是CPU调剂和分拨的单元,一个历程能够有多个线程,这些线程共享这个历程的资本。
58.堆和栈的区分?
答:栈是编译时代就分派好的内存空间,因而你的代码中必需就栈的巨细有明白的界说;堆是程序运转时代静态分派的内存空间,你能够依据程序的运转情形断定要分派的堆内存的巨细
59.成员变量和成员函数前加static的感化?
答:它们被称为常成员变量和常成员函数,又称为类成员变量和类成员函数。分离用来反应类的形态。好比类成员变量能够用来统计类实例的数目,类成员函数卖力这类统计的举措。
60.ASP。NET与ASP比拟,次要有哪些前进?
答:asp注释形,aspx编译型,功能进步,能够跟美工的事情分隔举行,更有益于团队开辟。
61.发生一个int数组,长度为100,并向个中随机拔出1-100,而且不克不及反复。
int[]intArr=newint;
ArrayListmyList=newArrayList();
Randomrnd=newRandom();
while(myList.Count<100)
{
intnum=rnd.Next(1,101);
if(!myList.Contains(num))
myList.Add(num);
}
for(inti=0;i<100;i++)
intArr=(int)myList;
62.请申明在.net中经常使用的几种页面间传送参数的办法,并说出他们的优弱点。
答:session(viewstate)复杂,但易丧失
application全局
cookie复杂,但大概不撑持,大概被假造
inputttype="hidden"复杂,大概被假造
url参数复杂,显现于地点栏,长度无限
数据库不乱,平安,但功能绝对弱
63.请指出GAC的寄义?
答:全局程序集缓存。
64.向服务器发送哀求有几种体例?
答:get,post。get通常是链接体例,post通常是按钮体例。
65.DataReader与Dataset有甚么区分?
答:一个是只能向前的只读游标,一个是内存中的表。
66.软件开辟历程一样平常有几个阶段?每一个阶段的感化?
答:需求剖析,架构计划,代码编写,QA,部署
67.在c#中using和new这两个关头字有甚么意义,请写出你所晓得的意义?using指令和语句new创立实例new埋没基类中办法。
答:using引进称号空间大概利用非托管资本
new新建实例大概埋没父类办法
68.必要完成对一个字符串的处置,起首将该字符串首尾的空格往失落,假如字符串两头另有一连空格的话,仅保存一个空格,即同意字符串两头有多个空格,但一连的空格数不成凌驾一个.
答:stringinputStr="xxxx";
inputStr=Regex.Replace(inputStr.Trim(),"*","");
69.上面这段代码输入甚么?为何?
inti=5;
intj=5;
if(Object.ReferenceEquals(i,j))
Console.WriteLine("Equal");
else
Console.WriteLine("NotEqual");
答:不相称,由于对照的是对像
70.甚么叫做SQL注进,怎样避免?请举例申明。
答:使用sql言语毛病取得正当身份上岸体系。如身份考证的程序计划成:
SqlCommandcom=newSqlCommand("Select*fromuserswhereusername="+t_name.text+"andpwd="+t_pwd.text+"");
objectobj=com.ExcuteScale();
if(obj!=null)
{
//经由过程考证
}
这段代码简单被sql注进。如用户在t_name中任意输出,在t_pwd中输出1and1=1就能够进进体系了。
71.甚么是反射?
答:静态猎取程序集信息你可以先看看这篇文章(软微学院生涯-三朝元老经验谈),打不开再跟我说。(我的意思是想让她自己先稍微了解一下到底现在各个方向学的工具以及以后要做的工具大概是什么,因为喜欢做什么样的事其实自己最清楚的) 关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。 有一丝可惜的是,这个系列太强了,Java阵营的朋友根本就是哑口无言...争论之火瞬间被浇灭,这不是我想这么早就看到的,但是值了。 提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。 业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗?
页:
[1]