java程序员面试题

2024-05-04 23:00

1. java程序员面试题

java异常机制的原理与应用
答:每当程序出现异常之后,如果程序没有进行相应的处理,则程序会出现中断现象。
实际上,产生了异常之后,JVM会抛出一个异常类的实例化对象,如果此时使用了try语句捕获的话,则可以进行异常的处理,否则,交给JVM进行处理。当try语句捕获异常之后,将与catch语句的异常类型进行匹配,如果匹配成功则执行catch内的语句。简单的应用:在所以throws语句的地方加入try-catch。标准应用:try-catch-finally-throw-throws一起使用。 
2. 垃圾回收机制的优点
答:释放无用的对象所占用的空间。方式:自动回收,手动回收。使用System.gc(),实际上调用Runtime.getRuntime().gc()
3. Error与Exception区别
答:Error是jvm进行处理,是jvm出错
exception是可以由程序处理的,可以用try-catch捕获的
4. final,finally,finallize
答:final定义的变量的值不能改变,定义的方法不能被覆盖,定义的类不能被继承
finally是异常的统一出口,finallize是垃圾回收前的收尾工作,是Object类定义的
5. Anonymous Inner Class是否可以extends,是否可以implements Interface
答:允许继承和实现,因为匿名内部类就是在抽象类和接口的基础上发展起来的
6. Static Nested Class 与Inner Class的区别
答:使用Static定义的Class就是外部类,可以通过外部类. 内部类直接访问
而Inner Class是不能被外部访问的,只能通过外部类的实例再找到内部类实例。
7. HashMap and HashTable?
答:HashMap:1) released in jdk 1.2,new Class 2)采用异步处理方式,性能较高,是非线程安全的 3)允许null
HashTable:1)released in jdk 1.0 ,old Class 2)采用同步处理方式,性能低,是线程安全的3)不允许null
8. assert代表什么?
答:asserts是jdk 1.4之后发布的新关键字,表示断言,即程序执行到某个地方肯定是预计的值,一般开发很少使用。要使用assert,必须加上 -ea参数
9. gc是什么?
答:gc是garbage collection,垃圾回收,使用gc可以进行垃圾空间的释放
10. String s = new String("xyz")产生了几个对象?
答:一个匿名对象xyz,在栈空间内。一个new实例化的对象,在堆空间内。
11. sleep() and wait()?
答:sleep()是Thread类定义方法,表示线程的休眠,可以自动唤醒
wait()方法是Object类定义的方法,需要手动notify()和notifyAll()//sleep()不释放资源,wait()释放资源
12. java中存在goto,但不能使用
13.数组有没有length(),String有没有length()?
答:数组有length属性,String有length()
14. Overload与Override的区别
答:Overload:重载
 |- 在一个类中定义的若干方法
 |- 所有的方法名相同,但参数类型或个数不同
 |- 只有参数有关,与返回类型无关
Override:覆写
 |- 在继承的关系中
 |- 子类定义了父类同名的方法,参数类型或个数最好完全一样。
 |- 访问权限不能更严格
15. Set里的元素不能重复,用什么方法区分?==与equals()方法的区别
答:set里的元素是不能重复的,用iterator()方法来区分重复与否,==属于地址比较,
    ==用于比较引用和比较基本数据类型时具有不同的功能:
    比较基本数据类型,如果两个值相同,则结果为true 
    而在比较引用时,如果引用指向内存中的同一对象,结果为true 
16. 列出常见的 runtime exception
答:NumberFormatException/ArrayOutIndexofBoundException/NullPointerException/ClassCastException
17. abstract class 和 interface有什么区别?
答:抽象类:
 |-由抽象方法和常量、变量、全局常量、构造方法、普通方法组成
 |-使用abstract声明
 |-子类要通过extends继承抽象类,子类如果不是抽象类,则必须覆写抽象类的全部抽象方法
 |-存在单继承的局限
 |-抽象类可以实现若干个接口
接口:
 |-由抽象方法和全局常量组成
 |-使用interface关键字
 |-子类要通过implements实现接口,子类如果不是抽象类,则必须覆写抽象类的全部抽象方法
 |-一个子类可以实现多个接口
 |-接口不能继承一个抽象类,但允许继承多个接口
18. 启动一个线程要用start(),因为要通知jvm进行cpu资源的分配
19. try{}里面有一个return,问finally{}里面的代码是否执行,在什么时机执行?
答:finally{}里面的代码执行,在return之前。
20. 写一个singleton
答:singleton的核心就是构造方法私有化,Class,Runtime都采用单例
package com.leongod.demo;
public class Singleton(){
 private static final sin = new Singleton();
 private Singleton(){}
 public static Singleton getInstance(){
 return sin;
}
}
21. 程序设计:输入一组数字,然后排序输出
答:package com.leongod.demo;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
public class IO {
public static void main(String[] args) throws Exception {
 BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
 System.out.println("请输入一组数字,中间用空格分割:");
 String str = buf.readLine();
 Set set = new TreeSet();
 String[] arr = str.split(" ");

 for(String s : arr) {
 if (s.matches("\\d+")) {
 set.add(Integer.parseInt(s));
 }
 }

 Iterator it = set.iterator();
 System.out.println("排序后的结果:");
 while (it.hasNext()) {
 System.out.print(it.next() + ",");
 }
}
}
22.列出目录内的文件
package com.leongod.demo;
import java.io.File;
import com.sun.org.apache.xpath.internal.functions.FuncBoolean;
public class FileDemo {
public static void main(String[] args) {
?? File file = new File("D:" + File.separator + "kongkong");
?? fun(file);
}

public static void fun(File file) {
 if (file.isDirectory()) {
 File[] lf = file.listFiles();
 if (lf != null) {
 for(File f : lf) {
 fun(f);
 }
 }
 }else {
 System.out.println(file.toString());
 }
}
}
23. char可以存一个中文汉字吗?
答:可以,使用了unicode编码
24.多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
答:两种多线程方法,继承Thread类,实现Runnable接口
 |-Thread类是Runnable接口的子类
 |-使用Runnable接口可以实现资源共享的目的
 |-所有线程操作都必须通过Thread类的start()方法启动
两种实现同步的方法:
 |-同步代码块:Synchronized(this)
 |-同步方法
25.f=3.4是不对的,3.4默认是double类型的
26.String and StringBuffer?
答:String 不可以修改,StringBuffer可以修改
27.Class.forname向容器中加载驱动程序
28.int与Integer有什么区别?
答:int是基本数据类型,Integer是包装类
在jdk1.5以后,可以实现自动装箱和拆箱
29.2*8有效的方法是移位操作:2<<3
30.请说出类集框架的完整结构
答:类级框架的最大接口:Collection、Map、Iterator、Enumeration
Collection:存放单值
 |-List:允许有重复内容
 |-ArrayList:异步处理,新的操作类,非线程安全
 |-Vector:同步处理,旧的操作类,线程安全,支持Enumeration
 |-Set:不允许有重复的内容,依靠hashCode()和equals()进行重复的验证
 |-HashSet:无序存放
 |-TreeSet:有序存放,按Comparable排序
 |-Map:存放一对值
 |-HashMap:新的类,异步处理,非线程安全,允许有null
 |-HashTable:旧的类,同步处理,线程安全,不允许有null
 |-TreeMap:有序排列,按key配需
 |-Iterator:迭代输出,依靠collection接口中的iterator方法输出,是新的输出标准
31.是否可以继承String类?答:不可以,因为使用了final关键字 

小弟,没分啊

java程序员面试题

2. 该怎么面试java程序员

女生Java开发水平怎么样?面试了这个女程序员,水平超过90%同龄男程序员!

3. 面试JAVA程序员最基本的面试题有哪些?

java异常机制的原理与应用
答:每当程序出现异常之后,如果程序没有进行相应的处理,则程序会出现中断现象。
实际上,产生了异常之后,JVM会抛出一个异常类的实例化对象,如果此时使用了try语句捕获的话,则可以进行异常的处理,否则,交给JVM进行处理。当try语句捕获异常之后,将与catch语句的异常类型进行匹配,如果匹配成功则执行catch内的语句。简单的应用:在所以throws语句的地方加入try-catch。标准应用:try-catch-finally-throw-throws一起使用。 
2. 垃圾回收机制的优点
答:释放无用的对象所占用的空间。方式:自动回收,手动回收。使用System.gc(),实际上调用Runtime.getRuntime().gc()
3. Error与Exception区别
答:Error是jvm进行处理,是jvm出错
exception是可以由程序处理的,可以用try-catch捕获的
4. final,finally,finallize
答:final定义的变量的值不能改变,定义的方法不能被覆盖,定义的类不能被继承
finally是异常的统一出口,finallize是垃圾回收前的收尾工作,是Object类定义的
5. Anonymous Inner Class是否可以extends,是否可以implements Interface
答:允许继承和实现,因为匿名内部类就是在抽象类和接口的基础上发展起来的
6. Static Nested Class 与Inner Class的区别
答:使用Static定义的Class就是外部类,可以通过外部类. 内部类直接访问
而Inner Class是不能被外部访问的,只能通过外部类的实例再找到内部类实例。
7. HashMap and HashTable?
答:HashMap:1) released in jdk 1.2,new Class 2)采用异步处理方式,性能较高,是非线程安全的 3)允许null
HashTable:1)released in jdk 1.0 ,old Class 2)采用同步处理方式,性能低,是线程安全的3)不允许null
8. assert代表什么?
答:asserts是jdk 1.4之后发布的新关键字,表示断言,即程序执行到某个地方肯定是预计的值,一般开发很少使用。要使用assert,必须加上 -ea参数
9. gc是什么?
答:gc是garbage collection,垃圾回收,使用gc可以进行垃圾空间的释放
10. String s = new String("xyz")产生了几个对象?
答:一个匿名对象xyz,在栈空间内。一个new实例化的对象,在堆空间内。
11. sleep() and wait()?
答:sleep()是Thread类定义方法,表示线程的休眠,可以自动唤醒
wait()方法是Object类定义的方法,需要手动notify()和notifyAll()//sleep()不释放资源,wait()释放资源
12. java中存在goto,但不能使用
13.数组有没有length(),String有没有length()?
答:数组有length属性,String有length()
14. Overload与Override的区别
答:Overload:重载
 |- 在一个类中定义的若干方法
 |- 所有的方法名相同,但参数类型或个数不同
 |- 只有参数有关,与返回类型无关
Override:覆写
 |- 在继承的关系中
 |- 子类定义了父类同名的方法,参数类型或个数最好完全一样。
 |- 访问权限不能更严格
15. Set里的元素不能重复,用什么方法区分?==与equals()方法的区别
答:set里的元素是不能重复的,用iterator()方法来区分重复与否,==属于地址比较,
    ==用于比较引用和比较基本数据类型时具有不同的功能:
    比较基本数据类型,如果两个值相同,则结果为true 
    而在比较引用时,如果引用指向内存中的同一对象,结果为true 
16. 列出常见的 runtime exception
答:NumberFormatException/ArrayOutIndexofBoundException/NullPointerException/ClassCastException
17. abstract class 和 interface有什么区别?
答:抽象类:
 |-由抽象方法和常量、变量、全局常量、构造方法、普通方法组成
 |-使用abstract声明
 |-子类要通过extends继承抽象类,子类如果不是抽象类,则必须覆写抽象类的全部抽象方法
 |-存在单继承的局限
 |-抽象类可以实现若干个接口
接口:
 |-由抽象方法和全局常量组成
 |-使用interface关键字
 |-子类要通过implements实现接口,子类如果不是抽象类,则必须覆写抽象类的全部抽象方法
 |-一个子类可以实现多个接口
 |-接口不能继承一个抽象类,但允许继承多个接口
18. 启动一个线程要用start(),因为要通知jvm进行cpu资源的分配
19. try{}里面有一个return,问finally{}里面的代码是否执行,在什么时机执行?
答:finally{}里面的代码执行,在return之前。
20. 写一个singleton
答:singleton的核心就是构造方法私有化,Class,Runtime都采用单例
package com.leongod.demo;
public class Singleton(){
 private static final sin = new Singleton();
 private Singleton(){}
 public static Singleton getInstance(){
 return sin;
}
}
21. 程序设计:输入一组数字,然后排序输出
答:package com.leongod.demo;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
public class IO {
public static void main(String[] args) throws Exception {
 BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
 System.out.println("请输入一组数字,中间用空格分割:");
 String str = buf.readLine();
 Set set = new TreeSet();
 String[] arr = str.split(" ");

 for(String s : arr) {
 if (s.matches("\\d+")) {
 set.add(Integer.parseInt(s));
 }
 }

 Iterator it = set.iterator();
 System.out.println("排序后的结果:");
 while (it.hasNext()) {
 System.out.print(it.next() + ",");
 }
}
}
22.列出目录内的文件
package com.leongod.demo;
import java.io.File;
import com.sun.org.apache.xpath.internal.functions.FuncBoolean;
public class FileDemo {
public static void main(String[] args) {
?? File file = new File("D:" + File.separator + "kongkong");
?? fun(file);
}

public static void fun(File file) {
 if (file.isDirectory()) {
 File[] lf = file.listFiles();
 if (lf != null) {
 for(File f : lf) {
 fun(f);
 }
 }
 }else {
 System.out.println(file.toString());
 }
}
}
23. char可以存一个中文汉字吗?
答:可以,使用了unicode编码
24.多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
答:两种多线程方法,继承Thread类,实现Runnable接口
 |-Thread类是Runnable接口的子类
 |-使用Runnable接口可以实现资源共享的目的
 |-所有线程操作都必须通过Thread类的start()方法启动
两种实现同步的方法:
 |-同步代码块:Synchronized(this)
 |-同步方法
25.f=3.4是不对的,3.4默认是double类型的
26.String and StringBuffer?
答:String 不可以修改,StringBuffer可以修改
27.Class.forname向容器中加载驱动程序
28.int与Integer有什么区别?
答:int是基本数据类型,Integer是包装类
在jdk1.5以后,可以实现自动装箱和拆箱
29.2*8有效的方法是移位操作:2<<3
30.请说出类集框架的完整结构
答:类级框架的最大接口:Collection、Map、Iterator、Enumeration
Collection:存放单值
 |-List:允许有重复内容
 |-ArrayList:异步处理,新的操作类,非线程安全
 |-Vector:同步处理,旧的操作类,线程安全,支持Enumeration
 |-Set:不允许有重复的内容,依靠hashCode()和equals()进行重复的验证
 |-HashSet:无序存放
 |-TreeSet:有序存放,按Comparable排序
 |-Map:存放一对值
 |-HashMap:新的类,异步处理,非线程安全,允许有null
 |-HashTable:旧的类,同步处理,线程安全,不允许有null
 |-TreeMap:有序排列,按key配需
 |-Iterator:迭代输出,依靠collection接口中的iterator方法输出,是新的输出标准
31.是否可以继承String类?答:不可以,因为使用了final关键字

面试JAVA程序员最基本的面试题有哪些?

4. JAVA程序员在面试的时候基本上会问些什么问题呢?

我编写了一套Java面试宝典完全免费、帮助更多程序员面试拿到高薪

5. 程序员java面试基础是什么?


程序员java面试基础是什么?

6. java面试难吗?

对于刚毕业即将出道的java程序员来说,面试有一定的难度。
但是要入这行不是么。
其实面试不要紧张,难点有很多。但是如果作为一个初级的程序员来讲 问的题也脱离不了java面试宝典里的。
问的问题 无非是 java基础  SSH框架 MVC 整合 等等一系列问题。多背背。
作为一个5年的老程序员并招聘过的人来讲。 
面试重要的是态度,只要你进这行 就有一定的发展空间, 北京初级3K起 ,刚入行 记得要有个态度,充分表现你的学习能力,工作态度。
工资在刚开始的时候不重要,要的是经验 等你有了工作经验 才是工资。

7. java程序员新手一般面试什么问题 知乎

跟你遇到的面试官有很大的关系。
下面我总结了几种一般会被问到的问题:

1、简单描述一下Log4J?
2、简单描述JavaBean的特点?

3、Hibernate在MVC模式中处于哪里?且它主要完成什么工作?
4、列举Hibernate中常见的几种主键产生方法,并做简要说明?
5、简单说说HQL与SQL的异同,试着写个例子?
6、Hibernate 运行时需要获取一些底层实现的基本信息,其中几个关键属性包括哪些?
7、利用Hibernate操作数据库,主要有哪几个步骤?
8、Hibernate中调用Session.flush()的目的是什么,什么时候调用,什么时候不用调用?
9、简单描述SessionFactory 与Sesson;
10、描述一下Hibernate,MySQL,Oracle 分别用什么方法来实现查询制定条记录
    如{从检索结果中获取第x条记录开始的y条记录}(简单分页)?
11、Hibernate对数据库进行增、删,改,查所对应的方法是?
12、简单描述Hibernate持久化对象的3种状态?

java程序员新手一般面试什么问题 知乎

8. java程序员面试技巧有哪些

1、最主要的就是简历,你的简历一定要全面,做过的项目,项目中运用过哪些技术。都要写出来,方便面试官了解你
2、面试前多看看java的面试基础题,有些面试官会问一些基础。
3、面试时不要慌,要有自信。
4、其次就时着装了,尽量穿的不要太过休闲
最新文章
热门文章
推荐阅读