第一次的面试

1、面向对象的三大特性?

       封装、继承、多态

2、ArrayListlinkedListvector的区别?

      ArrayList Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要记录本项的前后项即可,所以插入数度较快!
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
 └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap

3、java反射机制的原理?

     Java 的反射机制是使其具有动态特性的非常关键的一种机制,也是在JavaBean 中广泛应用的一种特性

  Java的反射机制的实现要借助于4个类:class,Constructor,Field,Method;
    其中class代表的时类对象,
    Constructor-类的构造器对象,
    Field-类的属性对象,
    Method-类的方法对象。

4、对于Serizable序列化的理解和运用?

 理解: 为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存object states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。

 运用:什么情况下需要序列化
           a)当你想把的内存中的对象状态保存到一个文件中或者数据库中时候;
           b)当你想用套接字在网络上传送对象的时候;
           c)当你想通过RMI传输对象的时候;

5、单例模式的理解和运用

  1. 在软件工程中,单例是一种用于实现单例的数学概念,即将类的实例化限制成仅一个对象的设计模式。  
  2. 或者我的理解是: 单例是一种类,该类只能实例化一个对象。

简单的单例:

public class Test{
   private static final Test test = new Test();
   /*私有的默认构造子*/
   private Test() { }
   /* 静态工厂方法*/
   public static Test getTest() {
      return test;
   }
}

6、冒泡排序的例子?

 public static void maoPao(int []arr) {

   for(int i=0;i<arr.length-1;i++){

   for(int j=0;j<arr.length-1-i;j++){

    if(arr[j]>arr[j+1]){

                        int temp = arr[j];

                        arr[j] = arr[j+1];

                arr[j+1] = temp;

                    }

 }

  }

}

 今天去的面试还算是蛮好的,根本没有某些人所谓的严肃氛围,接待的美女也很友善,就是穿着短袖在公交上冷了,现在眼泪鼻涕忍不住,尴尬!

 

 

 

原文地址:https://www.cnblogs.com/lhh-njq-best/p/6675223.html