1. 前言
前几天,济南的一家公司来我们学校进行校招。工作室的创始人在那家公司混的还不错,本来人家公司并没有把我们学校作为被招聘的学校,是我们工作室的创始人极力推荐才来我们学校进行招聘,但是我们学校不重视,导致没有几个人参加招聘会,去的基本上都是大三的,有老师的原因也有我们的原因。估计人家明年可能也不会来了,下面说下面试中我出现的问题(由于只参加了笔试,所以只说笔试)
2. 笔试题
一:接口和抽象类的区别?
抽象类
1>用abstract关键字来修饰一个类时,这个类叫做抽象类;用abstract来修饰一个方法时,该方法叫做抽象方法。
2>含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。
3>抽象类不能被实例化。
4>抽象方法只需声明,不需要实现。
接口
1>接口是抽象方法和常量值的定义的集合
2>从本质上讲,接口是一种特殊的抽象类(可以不用写abstract),这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。
3>接口的特性
1)接口可以多重实现
2)接口中声明的属性默认为public static final的,也只能是public static final的;
3)接口中只能定义抽象方法,而且这些方法默认为public的,也只能是public的
4)接口中可以继承其他接口,并添加新的属性和抽象方法
4>接口(解释)
1)多个无关的类可以实现同一个接口。
2)一个类可以实现多个无关的接口。
3)与继承关系类似,接口与实现类之间存在多态性
区别
1)接口中不能有方法的实现和变量的声明,抽象类中可以
2)接口中的方法缺省方法的属性public abstract,抽象类不能缺省
3)接口支持多重继承,抽象类支持单一继承
二:Java中支持的数据类型有哪些?什么是自动拆装箱?
1、Java中有八种基本数据类型以及引用类型
1字节:byte
2字节:short,char
4字节:int,float
8字节:long,double
不确定:boolean
引用数据类型:数组,集合,类,接口等
2、自动装箱/自动拆箱
基本数据类型可以和其对应包装类之间的自动转换
三:请详述 ArrayList 和 LinkedList 的区别?
1>容器的概念
大量的同类引用对象放在统一数据容器中。
2>容器API
1)jdk所提供的容器API位于java.util包内
2)JAVA的容器---List,Map,Set?(Array读快改慢,Linked改快读慢,Hash两者之间)
Collection?代表一个容器collection集合,定义了存储一组对象的方法,其子接口List和Set分别定义了存储方式
├List?有顺序且可以重复(两个对象之间只要互相equals就算重复)
│├LinkedList?
│├ArrayList?
│└Vector?
│ └Stack?
└Set?没有顺序且不可以重复
Map?成对装东西,定义存储键值对的方法
├Hashtable?
├HashMap?
└WeakHashMap
2>区别
1)ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构
2)读取数据,ArrayList优于LinkedList,因为LinkedList要移动指针
3)对于新增和删除操作,LinedList比较占优势,因为ArrayList要移动数据。
3. 总结
lz现在大三,意识到了差距,亡羊补牢,为时不晚。接下来就,查漏补缺。下一阶段的目标:和同学一起做个项目,补一下基础,实践是检验真理的唯一标准!
原文地址:http://blog.51cto.com/13416247/2285569