最基础最前面的.NET面试题详解

最基础最前面的.NET面试题详解

1. 死锁的必要条件? 怎么克服?

系统的资源不足,进程的推进的顺序不合适,资源分配不当,一个资源每次只能被一个进程使用,一个资源请求资源时,而此时这个资源已阻塞,对已获得资源不放,进程获得资源时,未使用完前,不能强行剥夺。

2. 接口是否可以继承接口?抽象类是否可以实现接口?抽象类是否可以继承实体类?

接口是可以继承接口的,抽象类是可以实现接口的,抽象类可以继承实体类,但是有个条件,条件是,实体类必须要有明确的构造函数。

3. 构造器Constructor是否可以被继承?是否可以被Override?

Constructor不可以被继承,因此不能被重写(Overriding),但可以被重载(Overloading).

4. 当一个线程进入一个对象的方法后,其它线程是否可以进入该对象的方法?

  • 不可以,一个对象的方法只能由一个线程访问

5. 用最有效的方法算出等已8对于几?

  2<<3

6. C#是否可以对内存直接进行操作?

  这个问题比较难回答,也是个很大的问题。但是可以这样问答。C#是可以对内存进行直接操作的,虽然很少用到指针,但是C#是可以使用指针的,在用的时候需要在前边加unsafe,,在.net中使用了垃圾回收机制(GC)功能,它替代了程序员,不过在C#中不可以直接使用finalize方法,而是在析构函数中调用基类的finalize()方法

7. Error 和 Exception 有是区别?

  • error表示恢复不是不可能,但是很困难,exception表示一种实际或实现问题,它表示程序运行正常不可以发生的。

8. Collection 和 Collections 的区别?

Collection是集合类的上级接口,Collections是针对集合类的一个帮助类,它提供一系列静态方法来实现对各种集合的搜索,排序,线程安全化操作。

9. 任何把一个Array复制到Arraylist中?

  Foreach (object o in Array), ArrayList.Add (0);

10. UDP和TCP连接有和异同?

  TCP是传输控制协议,提供的是面向连接的,是可靠的,字节流服务,当用户和服务器彼此进行数据交互的时候,必须在他们数据交互前要进行TCP连接之后才能传输数据。TCP提供超时重拨,检验数据功能。UDP是用户数据报协议,是一个简单的面向数据报的传输协议,是不可靠的连接。

11. 进程和线程分别该怎么理解?

  进程是比线程大的程序运行单元,都是由操作系统所体会的系统运行单元,一个程序中至少要有一个进程,有一个进程中,至少要有一个线程,线程的划分尺度要比进程要小,进程拥有独立的内存单元,线程是共享内存,从而极大的提高了程序的运行效率同一个进程中的多个线程可以并发执行。

12. 什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?

  • 应用程序域:就是为安全性,可靠性,隔离性,和版本控制,及卸载程序提供的隔离边界。它通常由运行库宿主创建,应用程序域提供了一个更安全,用途更广的处理单元。
  • 托管代码:使用CLR编译语言编辑器开发编写的代码就叫托管代码。
  • 装箱和拆箱:是把值类型转换为引用类型的过程,是隐式的,相反的过程就是拆箱,是显式的。
  • CTS是公共类型系统,CLS是公共语言规范,CLR公共语言运行库。
  • 强类型系统:每个变量和对象都必须具有申明类型。

13. 解释一下UDDI、WSDL的意义及其作用?

  • UDDI是统一描述集成协议,是一套基于Web的,分布式的,为WEB服务提供的信息注册的实现标准规范,同时为也是为企业本身提供的Web服务注册以让别的企业能够发现并访问的协议标准。提供了基于标准的规范,用于描述和发现服务,还提供了一组基于因特网的实现。
  • WSDL这是一个基于XML的描述WEB服务的接口。

14. 什么是SOAP?

  是简单访问协议。是在分布式环境中,交换信息并实现远程调用的协议。是一个基于XML的协议。使用SOAP,可以不考虑任何传输协议,但通常还是HTTP协议,可以允许任何类型的对象或代码,在任何平台上,以任一种语言相互通信。它是一种轻量级协议。

15. 如何部署一个ASP.net页面?

vs2003,vs2005里边都有发表机制,vs2003可以发布然后在复制部署。Vs2005可以直接部署到对应的位置。

16. 能用 foreach 遍历访问的对象需要实现?

  • 需要实现IEnumerable接口和GetEnumerator()方法。

17. Heap 与 stack 的差别?

  • Heap是堆,空间是由手动操作分配和释放的,它的存储区很大的自由存储区。
  • Stack是栈,是由是操作系统自动分配和释放的,栈上的空间是有限的。程序在编译期间变量和函数分配内存都是在栈上进行的,且在运行时函数调用时的参数的传递也是在栈上进行的。

18. C#中 property 与 attribute的区别,他们各有什么用处,这种机制的好处在哪里?

propertyattribute汉语都称之为属性。不过 property 是指类向外提供的数据区域。而 attribute 则是描述对象在编译时或运行时属性的。这两者是有本质区别的。

19. CTS、CLS、CLR分别作何解释?

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

20. 什么是受管制的代码?

  • unsafe:非托管代码。不经过CLR运行。

21. 什么是强类型系统?

  • RTTI:类型识别系统。

22. 在.net中,配件的意思是?

  • 程序集。(中间语言,源数据,资源,装配清单)

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

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

24. 简要谈一下您对微软.NET 构架下 remoting 和 webservice 两项技术的理解以及实际中的应用。

WS主要是可利用HTTP,穿透防火墙。而Remoting可以利用TCP/IP,二进制传送提高效率。 remoting是.net 中用来跨越machine, process, appdomain 进行方法调用的技术,对于三成结构的程序,就可以使用remoting技术来构建.它是分布应用的基础技术.相当于以前的DCOM Web Service是一种构建应用程序的普通模型,并能在所有支持internet网通讯的操作系统上实施。Web Service令基于组件的开发和web的结合达到最佳,基于组件的对象模型

25. 用 .net 做 B/S 结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?

  • 一般为 3 层

数据访问层,业务层,表示层。
数据访问层对数据库进行增删查改。
业务层一般分为二层,业务表观层实现与表示层的沟通,业务规则层实现用户密码的安全等。
表示层为了与用户交互例如用户添加表单。

  • 优点: 分工明确,条理清晰,易于调试,而且具有可扩展性。
  • 缺点: 增加成本。

26. 什么叫应用程序域?

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

27. CTS 、 CLS 、 CLR 分别作何解释?

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

28. 什么是受管制的代码?

  • unsafe :非托管代码。不经过 CLR 运行。

29. .net 中读写数据库需要用到那些类?他们的作用?

DataSet: 数据存储器。
DataCommand: 执行语句命令。
DataAdapter: 数据的集合,用语填充。

30. ASP.net 的身份验证方式有哪些?分别是什么原理?

  • Windwos( 默认 ) 用 IIS…From( 窗体 ) 用帐户 …Passport( 密钥 )

31. 什么是 Code-Behind 技术?

  • 代码后植

32. 常用的调用 WebService 的方法有哪些?

  • 使用 WSDL.exe 命令行工具。
  • 使用 VS.NET 中的 Add Web Reference 菜单选项

33. .net Remoting 的工作原理是什么?

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

34. 请详述在 dotnet 中类 (class) 与结构 (struct) 的异同?

  • Class 可以被实例化 , 属于引用类型 , 是分配在内存的堆上的 ,Struct 属于值类型 , 是分配在内存的栈上的

35. SQLSERVER 服务器中,给定表 table1 中有两个字段 ID 、 LastUpdateDate , ID 表示更新的事务号, LastUpdateDate 表示更新时的服务器时间,请使用一句 SQL 语句获得最后更新的事务号

Select ID FROM table1 Where LastUpdateDate = (Select MAX(LastUpdateDate) FROM table1) 

36. 简要谈一下您对微软 .NET 构架下 remoting 和 webservice 两项技术的理解以及实际中的应用。

  • WS 主要是可利用 HTTP ,穿透防火墙。而 Remoting 可以利用 TCP/IP ,二进制传送提高效率。

37. 能用 foreach 遍历访问的对象需要实现 ________________ 接口或声明 ________________ 方法的类型。

  • IEnumerable 、 GetEnumerator 。

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

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

System.gc()
Runtime.getRuntime().gc()

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

  声明方法的存在而不去实现它的类被叫做抽象类( abstract class ),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建 abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。 Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。
  接口( interface )是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个 有程序体。接口只可以定义 static final 成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。 然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到 接口类型或从接口类型转换, instanceof 运算符可以用来决定某对象的类是否实现了接口。

40. 启动一个线程是用 run() 还是 start()?

  • start()方法是启动(即开辟)一个线程的方法,因此线程的启动必须通过此方法,
  • run()方法,只是Thread类的一个方法,它本身并不能开辟线程。

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

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

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

  • 构造器 Constructor 不能被继承,因此不能重写 Overriding ,但可以被重载 Overloading

43. 是否可以继承 String 类 ?

  • String 类是 final 类故不可以继承。

44. try {} 里有一个 return 语句,那么紧跟在这个 try 后的 finally {} 里的 code 会不会被执行,什么时候被执行,在 return 前还是后 ?

  • 会执行,在 return 前执行。

45. 两个对象值相同 (x.equals(y) == true) ,但却可有不同的 hash code ,这句话对不对 ?

  • 不对,有相同的 hash code

46. swtich 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上 ?

switch ( expr1 )中, expr1 是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int 、 short 、 char 或者 byte 。 long,string 都不能作用于 swtich 。

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() 这个方法?

  • 数组没有 length() 这个方法,有 length 的属性。 String 有有 length() 这个方法。

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

  • sleep() 方法是使线程停止一段时间的方法。在 sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非 (a)“ 醒来 ” 的线程具有更高的优先级;(b) 正在运行的线程因为其它原因而阻塞。
  • wait() 是线程交互时,如果线程对一个同步对象 x 发出一个 wait() 调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。

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 正确。

53. 如何处理几十万条并发数据?

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

54. Session 有什么重大 BUG ,微软提出了什么方法加以解决?

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

55. 堆和栈的区别?

  • 栈:由编译器自动分配、释放。在函数体中定义的变量通常在栈上。
  • 堆:一般由程序员分配释放。用 new 、 malloc 等分配内存函数分配得到的就是在堆上

56. 成员变量和成员函数前加 static 的作用?

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

57. ASP.NET 与 ASP 相比,主要有哪些进步?

  • asp 解释形; aspx 编译型,性能提高,有利于保护源码。

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

  • session(viewstate) 简单,但易丢失
  • application 全局
  • cookie 简单,但可能不支持,可能被伪造
  • input ttype=“hidden” 简单,可能被伪造
  • url 参数 简单,显示于地址栏,长度有限
  • 数据库 稳定,安全,但性能相对弱

59. 请指出 GAC 的含义?

  • 全局程序集缓存。

60. 向服务器发送请求有几种方式?

  • get 和 post get 一般为链接方式, post 一般为按钮方式。

61. DataReader 与 Dataset 有什么区别?

  • 一个是只能向前的只读游标,一个是内存中的表。

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

  • 需求分析,架构设计,代码编写, QA ,部署

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

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

64. 需要实现对一个字符串的处理 , 首先将该字符串首尾的空格去掉 , 如果字符串中间还有连续空格的话 , 仅保留一个空格 , 即允许字符串中间有多个空格 , 但连续的空格数不可超过一个 .

string inputStr=" xx xx ";
inputStr = Regex.Replace(inputStr.Trim()," *"," ");

65. 什么叫做 SQL 注入,如何防止?请举例说明。

  • 利用 sql 关键字对网站进行攻击。过滤关键字 ’ 等

66. 用 Singleton 如何写设计模式

  • static 属性里面 new , 构造函数 private

67. 什么是 Application Pool ?

  • Web 应用,类似 Thread Pool ,提高并发性能。

68. 什么是虚函数?什么是抽象函数?

  • 虚函数:没有实现的,可由子类继承并重写的函数。抽象函数:规定其非虚子类必须实现的函数,必须被重写。

69. 什么是 XML ?

  XML 即可扩展标记语言。 eXtensible Markup Language. 标记是指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,即可以选择国际通用的 标记语言,比如 HTML ,也可以使用象 XML 这样由相关人士自由决定的标记语言,这就是语言的可扩展性。 XML 是从 SGML 中简化修改出来的。它主要用到 的有 XML 、 XSL 和 XPath 等。

70. 什么是 Web Service ? UDDI ?

  Web Service 便是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得 Web Service 能与其他兼容的组件进行互操作。
  UDDI 的目的是为电子商务建立标准; UDDI 是一套基于 Web 的、分布式的、为 Web Service 提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的 Web Service 注册,以使别的企业能够发现的访问协议的实现标准。

71. 什么是 ASP.net 中的用户控件?

  • 用户控件一般用在内容多为静态 , 或者少许会改变的情况下 … 用的比较大 … 类似 ASP 中的 include… 但是功能要强大的多。

72. 列举一下你所了解的 XML 技术及其应用

  • xml 用于配置 , 用于保存静态数据类型 . 接触 XML 最多的是 web Services… 和 config

73. 什么是 SOAP, 有哪些应用。

  simple object access protocal, 简单对象接受协议 . 以 xml 为基本编码结构 , 建立在已有通信协议上 ( 如 http, 不过据说 ms 在搞最底层的架构在 tcp/ip 上的 soap) 的一种规范 Web Service 使用的协议 …

74. C# 中 property 与 attribute 的区别,他们各有什么用处,这种机制的好处在哪里?

  • 一个是属性,用于存取类的字段,一个是特性,用来标识类,方法等的附加性质

75. XML 与 HTML 的主要区别

  • 1.XML 是区分大小写字母的, HTML 不区分
  • 2.在 HTML 中,如果上下文清楚地显示出段落或者列表键在何处结尾,那么你可以省略或者之类的结束 标记。在 XML 中,绝对不能省略掉结束标记
  • 3.在 XML 中,拥有单个标记而没有匹配的结束标记的元素必须用一个 / 字符作为结尾。这样分析器就知道不用 查找结束标记了。
  • 4.在 XML 中,属性值必须分装在引号中。在 HTML 中,引号是可用可不用的。
  • 5.在 HTML 中,可以拥有不带值的属性名。在 XML 中,所有的属性都必须带有相应的值。

76. 类成员有 _____ 种可访问形式?

  • this.;new Class().Method;

77. 委托声明的关键字是 ______?

  • delegate.

78. 用 sealed 修饰的类有什么特点?

  • 密封,不能继承。

在 Asp.net 中所有的自定义用户控件都必须继承自 ________?

  • Control

79. 在 .Net 中所有可序列化的类都被标记为 _____?

  • [serializable]

80. 当类 T 只声明了私有实例构造函数时,则在 T 的程序文本外部, __ 可以 __(可以 or 不可以)从 T 派生出新的类,不可以 ____ (可以 or 不可以)直接创建 T 的任何实例。

  • 不可以,不可以

81. .net 的错误处理机制是什么?

  • .net 错误处理机制采用 try->catch->finally 结构,发生错误时,层层上抛,直到找到匹配的 Catch 为止

82. 利用 operator 声明且仅声明了 == ,有什么错误么 ?

  • 要同时修改 Equale 和 GetHash() ? 重载了 “==” 就必须重载 “!=”

83. 在 .net ( C# or vb.net )中如何用户自定义消息,并在窗体中处理这些消息。

  • 在 form 中重载 DefWndProc 函数来处理消息 :
protected override void DefWndProc (ref System.WinForms.Message m) 
{ 
	switch(m.msg) 
	{ 
		case WM_Lbutton : 
	   // string 与 MFC 中的 CString 的 Format 函数的使用方法有所不同  
	   string message = string.Format(" 收到消息 ! 参数为 :{0},{1}",m.wParam,m.lParam); 
	   MessageBox.Show(message);// 显示一个消息框  
	   break; 
		case USER:
			//处理的代码
		default: 
	   base.DefWndProc(ref m);// 调用基类函数处理非自定义消息。  
	   break; 
	} 
}

84. 在 .net ( C# or vb.net )中如何取消一个窗体的关闭。

private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
	e.Cancel=true;
} 

85. .net ( C# or vb.net )中, Appplication.Exit 还是 Form.Close 有什么不同?

  • 一个是退出整个应用程序,一个是关闭其中一个 form 。

86. 62-63=1 等式不成立,请移动一个数字(不可以移动减号和等于号),使得等式成立,如何移动?

  • 62 移动成 2 的 6 次方

87. C# 中 property 与 attribute 的区别,他们各有什么用处,这种机制的好处在哪里?

  • attribute: 自定义属性的基类; property : 类中的属性

88. C# 可否对内存进行直接的操作?

  • C# 可以直接对内存进行操作。但是默认情况下,为了保持类型安全, C# 不支持指针运算。不过,通过使用 unsafe 关键字,可以定义可使用指针的不安全上下文

89. ADO.NET 相对于 ADO 等主要有什么改进?

1: ado.net 不依赖于 ole db 提供程序 , 而是使用 .net 托管提供的程序
2: 不使用 com
3: 不在支持动态游标和服务器端游
4: 可以断开 connection 而保留当前数据集可用
5: 强类型转换
6: xml 支持

90. 大概描述一下 ASP 。 NET 服务器控件的生命周期

  • 初始化 加载视图状态 处理回发数据 加载 发送回发更改通知 处理回发事件 预呈现 保存状态 呈现 处置 卸载

91. Static Nested Class 和 Inner Class 的不同

  • Static Nested Class 是被声明为静态( static )的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化

92. error 和 exception 有什么区别 ?

  • error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况
  • exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况

93. 重载与覆盖的区别?

  • 1 、方法的覆盖是子类和父类之间的关系,是垂直关系;方法的重载是同一个类中方法之间的关系,是水平关系
  • 2 、覆盖只能由一个方法,或只能由一对方法产生关系;方法的重载是多个方法之间的关系。
  • 3 、覆盖要求参数列表相同;重载要求参数列表不同。
  • 4 、覆盖关系中,调用那个方法体,是根据对象的类型(对象对应存储空间类型)来决定;重载关系,是根据调 用时的实参表与形参表来选择方法体的。

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

  • 索引器是一种特殊的类成员,它能够让对象以类似数组的方式来存取, 使程序看起来更为直观,更容易编写
  • 不是。可以用任意类型。

95. SQLSERVER 服务器中,给定表 table1 中有两个字段 ID 、 LastUpdateDate , ID 表示更新的事务号, LastUpdateDate 表示更新时的服务器时间,请使用一句 SQL 语句获得最后更新的事务号

select ID from table1 Where LastUpdateDate = (select MAX(LastUpdateDate) from table1) 

96. 求以下表达式的值,写出您想到的一种或几种实现方法: 1-2+3-4+ …… +m

//方法一:
int sum=0;
bool flag=true;
for(int i=1;i<=m;i++)
{
   if(flag)
      sum += i;
   else
      sum -= i;
   flag =! flag;
}
return sum;
//方法二:
if((m % 2 ) > 0)
   return m / 2;
else
   return -m / 2;

97. 什么叫应用程序域?

  • .Net 的运行环境, CLR 将程序分成一个或多个逻辑区域就叫应用程序域 AppDomain 。
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
.NET面试题及答案详解主要涉及以下几个方面:基础知识、框架、语言特性、数据库操作、多线程等。 首先,针对基础知识的问题,可能会问到.NET是什么、.NET框架的组成部分、CLR是什么、以及C#和VB.NET的区别等。面试者可以回答.NET是一个面向对象的软件开发框架,包括CLR、FCL、ASP.NET等组成部分,CLR是公共语言运行库,C#和VB.NET都是.NET平台上的开发语言,其中C#更加常用。 其次,针对框架的问题,面试官可能会询问ASP.NET MVC和ASP.NET Web Forms的区别、Entity Framework的作用和优势、以及WCF和Web API的应用场景等。面试者应该了解ASP.NET MVC是一种基于模型-视图-控制器的开发模式,而Web Forms是一种传统的页面式开发模式;Entity Framework是.NET下的对象关系映射框架,简化了数据库操作;WCF用于构建分布式应用程序,而Web API主要用于构建RESTful服务。 此外,还可能会涉及到语言特性,例如面向对象的特性、委托和事件的使用、LINQ的特点等。面试者应该对这些概念有清晰的理解,并能够举出实际应用的例子。 另外,针对数据库操作和多线程方面的问题,面试官可能会考察ADO.NET的使用、并发编程、以及异步编程等。面试者需要熟悉ADO.NET的各种操作方式,以及多线程和异步编程的相关知识。 总之,针对.NET面试题及答案的详解需要面试者全面了解.NET相关的知识点,并能够结合实际应用进行深入阐述,展现出自己的专业能力和经验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑夜中的潜行者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值