.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基础面试题的主要内容,如果未能解决你的问题,请参考以下文章

.NET面试题解析(07)-SQL语言基础及数据库基本原理

.net 基础面试题

Android面试题基础集锦总结《二》

Android面试题基础集锦总结《二》

面试题

面试题