📄 java陷阱一箩筐----面试题集[zt].txt
字号:
quote:
--------------------------------------------------------------------------------
第七,什么时候用assert。
API级的技术人员有可能会问这个。
--------------------------------------------------------------------------------
什么时候都可以啊。assert一般只是作为一个constraint的判断。不过只有1.4之后才有,而且编译的时候必须打开一个flag。
quote:
--------------------------------------------------------------------------------
第八,GC是什么? 为什么要有GC?
基础。
--------------------------------------------------------------------------------
垃圾回收,不用自己做destructor。不过有时候觉得C++的这个东西还是挺方便的。就是一不小心就容易出错。
quote:
--------------------------------------------------------------------------------
第九,String s = new String("xyz");创建了几个String Object?
--------------------------------------------------------------------------------
比较无聊。可能是两个吧。
quote:
--------------------------------------------------------------------------------
第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
--------------------------------------------------------------------------------
12.0, -11.0
quote:
--------------------------------------------------------------------------------
第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
面试题都是很变态的,要做好受虐的准备。
--------------------------------------------------------------------------------
不知道
quote:
--------------------------------------------------------------------------------
第十二,sleep() 和 wait() 有什么区别?
搞线程的最爱。
--------------------------------------------------------------------------------
一个是停止一段时间,另外一个是等待条件。wait()必须有相应的notify()或者notifyAll()
quote:
--------------------------------------------------------------------------------
第十三,Java有没有goto?
很十三的问题,如果哪个面试的问到这个问题,我劝你还是别进这家公司。
--------------------------------------------------------------------------------
是保留字,但是没有实现。
quote:
--------------------------------------------------------------------------------
第十四,数组有没有length()这个方法? String有没有length()这个方法?
--------------------------------------------------------------------------------
array没有,string有。
quote:
--------------------------------------------------------------------------------
第十五,Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
常问。
--------------------------------------------------------------------------------
overload不能改变方法的signature。这个是继承的东西。override是同一个类的。
quote:
--------------------------------------------------------------------------------
第十六,Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
--------------------------------------------------------------------------------
equals()
quote:
--------------------------------------------------------------------------------
第十七,给我一个你最常见到的runtime exception。
如果你这个答不出来,面试的人会认为你没有实际编程经验。
--------------------------------------------------------------------------------
NullPointerException
quote:
--------------------------------------------------------------------------------
第十八,error和exception有什么区别?
--------------------------------------------------------------------------------
Error是JVM的错误信息。Exception是程序的。
quote:
--------------------------------------------------------------------------------
第十九,List, Set, Map是否继承自Collection接口?
--------------------------------------------------------------------------------
记不住了。
quote:
--------------------------------------------------------------------------------
第二十,abstract class和interface有什么区别?
常问。
--------------------------------------------------------------------------------
这个。。。很多很多。
quote:
--------------------------------------------------------------------------------
第二十一,abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
--------------------------------------------------------------------------------
synchronized不是限制词,所以随便什么都可以。abstract只能在继承中实现,所以需要this指针,因此必须不是static的。是不是native咱没试过。
quote:
--------------------------------------------------------------------------------
第二十二,接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
--------------------------------------------------------------------------------
应该都可以吧?
quote:
--------------------------------------------------------------------------------
第二十三,启动一个线程是用run()还是start()?
--------------------------------------------------------------------------------
应该是start()。不过你也可以调用run()
quote:
--------------------------------------------------------------------------------
第二十四,构造器Constructor是否可被override?
--------------------------------------------------------------------------------
可以
quote:
--------------------------------------------------------------------------------
第二十五,是否可以继承String类?
--------------------------------------------------------------------------------
不可以。String是final class
quote:
--------------------------------------------------------------------------------
第二十六,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
--------------------------------------------------------------------------------
可以,如果不是对同样的monitor synchronized的话。
quote:
--------------------------------------------------------------------------------
第二十七,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
--------------------------------------------------------------------------------
会,先于return
quote:
--------------------------------------------------------------------------------
第二十八,编程题: 用最有效率的方法算出2乘以8等於几?
有C背景的程序员特别喜欢问这种问题。
--------------------------------------------------------------------------------
bit shift。不过比较变态。
quote:
--------------------------------------------------------------------------------
第二十九,两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
--------------------------------------------------------------------------------
完全可能
quote:
--------------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -