zoukankan      html  css  js  c++  java
  • .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的区别

     Web API属于ASP.NET核心平台的一部分,它利用MVC框架的底层功能方便我们快速的开发部署WEB服务.

    mvc主要用于建站,web api主要用于构建http服务

    两种框架主要是在Asp .Net的基础上进行改造,主要是对HttpModuleHttpHandler做了扩展,实现方法是不一样的。

    比如说前者更像是在一层上建了第二层,引伸出更强大的路由机制,实现了诸如MvcHandlerControllerFactory这种消息处理和后台控制器方法选择机制,

    Web Api除了扩展了前者以外,另外写出了一套独立的,独立于Asp .Net的消息处理管道,就像是借鉴原来房子的模型,重新设计出了另外一套别墅。这也很好地解释了为什么Web Api可以寄宿在不同的宿主上

    Web Api处理消息有两个核心类是HttpRequestMessageHttpResponseMessage

    4、XML的理解

      可扩展标记性语言

     使用xml时,一定要引用命名空间:using System.Xml;

     主要用来处理、存储数据。无规定标签,可扩展。

     只能有一个根节点。

  • 相关阅读:
    多线程编程核心技术(五)死锁
    SELinux详细配置
    Linux实现RAID
    iSCSi的基本配置
    文本超出省略号之前后省略号实现
    对象冻结
    条件判断的优美写法
    使用VConsole
    重绘和重排(回流)
    移动端rem布局
  • 原文地址:https://www.cnblogs.com/MirZhai/p/11925335.html
Copyright © 2011-2022 走看看