• 2013年3月26日(面试)


    一.基础知识部分

    (1)String是基本类型吗?基本类型包括哪些? 

         答:String不是基本类型,八大基本类型包括byte,short,int,long,double,float,boolean,char

    (2)取出当前时间,并格式化为如:2009-10-31 13:42:21的格式?

         答:SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式

               df.format(new Date());

    (3)请问short s1=1;s1=s1+1,short s1=1;s1+=1有错误吗?怎么修改?

         答:short s1=1;s1=s1+1有错误,s1+1是int类型需要强制转换为short类型,改为s1=(short)s1+1;

               short s1=1;s1+=1;没有错误

    (4)String s=new String("xyz");创建了几个String Object对象?

         答:两个(一个是“xyz”,一个是指向“xyz”的引用对象s)

    (5)分别说明逻辑操作符:&,&&,和|,||的区别?

         答:&,&&,都是逻辑运算符,&表示与,左右2边表达式都要判定,&&表示短路与,如果左边不成立,那右边就不用判定,如果左边成立再进行右边判定

          |,||同上!

    (6)执行如下程序代码:

         a=0;c=0;

      do{

      --c;

      a-=1;

      }while(a>0);后c的值是()?

      答:-1

    (7)String s="will";

      String s1=s;

      s1="北京";

      s=()?

      答:will

    (8)  class person{
      String name;
      }
      person p=new person();
      p.name="will";
      person p1=p;
      p1.name="beijin";
      System.out.print(p.name);

      答:输出beijin

    (9)简述==和equals的区别?

      答:==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。

       equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。

    (10)简述set,list和map类的区别?

      答:List 可重复的有序的集合
        Set 不可重复的无序集合
        Map 映射集合,一个键对应一个值

    二.数据库基础知识

    Oracel数据库存在表person(id int,name char(20),sex char(2),score int),完成以下操作。

    1.将id=1,name=张三,sex=男,score=98记录插入表中。

          答: insert into person values(1,’张三‘,‘男’,‘98’) ;

    2.将id=1的记录删除。

      答:delete from person where id=1;

    3.将id=1的记录的id修改位12,name修改为“路人e甲”,score=90。

      答:update person set id=12,name=‘路人e甲’,score=90 where id=1;

    4.将id<100的记录查出来,结果按照name做降序排序。

      答:select * from person where id<100 order by name desc;

    5.查询表中前三名的成绩,不是前三人,而是如:2个99分,3个98分,4个97分。

      答:select * from (select score,count(score) from person group by score desc) where rownum<4; 

     一个表,名称TempTable包含N个字段,包含有如表格列中列出的内容:

    请用SQL语句统计:表中字段A的值相同,并且字段B的值也相同的记录的条数,并将统计结果按字段A的降序列出来,结果如下:

    字段A             字段B             条数

    1       1       2(字段A等于1,字段B也等于1,一共2条记录)

    1       2       1

    2       2       1

    3         3       2

    请写出完成以上功能的SQL语句:

    select c.* from (select a,b,count(a) 条数 from name where a=b group by a
            union
            select a,b,count(a) 条数 from name where a<>b group by a)

          c order by c.a;

    三.Xml知识

      Xml有哪些解析技术,它们有什么区别?

        DOM允许对文档进行随机访问.

        SAX需要较小的内存开销,并却通常更快。

           StAX被设计为这两者的一个折中。在StAX中,程序的切入点是表示XML文档中一个位置的光标。应用程序在需要时向前移动光标,从解析器拉出信息。与基于事件的        API(如    SAX)将“数据推送”给应用程序不同的是,SAX需要应用程序维持时间间的状态,以保持文档内的位置信息。

    四.ssh知识

    1.简述hibernate无主键时如何进行文件的配置。

        答:

        <hibernate-mapping>
          <class name="fox.math.kmust.NoId" table="noid" lazy="true">
            <!-- 这里是将表的所有属性作为联合主键 -->
            <composite-id>
              <key-property name="name"/>
              <key-property name="age"/>
            </composite-id>
          </class>
        </hibernate-mapping>

    2.什么是ioc,ioc的作用是什么?

    控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题。 控制反转还有一个名字叫做依赖注入(Dependency Injection)。简称DI。

    五.编程题

    1.自己编写代码将字符串String s="11.1,56.1,2.9,34.3,1.03,24.2"按照从小到大都排序的结果放入double[]d中。注:不要使用jdk自带的排序方法。

      答:

    package TestFor0327;
    
    public class DemoFor转换排序 {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            String s="11.1,56.1,2.9,34.3,1.03,24.2";
            String[]str=s.split(",");//按照“,”拆分放入String数组中
            double []d=new double[str.length];
            for(int i=0;i<str.length;i++){
                d[i]=Double.parseDouble(str[i]);
            }
            double temp;
            for(int i=0;i<d.length;i++){
                for(int j=i+1;j<d.length;j++){
                    if(d[i]>d[j]){
                        temp=d[i];
                        d[i]=d[j];
                        d[j]=temp;
                    }    
                }
            }
            for(int i=0;i<d.length;i++){
                System.out.print(d[i]+"  ");
            }
            
            
        }
    
    }

    2.请编写一个单例模式类;

      答:

      public class MyBean {
      private static MyBean instance = null;
      private MyBean(){
      //do something
      }
      public static synchronized MyBean getInstance(){
      if(instance == null){
      instance = new MyBean();
      }
      return instance;
      }
      }

    3.编写一个简单的socket客户端程序,向服务器端发送hello,服务器端地址为:192.251.1.1端口为7777.

       答:

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.net.Socket;
    import java.net.UnknownHostException;
    
    public class DemoForSocket通信 {
        
        public static void main(String[] args) {
            Socket socket=null;
            try {
                socket=new Socket("192.251.1.1",7777);
                BufferedReader bf=new BufferedReader(
                        new InputStreamReader(socket.getInputStream()));
                bf.readLine();
                bf.close();
            } catch (Exception e) {
                e.printStackTrace();
            }finally{
                try {
                    socket.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
    
        }
    
    }

      

     

    
    
  • 相关阅读:
    第十四周总结
    第十三周总结
    第十一周学习总结
    《软件需求》 阅读笔记
    第十周总结
    Echarts基础
    HTML中form表单text填写内容时的约束
    代码整洁之道 阅读笔记五
    pandas中的None和NaN
    pandas中的replace用法
  • 原文地址:https://www.cnblogs.com/DeepBlues/p/2983073.html
Copyright © 2020-2023  润新知