第1页共46页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共46页各公司面试题华为的JAVA面试题(后记:没有想到华为的面试题就是非同一般,很多题不是一眼就能够看得出来,至少对我这种鸟来说是这样。对我个人来说,看看这样的题,可能比看《ThinkInJava》都还要好,因为这里面有很多的东西,都是我们平时没有太在意,或者是只是懂一点皮毛而已,通过做一下这样的练习,把自己不知道、不熟悉的知识点,利用这个机会好好的巩固一下。这些答案是我自己做的,有一些是从网上来的,有一部是自己做的,并且还有一部份没有做完,我不敢保证都对,所以请你在引用的时候,务必通过自己核对一下。当然,我既然能够把这些答案放在这里,那说明我肯定是自己检验了一遍的,也不是那么恐怖的)QUESTIONNO:1PublicclassTest1{PublicstaticvoidchangeStr(Stringstr){str="welcome";}Publicstaticvoidmain(String[]args){Stringstr="1234";changeStr(str);System.out.println(str);}}//输出结果:1234//这里虽然是一个静态方法,但是里面的变量是一个局部变量,//所以这里不因为是静态方法,就误认为里面的变量也是静态变量了QUESTIONNO:2PublicclassTest2{Staticbooleanfoo(charc){System.out.print(c);Returntrue;}Publicstaticvoidmain(String[]argv){inti=0;//for(65;88&&(i<2);67)for(foo('A');foo('B')&&(i<2);foo('C')){i++;foo('D');}第2页共46页第1页共46页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共46页}}/*Whatistheresult?A.ABDCBDCBB.ABCDABCDC.Compilationfails.D.Anexceptionisthrownatruntime.//输出结果是:ABDCBDCB分析:FOR循环里面讲究的条件要为真,与你的判断式是什么没有关系就像这里,虽然是打印的字母,但是却不是false,所以可以执行第一次进行循环:foo('A')打印字母A,(注:这里不是false条件就默认为true条件)foo('B')打印字母B,i=0,比较(i<2),条件为true,进行循环体,foo('D')打印Dfoo('C')打印字母C第二次循环:foo('B')打印B,i=1,比较(i<2)为true,进行循环体,foo('D')打印Dfoo('C')打印字母C第三次循环:foo('B')打印字母B,i=2,比较(i<2)为false,退出循环,得结果*/QUESTIONNO:31.classA{2.protectedintmethod1(inta,intb){return0;}3.}WhichtwoarevalidinaclassthatextendsclassA?(Choosetwo)A.publicintmethod1(inta,intb){return0;}B.privateintmethod1(inta,intb){return0;}C.privateintmethod1(inta,longb){return0;}D.publicshortmethod1(inta,intb){return0;}E.staticprotectedintmethod1(inta,intb){return0;}publicclassBextendsA{/***@paramargs*///cannotreducethevisibilityoftheinheritedmethodfromA第3页共46页第2页共46页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第3页共46页//即不能够使从类A中继续来的方法的可见性降低//privateintmethod1(inta,intb){return0;}//ThisstaticmethodcannothidetheinstancemethodfromA//静态方法不能够隐藏继承于A的实例//staticprotectedintmethod1(inta,intb){return0;}//返回类型与A中的该方法不一致//publicshortmethod1(inta,intb){return0;}/***总结:类的继承中,如果要想重载父类的方法,必须要和父类中的返回类型、可见性等等都要操作一致*否则,程序就会报错。一定遵守子类要遵从于父类的原则*而我选择的答案居然是privateintmethod1和staticprotectedint*我选择第一个的错误理由是:因为原来为保护的,如果我这里设为public,那么就扩展了其原来的可见性*本来原来就是对包外不可见的,现在变成对包外可见的了,所以就选择的是private*选择第二个的错误理由是:都是保护的,这里只是变成了静态的而已*///这里是写了一个重载方法,因为参数类型不一致,不会报错Privateintmethod1(inta,longb){return0;}//可见性可以增大,但是不能够缩小,正确Publicintmethod1(inta,intb){return0;}Publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub}}QUESTIONNO:41.publicclassOuter{2.publicvoidsomeOuterMethod...