zoukankan      html  css  js  c++  java
  • 笔试第一份

    Section1-Java

    1.下面程序的运行结果是()

    a)答案:false

      String str1 = “hello”;

      String str2 = “he”+new String(“llo”);

      System.err.println(str1 == str2);

    b)
      public static void main(String args[]){
        Thread t = new Thread(){
          public void run(){
            pong();
          }
        };
        t.run();
        System.out.print("ping");
      }
      static void pong(){
        System.out.print("pong");
      }
    答案:pongping
    c)
    class HelloA{
      public HelloA(){
        System.out.printIn("HelloA");
      }
      {System.out.printIn("I'm A class");}
      static {System.out.printIn("static A");}
    }
    public class HelloB extends HelloA{
      public HelloB(){
        System.out.printIn("HelloB");
      }
      {System.out.printIn("I'm B class");}
      static {System.out.printIn("static B");}
      public static void main(String [] args){
        new HelloB();
      }
    }
    答案:static A
       static B
       I'm A class
       Hello A
       I'm B class
       Hello B

    2.请指出下列代码段中的错误或不足指出,并说明该如何改进(这些代码段都是可以成功编译)

    (暂时不想写了)

    3.在写一个类时,可能会需要覆写hashCode()和equals()方法,这两个方法的意义是什么,为什么需要去覆写?

    答:hashCode()意义:给不同对象返回不同的hash code值,相当于识别码;

      equals()意义:用于判断其它对象是否与该对象相同;

      需要覆写的原因是:如果你想这个类的对象能比较的话,就要覆写equals方法,因为只有覆写了这个方法,

      JVM才知道根据什么判断这两个对象是相同的。当一个类覆写了equals(),就必须覆写hashCode(),不然

      在作为key使用时,会存入相同的key或者取不出已经存在的结果。

    Section2-Oracle(以下问题基于Oracle数据库或MySQL数据库)

     1.写一条SQL/MySQL,来表示A表左连接B表。

      答:select * from A LEFT JOIN B A.cloums = B.cloums

      (没给字段,自己添加的colums)

      内连接(inner join...on/....join...on...)

      左连接(左外连接)left join...on...

      右连接(右外连接)right join...on...

      全外连接full join...on...

    2.数据库中的索引有什么作用?它又会对数据库带来什么负面影响?

    答:作用

      1.通过创建唯一索引,可以保证数据库表中每一行数据的唯一性;

      2.可以大大加快数据的检索速度,这也是创建索引的最主要原因;

      3.可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义;

      4.在使用分组和排序自居进行检索是,同样可以显著减少查询中分组和排序的时间;

      5通过使用索引,可以在查询过程中,使用优化隐藏器,提高系统的性能。

      负面影响:

      1.创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加;

      2.索引需要占物理空间,处理数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索                    引,那么需要的空间就会更大;

      3.当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。

    3.如何用oracle中使用SQL来做分页查询?并且如何保证分页的结果按照某个子弹的顺序固定的?请写出一条示例的SQL来说明。

    答:oracle中使用SQL分页查询:

    方法一:

    经过测试,此方法成本最低,只嵌套一层,速度最快!即使查询的数据量再大,也几乎不受影响,速度依然!

    SELECT *
    FROM (Select ROWNUM AS ROWNO, T.*
    from k_task T
    where Flight_date between to_date('20060501', 'yyyymmdd') and
    to_date('20060731', 'yyyymmdd')
    AND ROWNUM <= 20) TABLE_ALIAS
    WHERE TABLE_ALIAS.ROWNO >= 10;

    方法二:

    经过测试,此方法随着查询范围的扩大,速度也会越来越慢!

    SELECT *
    FROM (SELECT TT.*, ROWNUM AS ROWNO
    FROM (Select t.*
    from k_task T
    where flight_date between to_date('20060501', 'yyyymmdd') and
    to_date('20060531', 'yyyymmdd')
    ORDER BY FACT_UP_TIME, flight_no) TT
    WHERE ROWNUM <= 20) TABLE_ALIAS
    where TABLE_ALIAS.rowno >= 10;

    Section3-JSP

    1.请回答HttpServlet中的方法有哪些?哪个方法来调用doPost();doPost()和doGet()的区别?

    答: 1.init()方法

       2.service()方法

       3.doGet()方法

       4.doPost()方法

       5.destroy()方法

       6.GetServletConfig()方法

       7.GetServletInfo()方法

      post方法调用doPost()方法;

      get和post的本质区别:get只有一个流,参数附加在url后,大小个数都有严格的限制,且只能是字符串;

      post的参数不通过url而是通过其他流的传递参数,所以可以很大,也可以传递二进制数据,例如上传文件。

      post比get安全;由Web浏览器或通过HTML、JSP直接访问Servlet的URL时,一般用GET调用。GET调用会把

      传递给Servlet的参数再URL里显示出来,这样对系统安全方面存在问题;而POST请求则通过其他流传递参数,  

      不会再URL中显示,更安全;例如用户登录时,如果是用GET调用会把用户账号密码都显示在URL中,用POST

      调用则不会显示。 

      服务器接收方式:服务器随机接收get方法的数据 ,一旦断电等原因,服务器也不知道信息是否发送完毕,而

      post方法,服务器先接收数据信息的长度,然后再接收数据。

    2.回答自定义Tag如何来写?继承买哪个类?Overwrite.....?

    答:(现在谁还用jsp啊,难找,不写)

  • 相关阅读:
    Servlet接口实现类开发步骤
    Servlet概述
    Web服务器之HTTP协议与Tomcat服务器
    vant中van-picker选项插入图片
    排序算法-插入排序
    排序算法-快速排序
    排序算法-冒泡排序
    浅谈C#中Dictionary的实现。
    设计模式(23)-备忘录模式
    设计模式(22)-访问者模式
  • 原文地址:https://www.cnblogs.com/2020hyc/p/14545977.html
Copyright © 2011-2022 走看看