.Net基础面试题
Posted mirzhai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.Net基础面试题相关的知识,希望对你有一定的参考价值。
总结一下面试.Net所遇到的基础知识题,在此做下记录
1、try {} catch{} finally{}执行顺序
无论try和catch代码块里是否有return,finally代码块都会执行
如果try中没有异常,则顺序为try→finally,如果try中有异常,则顺序为try→catch→finally。
如果有return,则有两种不同情况:
private int test1() { int i = 1; try { i++; Console.WriteLine("try:" + i); return i; } catch (Exception e) { i++; Console.WriteLine("catch:" + i); } finally { i++; Console.WriteLine("finally:" + i); } return i; }
输出:
try:2
finally:3
2
注:因为当try中带有return时,会先执行return前的代码,然后暂时保存需要return的信息,再执行finally中的代码,最后再通过return返回之前保存的信息。所以,这里方法返回的值是try中计算后的2,而非finally中计算后的3。
1 private List<Int32> test2() { 2 List<Integer> list = new ArrayList<>(); 3 try { 4 list.add(1); 5 Console.WriteLine("try:" + list); 6 return list; 7 } catch (Exception e) { 8 list.add(2); 9 Console.Writeline("catch:" + list); 10 } finally { 11 list.add(3); 12 Console.Writeline("finally:" + list); 13 } 14 return list; 15 }
输出:
try:[1]
finally:[1, 3]
[1, 3]
注:这里为什么和上个例子不同呢,其实问题出在参数类型上,上一个例子用的是基本类型,这里用的引用类型。list里存的不是变量本身,而是变量的地址,所以当finally通过地址改变了变量,还是会影响方法返回值的。
2、web Service的了解
web service 即web服务,举个例子说明一下说明是web 服务。
例如在Windows Server服务器上有个C#.Net开发的应用A,在Linux上有个Java语言开发的应用B,B应用要调用A应用,或者是互相调用,用于查看对方的业务数据。
通过Web Service,客户端和服务器才能够自由的用HTTP进行通信,不论两个程序的平台和编程语言是什么。
WebService是一种跨语言和跨平台的远程调用技术。
XML+XSD,SOAP和WSDL就是构成WebService平台的三大技术。
WebService采用HTTP协议传输数据,采用XML格式封装数据
SOAP协议 = HTTP协议 + XML数据格式
WebService务器端首先要通过一个WSDL文件来说明自己家里有啥服务可以对外调用,服务是什么(服务中有哪些方法,方法接受 的参数是什么,返回值是什么),服务的网络地址用哪个url地址表示,服务通过什么方式来调用。
3、webAPI和MVC的区别
4、XML的理解
以上是关于.Net基础面试题的主要内容,如果未能解决你的问题,请参考以下文章