5道Java笔试题,错误率惊人(五道java笔试题)

作者头像
岁月静好
回答于 2023-07-09 17:10:54 阅读 672

你好,我是田哥

最近由于疫情影响,很多面试都直接省略了笔试环节,但凡能现场面试,五年工作经验以内,基本上都会先做笔试。笔试不一定会影响最终面试结果,但绝对影响你在面试官心中的印象分,从而可能会导致谈薪没底气。

下面来跟你分享5道笔试题:

题1

看下面这段代码,请说出最后输出什么?

public class Test { public static void main(String[] args) { int i; i=6; System.out.print(i); System.out.print(i++); System.out.print(i); } }

这个应该相对还是蛮简单的吧,但凡你犹豫了一秒,那就只能说明你的基础不牢靠。

题2

下面这段代码输出结果是什么?

public class Test { public static int testException(int i) throws Exception { try { return i / 5; } catch (Exception e) { throw new Exception("exception in a aMethod"); } finally { System.out.print("finally"); } } public static void main(String[] args) { try { testException(0); } catch (Exception e) { System.out.print("exception in main"); } System.out.print("finished"); } }

这也很简单哈

题3

下面来个选择题(多选题),当将选项( )的代码填到//todo delete处时,可以在Iterator遍历的过程中正确并安全地删除一个list中保存的对象。

/** * @author tianwc 公众号:java后端技术全栈 * @version 1.0.0 * @date 2022年12月06日 16:09 */ public class Test { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("田哥"); list.add("java面试辅导"); list.add("666"); System.out.println("删除前长度:" + list.size()); Iterator<String> it = list.iterator(); int index = 0; while (it.hasNext()) { String ss = it.next(); if (needDelete(ss))) { //todo delete } index++; } System.out.println("删除后长度:" + list.size()); } }

A.it.remove() ;

B.list.remove(index);

C.list.remove(obj) ;

D.list.delete(index);

这其实也不难,但是至少能过滤一半以上的人。

题4

继续看代码写出输出结果:

/** * @author tianwc 公众号:java后端技术全栈 * @version 1.0.0 * @date 2022年12月06日 16:09 */ public class Test { public static void main(String[] args) { class A{ public int i=3; } Object o=(Object)new Test(); Test a=(Test)o; System.out.println("i="+a.i); } }

这道题是个坑,一不小心就掉进去了。

题5

写出下面程序运行的结果:

/** * @author tianwc 公众号:java后端技术全栈 * @version 1.0.0 * @date 2022年12月06日 16:09 */ public class Test { public static void main(String[] args) { int i = 0; for (f('A'); f('B') && (i < 2); f('C')) { i++; f('D'); } } static boolean f(char c) { System.out.print(c); return true; } }

这道题基本上能过滤掉90%的面试者。

下面我们来公布答案,为了不让大家怀疑的给出答案是否正确,所以,采取截图的形式。

答案

题1的答案:

题2的答案:

题3的答案:

题4的答案:

题5的答案:

好了,五个题的答案已给出,你做对几个?

声明:图文来源于互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请联系网站客服,一经查实,本站将立刻删除。

最新推荐