winfwu

导航

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();
            }
        }

    }

}

 

  

 

 

 

 

 

 

 

 

 

 

 

 


posted on 2013-03-26 18:12  winfwu  阅读(232)  评论(0编辑  收藏  举报