每到毕业季的时候,各个行业的应届生就会找对口的工作,而面对java应届生,肯定需要在面试之前做好充分的准备,这样才能顺利通过面试,那java应届生面试一般问哪些问题?下面来我们就来给大家讲解一下。
1.能否创建一个包含可变对象的不可变对象?
当然可以创建一个包含可变对象的不可变对象的,你只需要谨慎一点,不要共享可变对象的引用就可以了,如果需要变化时,就返回原对象的一个拷贝。最常见的例子就是对象中包含一个日期对象的引用.
2.switch能否作用在byte,long上?
可以用在byte上,但是不能用在long上.
3.你对String对象的intern()熟悉么?
intern()方法会首先从常量池中查找是否存在该常量值,如果常量池中不存在则现在常量池中创建,如果已经存在则直接返回.
比如
String s1=”aa”;
String s2=s1.intern();
System.out.print(s1==s2);//返回true
4.可以在hashcode中使用随机数字吗?
不行,因为同一对象的 hashcode 值必须是相同的
5. final,finalize和finally的不同之处是什么?
final 是一个修饰符,可以修饰变量、方法和类。如果 final 修饰变量,意味着该变量的值在初始化后不能被改变。finalize 方法是在对象被回收之前调用的方法,给对象自己最后一个复活的机会,但是什么时候调用 finalize 没有保证。finally 是一个关键字,与 try 和 catch 一起用于异常的处理。finally 块一定会被执行,无论在 try 块中是否有发生异常。
6.64位的JVM当中,int的长度是多少?
Java 中,int 类型变量的长度是一个固定值,与平台无关,都是 32 位。意思就是说,在 32 位 和 64 位 的Java 虚拟机中,int 类型的长度是相同的。
7.什么是编译器常量?使用它有什么风险?
公共静态不可变(public static final )变量也就是我们所说的编译期常量,这里的 public 可选的。实际上这些变量在编译时会被替换掉,因为编译器知道这些变量的值,并且知道这些变量在运行时不能改变。这种方式存在的一个问题是你使用了一个内部的或第三方库中的公有编译时常量,但是这个值后面被其他人改变了,但是你的客户端仍然在使用老的值,甚至你已经部署了一个新的jar。为了避免这种情况,当你在更新依赖 JAR 文件时,确保重新编译你的程序。
8.如何将byte转为String?
可以使用 String 接收 byte[] 参数的构造器来进行转换,需要注意的点是要使用的正确的编码,否则会使用平台默认编码,这个编码可能跟原来的编码相同,也可能不同。
这些就是java应届生会问到的面试题,java应届生在面试的时候不需要紧张,因为一般都是基础性问题,不会太难的,只要在面试之前做好准备就可以了!最后大家如果想要了解更多Java面试题知识,敬请关注奇Q工具网。
推荐阅读: