面试题:post和get的区别

  1. get是从服务器上获取数据,post是向服务器传送数据。
2. get是把参数数据队列加到提交表单的action属性所指的url中,值和表单内各个字段一一对应,在url中可以看到。post是通过http post机制,将表单内各个字段与其内容放置在html header内一起传送到action属性所指的url地址。用户看不到这个过程。
3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
5. get安全性非常低,post安全性较高。但是执行效率却比Post方法好。
建议:
1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;



1 简述private  public protected internal 修饰符的访问权限

    private 只有类自身成员可以访问
    public  访问不受限制
    protected 子类可以访问,其他类可以访问
    internal  是C#的默认可访问性,如果某个类没有任何可访问性关键字在它前面,则它就    是internal的
     

2.列举asp.net页面之间传递值得几种方式
  1. 使用QueryString变量 
  2. 使用Application 对象变量 
  3. 使用Session变量 
  4. 使用Cookie对象变量 
  5. 使用Server.Transfer方法 

3.C#中的委托是什么

委托是一种在对象里保存方法引用的类型,同时也是一种类型安全的函数指针。
事件是一种特殊的委托

4.用.Net做B/S结构的系统,一般用几层结构来开发,每一层的作用

数据访问层,业务层,表示层。
数据访问层对数据库进行增删查改。
业务层一般分为二层,业务表观层实现与表示层的沟通,业务规则层实现用户密码的安全等。
表示层为了与用户交互例如用户添加表单。
优点: 分工明确,条理清晰,易于调试,而且具有可扩展性。
缺点: 增加成本。

5.什么是装箱和拆箱

装箱就是把值类型转换成引用类型,反之就是拆箱

 
6..Net中读写数据库需要用到哪些类?他们的作用 

  1、DataSet 用来无连接的储存多个表的数据,并包含表与表之间的关联关系
  2、DataTable 用来存储一个表的数据
  3、SqlConnection 用来创建一个到数据库的连接
  4、SqlCommand 用来执行SQL语句
  5、SqlDataReader 用来顺序读取数据
  6、SqlDataAdapter 用来将数据填充到DataSet或DataTable


7.在C#中,string str=nullstring str="" 有什么区别,请说明

string   str= " ",表示一个空字符串,被实列化了,占用了内存空间,   string   str=null,表示一个空引用,没有占用了空间


8.能用foreach遍历访问的对象需要实现那个接口或实现那个方法?

能用foreach遍历访问的对象必须是集合或数组对象,而这些都是靠实现超级接口IEnumerator或被声明 GetEnumerator 方法的类型

9.try{}里有一个return语句,那么紧跟在这个try后的finally里的code会不会被执行,什么

时候被执行,在return前还是后?

肯定执行
在try语句中,在执行return语句时,要返回的结果已经准备好了,就在此时,程序转到finally执行了。
在转去之前,try中先把要返回的结果存放到不同于a的局部变量中去,执行完finally之后,在从中取出返回结果,
因此,即使finally中对变量a进行了改变,但是不会影响返回结果。
它应该使用栈保存返回值。


10.什么是XML?列举一下你所了解的XML的技术及其应用

(1)点对点(P2P)的电子商务模型。用XML 定义企业之间交换的信息,然后用XML消息直接进行信息的饿交换,这种方式是对传统电子数据交换EDI(Electronic Data Exchange)的直接扩展。典型应用有微软的Biztalk框架。 
(2)基于代理(agent)的电子商务模型。在点对点模型的基础上,增加一个代理程序。代理程序作用就是自动在网络上找到有用的信息,并将起转发到本企业的数据库。典型应用有CommerceNet的eCo架构。 
(3)机遇门户(portal)的电子商务模型。企业将各种不同的信息发布到相应的门户上,然后各自根据自己的需求到不同的门户上寻找到企业感兴趣的信息。另外,各门户还可以实现信息的共享和互联,具有很大的扩展性。 
(4)基于web服务的电子商务模型。Web服务是一种基于标准的应用集成方式,它可以将运行在通过Intranet、Extranet或Internet连接的分布式服务器上的应用集成在一起。也就是通过互联网的开放标准,实现业务流程的导航、搜索以及与其他应用的交互。典型应用有基于XML技术和标准的ebXML技术框架

11.写出一条SQL语句:取出A表中第31第40记录(以自动增长的ID作为主键,注意:ID可能不

是连续的)
select top(3)*from 表名 where Code not in(select top((3)*3) Code from 表名)

12.请编程实现一个冒泡排序算法?

  static void Main(string[] args)
        {
            int t;
            int[] a = new int[5] {7,3,5,2,1 };
            for (int i = 0; i <a. Length; i++)
            {
                for (int j = i; j <a. Length; j++)
                {
                    if (a[i]<a[j])
                    {
                        t = a[i];
                        a[i] = a[j];
                        a[j] = t;
                    } 
                }
                for ( i = 0; i <a. Length; i++)
                {
                    Console.Write(""+(i+1)+"个数为"+a[i]+"\n");
                }
                
            } Console.ReadLine();
        }
    }

13.一系列的规则如下:1,1,2,3,5,8,13,21,34.....求第30位数是多少,用递归算法实现
   
namespace 面试题_函数递归求第三十位数
{
    class Program
    {
        public int hanshu(int a)
        {
            if (a <= 0)
            {
                return 0;
            }
            else if (a <= 2)
            {
                return 1;
            }
            else 
           return hanshu(a - 1) + hanshu(a - 2);
        }
       
        static void Main(string[] args)
        {
            int a=new Program ().hanshu (30);
            Console.WriteLine(a);
            Console.ReadLine();
        }
       
        }
    }


14 请将字符串 “123456”,倒序输出“654321static void Main(string[] args)
        {
            第一种方法
            //string[] shu = new string[] {"你好","哈哈","对","坏蛋","a","b","c"}; 
            //for (int i = 0; i < shu.Length /2; i++)
            //{
            //    string  temp = shu[i];
            //    shu[i] = shu[shu.Length - 1 - i];
            //    shu[shu.Length - 1 - i] = temp;

            //}
            //for (int i = 0; i < shu.Length ; i++)
            //{
            //    Console.WriteLine(shu[i]);
                
            //}
            //Console.ReadLine();


          第二种方法
           // ArrayList r = new ArrayList();
           // r.Add("蛋");
           // r.Add("坏");
           // r.Add("是");
           // r.Add("我");
           // r.Reverse();
           // for (int i = 0; i < 4; i++)
           // {
           //     Console.WriteLine(r[i]+"\t"); 
           // }
           // Console.ReadLine();
          } 
        }
    }

 

posted @ 2015-08-05 09:14  zhenximeiyitian  阅读(383)  评论(0编辑  收藏  举报