面试问题114
答:私有成员只能在类内部访问。
Protected:保护成员,可以在类内部和继承的类中访问这些成员。
公众:公众中的一员,完全开放,没有访问限制。
内部:可在同一名称空间内访问。
2.列出几种在ASP.NET页面之间传递值的方法。
A.1。使用QueryString,例如...?id = 1;回应。重定向()....
2.使用会话变量
使用服务器。转移
4.C #中的委托是什么?事件是一种委托吗?
答:委托可以将一个方法作为参数替换到另一个方法中。
委托可以理解为对函数的引用。
是的,这是一种特殊的委托。
5.5 .覆盖和重载的区别
答:override和overload的区别。重载意味着方法的名称是相同的。参数或参数类型不同,所以多做。
满足不同需求的二次过载
重写是重写基类中的函数。为了满足需要。
6.如果需要在B/S结构的系统中传递变量值,但是不能使用Session,
Cookie,应用,你有多少种处理方式?
答:这个。服务器.传输
9.描述索引器在C#中的实现过程。是否可以仅通过数字进行索引?
没有。任何类型都可以。
11.使用。net作为一个B/S结构的系统,你使用几个层来开发,并且每个层和
这是什么层次感?
回答:一般是3层。
数据访问层、业务层和表示层。
数据访问层添加、删除、检查和修改数据库。
业务层一般分为两层,业务外观层实现与表示层的通信,业务规则层实现用户隐私。
代码安全性等。
为了与用户交互,比如用户添加表单,表示层。
优点:分工明确,组织清晰,易于调试,可扩展性强。
缺点:成本增加。
什么是应用程序域?
答:应用领域可以理解为一个轻量级的过程。扮演安全的角色。并且占用资源少。
14有哪些解释。分别是中旅、CLS和CLR?
答:CTS:通用语言系统。CLS:公共语言规范。公共语言运行时。
15.什么是打包和解包?
答:从值类型接口到引用类型装箱。从引用类型转换为值类型取消装箱。
什么是受控代码?
答:不安全:非托管代码。不带CLR运行。
17.什么是强类型系统?
答:RTTI:型号识别系统。
18.net中读写数据库需要哪些类?他们的角色是什么?
答:数据集:数据存储。
DataCommand:执行语句命令。
DataAdapter:充满术语的数据集合。
19的认证方式有哪些?ASP.net?原理是什么?
答:10。Windwos(默认)使用IIS...从(表格)账户...护照(钥匙)。
20.什么是代码隐藏技术?
答:代码是嵌入式的。
21.英寸网,配件是什么意思?
答:组装。(中间语言、源数据、资源、程序集列表)
22.调用WebService的常用方法有哪些?
答案:1。使用WSDL.exe命令行工具。
2.使用VS.NET中的“添加Web引用”菜单选项。
23 ..net remoting的工作原理是什么?
答:服务器发送一个进程号和一个程序域号给客户端,确定对象的位置。
24.在C #中,string str = null,string str = " "请尽量使用文字或图片。
说明区别。
答案:string str = null不给他分配内存空间,string str = " "分配。
字符串长度为空的内存空间。
25.请详细说明dotnet中类和结构的异同?
答:类可以实例化,属于引用类型,在内存堆上分配,Struct属于值类。
类型在内存堆栈上分配。
27.分析下面的代码,完成空格。
String strTmp = " abcdefg XXX
int i=系统。text . encoding . default . getbytes(strTmp)。长度;
int j= strTmp。长度;
上述代码执行后,i= j=
答:i=13,j=10。
28.在28。SQLSERVER服务器有两个字段ID,LastUpdateDate,
ID表示更新的交易号,LastUpdateDate表示更新时的服务器时间。请用一句话。
SQL语句获取最后更新的事务编号。
答:从表1中选择id,其中最后更新日期=(选择最大
(最后更新日期)来自表1)
30.简单谈谈你对微软框架下的remoting和webservice的理解。NET,以及
实际应用。
答:WS主要可以利用HTTP穿透防火墙。远程处理可以使用TCP/IP和二进制传输。
发送以提高效率。
31.公司需要开发一个继承类系统的组件。Windows.Forms.ListView,并要求达到以下要求。
以下特殊功能:单击ListView的列标题时,可以根据所单击列的每一行的值重新排列视图。
图表中的所有行(以与数据网格相似的方式排序)。根据你的知识,请简单谈谈你的
思考
答:根据点击的列标题,取出列的ID,按照ID排序,然后绑定到ListView。
33.写一个Sql语句:取出表A中的31到40条记录(SQLServer)自动增加ID。
作为主键,注意ID可能不是连续的。
答案:解决方案1:从id不在的a中选择top 10 *(选择前30个id
来自A)
解决方案2:从a where id >中选择top 10 *;(从(选择)中选择最大(id)
来自A)的前30个id作为A)
34.面向对象语言是_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _。
答:封装、继承和多态。
35.foreach遍历可以访问的对象需要实现_ _ _ _ _ _ _ _ _ _ _ _ _ _ _接口或声明。
_ _ _ _ _ _ _ _ _ _ _ _法的类型。
答:IEnumerable,GetEnumerator。
36.什么是GC?为什么会有GC?
答:GC是一个垃圾收集器。程序员不必担心内存管理,因为垃圾收集器会自动处理它。
原因。若要请求垃圾回收,可以调用下列方法之一:
System.gc()
Runtime.getRuntime()。gc()
37.String s =新字符串(" XYZ ");创建了多少个stringobjects?
答:有两个对象,一个是“xyx”,一个是指向“xyx”的引用对象S。
39.用run()或start()启动一个线程?
答:启动线程就是调用start()方法,让线程代表的虚拟处理器处于可运行状态。
状态,这意味着它可以被JVM调度和执行。这并不意味着线程会立即运行。运行()
方法可以生成一个必须退出才能停止线程的标志。
40.接口可以从接口继承吗?抽象类可以实现接口吗?抽象类是否可以
继承具体类?
答:接口可以从接口继承。抽象类可以实现接口。抽象类可以继承吗?
实体类,但仅当实体类具有显式构造函数时。
41.构造函数可以被重写吗?
答:构造函数不能被继承,所以不能重写Overriding,但是可以重载。
超载.
42.可以继承String类吗?
答:String类是final类,所以不能继承。
43.try {}中有一个return语句,因此该try后面的finally {}代码将
不会被执行,什么时候执行,回归前还是回归后?
是的,在回来之前。
44.两个对象具有相同的值(x.equals(y) == true),但是它们可以具有不同的哈希代码。
是这样吗?
答:没有,有相同的哈希码。
45.45.swtich可以作用于byte,long,String吗?
答:在switch(expr1)中,expr1是一个整数表达式。因此它被传递给开关和
case语句的参数应该是int、short、char或byte。不长不长,串串。
可以作用于开关。
47.当一个线程进入一个对象的同步方法时,其他线程可以进入这个方法吗?
对象的其他方法?
不,一个对象的同步方法只能被一个线程访问。
48.48.abstract方法是否可以是静态的、本机的或两者都是?
同步?
答:都不是。
49.列表、集合和映射是否继承自集合接口?
列表,集合是地图,不是吗
50.集合中的元素不能重复,那么用什么方法来区分是否重复呢?是= =还是
等于()?两者有什么区别?
回答:集合中的元素不能重复,所以用iterator()方法来区分是否重复。
Equals()是判断两个集合是否相等。
equals()和= =方法确定引用值是否指向同一个对象。equals()在类中被覆盖,以便
当两个独立对象的内容和类型匹配时,返回true值。
51.数组有length()方法吗?String有length()方法吗?
答:数组没有方法length(),但是有属性length。字符串的长度是()的平方
法律。
52.52.sleep()和wait()有什么区别?
答:sleep()方法是一种让线程停止一段时间的方法。休眠间隔到期后,线程
执行可能不会立即恢复。这是因为在那时,其他线程可能正在运行,而不是
除非(a)“唤醒”线程具有更高的优先级。
(b)正在运行的线程由于其他原因被阻塞。
Wait()是一个线程交互。如果线程调用同步对象X,则该线程
执行将被挂起,被转移的对象将进入等待状态,直到被唤醒或等待时间到。
53 . short s 1 = 1;s 1 = s 1+1;怎么了?短s 1 = 1;s 1+= 1;怎么了?
答:短s 1 = 1;s 1 = s 1+1;不对。s1是短类型,s1+1是int类型,不能显式。
转换为短类型。可以修改为s1 =(短)(s1+1)。短s 1 = 1;S1 += 1正
确实如此。
54.说说final,finally,finalize的区别。
答:
Final-modifier(关键字)如果一个类被声明为Final,这意味着它不能再派生新的类。
的子类不能作为父类继承。因此,类不能同时声明为抽象和
宣布最终决定。将变量或方法声明为final可以确保它们在使用中不会被更改。
声明为final的变量必须在声明时被赋予一个初始值,并且只能在将来的引用中读取,而不是。
修改。声明为final的方法也只能使用,不能重载。
Finally—提供一个Finally块,以便在异常处理期间执行任何清理操作。如果抛出异常,
通常,匹配的catch子句将被执行,然后控制将进入finally块(如果
如果有)。
完成--方法名称。Java技术允许使用finalize()方法将对象放入垃圾收集器。
在将其从内存中清除之前,进行必要的清理工作。这个方法是由这个中的记忆体回收行程所决定
当对象未被引用时对其调用。它是在Object类中定义的,所以所有
类继承了它。子类覆盖finalize()方法来组织系统资源或执行其他清理任务。
工作。在垃圾收集器删除该对象之前,会对其调用finalize()方法。
55.如何处理几十万的并发数据?
答:使用存储过程或事务。获得最大ID的同时更新..请注意,主键不是自递增方。
当此方法是并发的时,将不会有重复的主键..必须有一个存储过程来获得最大的标识。
去拿。
56.Session中的主要bug是什么,微软提出了什么方法来解决?
答:由于iis中的进程回收机制,如果系统繁忙,会话就会丢失,所以可以使用Sate。
服务器或SQL Server数据库的方式来存储会话,但这种方式速度慢,而且不能
捕获会话的结束事件。
57.进程和线程的区别是什么?
答:进程是系统分配和调度资源的单位。线程是CPU调度和分派的单元
一个进程可以有多个线程,这些线程* * *享受这个进程的资源。
58.堆和栈有什么区别?
a:堆栈:由编译器自动分配释放。函数体中定义的变量通常在堆栈上。
堆:一般由程序员分配和释放。使用new、malloc和其他内存分配函数来分配内存是在堆中。
走吧。
59.在成员变量和成员函数前加static有什么作用?
答:分别叫常量成员变量和常量成员函数,也叫类成员变量和类成员函数。分钟
不要用它来反映班级的状态。例如,类成员变量可以用来计算类实例和类成员函数的数量
负责这项统计行动。
60.ASP .与ASP相比,的主要改进有哪些。网?
答:asp解释形式,aspx编译类型,提高了性能,有利于保护源代码。
62.请解释几种常用的在页面之间传递参数的方法。net,并说出它们的优缺点。
答:session(viewstate)很简单,但是很容易丢失。
应用程序全局
Cookie很简单,但是它们可能不被支持且可能是伪造。
输入ttype="hidden "很简单,可能是伪造的。
url参数很简单,显示在地址栏中,长度有限。
数据库稳定安全,但性能相对较弱。
63.请指出广汽的含义?
答:全局程序集缓存。
64.有几种方法可以向服务器发送请求。
答:get,post Get一般是链接,post一般是按钮。
65.65有什么区别。DataReader和Dataset?
答:一个是只进游标,一个是内存中的表。
66.软件开发过程通常有几个阶段。每个阶段的作用是什么?
答:需求分析、架构设计、代码编写、QA和部署。
67.c#中使用和new的含义是什么?请写下你所知道的?使用
指令和语句新建创建实例新建隐藏基类中的方法。
答:使用会引入命名空间或使用非托管资源。
新建创建一个新实例或隐藏父类方法。
68.需要实现对一个字符串的处理,首先去掉字符串开头和结尾的空格,如果字符串
如果有连续空格,则只保留一个空格,即字符串中间允许有多个空格,但空格是连续的。
网格数不能超过一个。
a:string input str = " xx xx ";
inputStr=Regex。替换(inputStr。Trim()、" * "、" ");
70.什么是SQL注入,如何预防?请举例说明。
答:利用sql关键字攻击网站。过滤关键字”等。
71.什么是反思?
答:动态获取程序集信息。
72.如何用Singleton写设计模式?
答:在静态属性中,new是构造函数private。
73.什么是应用程序池?
答:Web应用,类似于线程池,提高并发性。
74.什么是虚函数?什么是抽象函数?
答:虚函数:未实现的函数,可以被子类继承和重写。抽象函数:规定它不是虚的
子类必须实现的函数必须重写。
75.什么是XML
答:XML是可扩展标记语言。可扩展标记语言。标记指的是计算机能做什么。
理解信息符号,通过它计算机可以处理包含各种信息的文章等。
如何定义这些标签,就是你可以选择国际通用的标记语言,比如HTML,也可以使用类似。
XML是一种由相关人员自由决定的标记语言,这是语言的扩展性。XML来自SGML。
在中简化和修改。它主要使用XML、XSL和XPath。
76.什么是Web服务?UDDI?
答:Web服务是一个基于网络的分布式模块化组件,它执行特定的任务并遵守。
遵循特定技术规范,这使得Web服务能够与其他兼容组件进行互操作。
UDDI的目的是建立电子商务的标准;UDDI是一套基于网络的,分布式的,基于网络的服务。
Web服务提供了信息注册中心的实现标准规范,还包含一组标准,使企业能够
自备Web服务注册,让其他企业找到访问协议的实现标准。
77.ASP.net的用户控制是什么?
答:用户控件一般用在内容大部分是静态的,或者有一点会变化的情况下...一个相对较大的班级。
像包含在ASP中..但它更强大。
78.列出你所知道的XML技术及其应用。
答:xml用于配置和保存静态数据类型。网络服务...还有。
配置
在79.ADO.net有什么常见的东西?分别描述。
答:连接数据库连接对象
命令数据库命令
数据阅读器
数据集数据集
80.什么是代码隐藏技术?
答:带ASPX、RESX、CS后缀的文件,这是代码分离。实现了HTML代码和服务。
代码分离。方便代码编写和排序。
81.什么是SOAP,它有哪些应用?
答:简单对象访问协议,简单对象接受协议。xml是基本的编码结构。
,基于现有的通信协议(如3:不再支持动态光标和服务器端巡视4:,可以断开连接,保留当前号码。
可用数据集5:强类型转换6:xml支持
109.写一个HTML页面实现以下功能。当你左键点击页面时,会显示“Hello”,然后右键点击。
显示“无右键单击”。并在2分钟后自动关闭页面。
答:< script language = javascript & gt
settime out(' window . close();',3000);
函数显示()
{
if(window . event . button = = 1)
{
Alert(“左”);
}
else if (window.event.button == 2)
{
Alert(“右”);
}
}
& lt/script & gt;
110.简单描述一下ASP。NET服务器控件生命周期
答:初始化加载视图状态,处理回发数据加载,发送回发更改通知,处理回发事件。
演示前保存状态演示处理卸载
111.匿名内部类是否可以扩展其他类,
有可能实现接口吗?
答:不需要,可以实现接口。
112.静态嵌套类和内部类之间的差异越多越好。
答:静态嵌套类是声明为静态的内部类,可以是独立的。
外部类的实例被实例化。然而,通常的内部类需要在外部类被实例化之后被实例化。
113.,& amp和& & amp不同之处。
& amp是按位运算符,这意味着按位AND运算。& amp是一个逻辑运算符,意味着逻辑and。
114.HashMap和Hashtable的区别。
答:HashMap是Hashtable的轻量级实现(非线程安全的实现),它们都完成了。
Map接口,主要区别是HashMap允许空键。因为非线程安全,
它可能比Hashtable更高效。
可以116的方法。重载改变返回值的类型?
答:重载的方法可以改变返回值的类型。
117.错误和异常有什么区别?
答:错误是指在不可能但困难的情况下,恢复不是一个严重的问题。比如记忆。
不可能期望程序处理这样的情况。
异常表示设计或实现问题。换句话说,这意味着如果程序正常运行,它将从
这是不可能的。
118.& lt% # % & gt和
答:< % # % & gt表示绑定数据源。
& lt% % & gt是服务器端代码块。
119.如何看待ASP.NET 2.0(VS 2005)以及之前使用的开发工具(Net 1.0或其他?
最大的区别是什么?什么发展思路(模式/
架构)可以移植到ASP.NET 2.0(或者已经嵌入ASP.NET 2.0)。
回答:1 ASP.NET 2.0封装了一些代码,所以相比1.0,同样的功能大打折扣。
多个代码。
同时支持服务器端代码中的代码分离和页面嵌入两种模式。在之前的1.0版本中,。NET提示帮助。
帮助仅在单独的代码文件中,没有办法在页面上嵌入服务器端代码来获得帮助提示。
3代码和设计界面切换时,2.0支持光标定位。我更喜欢这个。
4数据绑定、分页、更新、删除等操作可以可视化,方便了初始化。
学者
ASP.NET增加了40多种新的控制手段,减少了工作量。
120.重载和覆盖有什么区别?
答:1。方法的覆盖范围是子类和父类的关系,是纵向关系;方法的重载是相同的
类中方法之间的关系是水平的。
2.覆盖率只能通过一种方法或一对方法来关联;方法的重载是许多方法中的一种。
之间的关系。
3.覆盖要求的参数列表是相同的;重载需要不同的参数列表。
4.在叠加关系中,根据对象的类型(对象对应的存储空间类型)调用方法体。
决定;重载关系是调用时根据实参表和形参表选择方法体。
121.描述索引器在C#中的实现过程。是否可以仅通过数字进行索引?
没有。任何类型都可以。
122.在C #中,string str = null和string str = " "请尽量使用文字或图片。
说明区别。
答案:null没有空间参考;
“”是带有空格0的字符串;
126.公司需要开发一个继承类系统的组件。Windows.Forms.ListView,要求达到。
到下面的特殊功能:当点击ListView的列标题时,你可以根据被点击列的每一行的值重新排列它们。
视图中的所有行(以与数据网格相似的方式排序)。根据你的知识,请简单说一下你。
思路是:
答:根据点击的列标题,取出列的ID,按照ID排序,然后绑定到ListView。
127.什么是WSE?目前最新版本是什么?
答:WSE (WEB服务扩展)包提供了最新的WEB服务安全保证,是目前最
新版本2.0。
130.抽象类和接口有什么区别?
答:声明一个方法的存在而不实现它的类叫做抽象类,它叫做抽象类。
你想创建一个体现了一些基本行为的类,并为这个类声明方法,但是不能在这个类中实现。
这种情况。您不能创建抽象类的实例。但是,您可以创建一个类型为1的变量。
抽象类并将其指向具体子类的实例。不能有抽象构造函数或抽象静态方。
法律。抽象类的子类为其父类中的所有抽象方法提供实现,否则它们也是抽象的。
大象类是。相反,在子类中实现这个方法。其他知道其行为的类可以在类中实现。
这些方法。
接口是抽象类的变体。在接口中,所有的方法都是抽象的。多重遗传
可以通过实现这样的接口来获得。接口里所有的方法都是抽象的,没有人有程序。
身体。接口只能定义静态最终成员变量。接口的实现类似于子类的实现,除了真正的
当前类不能从接口定义继承行为。当一个类实现一个特殊的接口时,它定义(也就是说,把程序体交给。
给)这个接口的所有方法。然后可以在实现该接口的类的任何对象上调用它。
界面。由于抽象类,它允许使用接口名称作为引用变量的类型。通常移动
状态绑定将生效。引用可以在接口类型、操作符实例之间转换。
可用于确定对象的类是否实现接口。