• 2015 4.15笔试


    sql注入

    什么是sql注入?如何防止sql注入?

    就是把sql语句插入到查询字符串中,以达到欺骗服务器来执行恶意的命令

    防止sql注入的方法:sql参数化查询

    获取最新的sql插入:

     /*对于马上使用的刚才插入的新记录ID用SCOPE_IDENTITY()是最合适的*/
    INSERT INTO table(field1,field2,) VALUES("field1Value","field2Value",) SELECT SCOPE_IDENTITY() as newIDValue
    /* 对于想要得到一个表中的最后一个插入操作所产生的ID的最好用IDENT_CURRENT('TBName')*/
     INSERT INTO table(field1,field2,) VALUES("field1Value","field2Value",) SELECT IDENT_CURRENT('recordID') as newIDValue

    编程题:

    1 1 2 3 5 8。。

    int [] array=new int[30];
    for(int i=0;i<=array.length;i++)
    {
    if(i-2<0)
    return 0;
    else
    array[i]=array[i-1]+array[i-2];
    }
    

      将100个100以内的随机数插入到空的数组中

    List<int> list = new List<int>();  
          Random ran = new Random();  
             
       
          while(true)  
          {  
            if (list.Count >= 100)  
            {  
              break;  
            }  
            int s = ran.Next(1, 101);  //生成100以内的随机整数
            if (!list.Contains(s))  
            {  
              list.Add(s);  
            }  //如果list<>里面不存在s,就把s加到list中去
          }  
       
          list.Sort();  //排序
       
          foreach (int i in list)  
          {  
            Console.Write(i + " ");  
          }  
          Console.ReadKey();  

    C#冒泡排序

    static List<int> list = new List<int>();
    int temp=0;
    for(int i=0;i<list.count;i++)
    {
    for(int j=0;j<i-1;j++)
    {
    temp=list[i];
    list[i]=list[i+1];
    list[i+1]=temp;
    }
    }

    进程和线程

    进程是包含某些一些资源的内存

    线程是进程的一个实体,CPU调度的最小单位

    一个线程可以撤销和创建另一个线程,多个线程可以并发执行

    区别:一个进程可以有多个线程

    线程不能单独执行,必须依赖应用程序来进行执行

    TCP/IP

    TCP/IP协议是一组完整的网络协议,TCP传输层IP网络层

    TCP和UDP的区别

       TCP提供的是面向连接的、可靠的数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输。
       简单的说,TCP注重数据安全,而UDP数据传输快点,但安全性一般

    数据库的一些面试题

    什么是数据库事物

    单个逻辑事物的操作

    ACID(原子性,一致性,隔离性,持久性)

    存储过程

    存储过程是一组予编译的SQL语句

        它的优点:1.允许模块化程序设计,就是说只需要创建一次过程,以后在程序中就可以调用该过程任意次。

                2.允许更快执行,如果某操作需要执行大量SQL语句或重复执行,存储过程比SQL语句执行的要快。

                 3.减少网络流量,例如一个需要数百行的SQL代码的操作有一条执行语句完成,不需要在网络中发送数百行代码。

    列举ADO.NET中的五个主要对象

    Connection连接对象

    Command执行命令和存储过程

    DataReader向前只读的数据流

    DataAdapter适配器,支持增删查询

    DataSet数据级对象,相当与内存里的一张或多张表。

    三层架构:表现层,业务逻辑层,数据访问层

    WebService服务可以描述为可以在web上部署并可以被任何应用程序或其他服务调用的功能

    final :不能派生新的子类

    finally:异常处理

    finalize:GC处理

    垃圾回收器跟踪并回收托管内存中分配的对象,定期执行垃圾回收以回收分配给没有有效引用的对象的内存。当使用可用内存不能满足内存请求时,GC会自动进行。

    在进行垃圾回收时,垃圾回收器会首先搜索内存中的托管对象,然后从托管代码中搜索被引用的对象并标记为有效,接着释放没有被标记为有效的对象并收回内存,最后整理内存将有效对象挪动到一起

    struct和class的区别

    结构与类共享几乎所有相同的语法,但结构比类受到的限制更多:尽管结构的静态字段可以初始化,结构实例字段声明还是不能使用初始值设定项。

      结构不能声明默认构造函数(没有参数的构造函数)或析构函数。

      结构的副本由编译器自动创建和销毁,因此不需要使用默认构造函数和析构函数。实际上,编译器通过为所有字段赋予默认值(参见默认值表)来实现默认构造函数。

      结构不能从类或其他结构继承。

      结构是值类型 -- 如果从结构创建一个对象并将该对象赋给某个变量,变量则包含结构的全部值。复制包含结构的变量时,将复制所有数据,对新副本所做的任何修改都不会改变旧副本的数据。

      由于结构不使用引用,因此结构没有标识 -- 具有相同数据的两个值类型实例是无法区分的。C# 中的所有值类型本质上都继承自ValueType,后者继承自 Object。编译器可以在一个称为装箱的过程中将值类型转换为引用类型。

    结构具有以下特点:

      结构是值类型,而类是引用类型。

      向方法传递结构时,结构是通过传值方式传递的,而不是作为引用传递的。

      与类不同,结构的实例化可以不使用 new 运算符。

      结构可以声明构造函数,但它们必须带参数。

      一个结构不能从另一个结构或类继承,而且不能作为一个类的基。所有结构都直接继承自 System.ValueType,后者继承自 System.Object。

      结构可以实现接口。

      在结构中初始化实例字段是错误的。

    Override是重写的意思,它表示重写基类的方法,而且方法的名称,返回类型,参数类型,参数个数要与基类相同。

    Overload是重载是意思,它也表示重写基类的方法,但是只要方法名相同,别的可以不同。

    声明方法的存在而不去实现它的类被叫做抽像类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽像类,并让它指向具体子类的一个实例。不能有抽像构造函数或抽像静态方法。Abstract 类的子类为它们父类中的所有抽像方法提供实现,否则它们也是抽像类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。

      接口(interface)是抽像类的变体。在接口中,所有方法都是抽像的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽像的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对像上调用接口的方法。由于有抽像类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。

    ASP.net的页面传值

    session简单,但易丢失

    application 全局

    cookie 简单,但可能不支持,可能被伪造

    input type="hidden" 简单,可能被伪造

    url参数简单,显示于地址栏,长度有限

      数据库稳定,安全,但性能相对弱

  • 相关阅读:
    查询job的几个语句
    fdisk与parted分区
    升级时针对Source oracle home 不存在解决办法
    oracle常用视图v$mystat v$sesstat v$sysstat v$statname v$thread v$ parameter v$session v$process
    x$ksppi与x$ksppcv查询隐藏参数
    查询表空间及已使用情況的SQL语句
    通过系统进程查找sql语句
    RAC日常维护命令
    创建ASM实例及ASM数据库(转载)
    安装数据库软件,节点未显示
  • 原文地址:https://www.cnblogs.com/lj940306/p/4430830.html
Copyright © 2020-2023  润新知