你好,我是田哥
最近由于疫情影响,很多面试都直接省略了笔试环节,但凡能现场面试,五年工作经验以内,基本上都会先做笔试。笔试不一定会影响最终面试结果,但绝对影响你在面试官心中的印象分,从而可能会导致谈薪没底气。
下面来跟你分享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的答案:
好了,五个题的答案已给出,你做对几个?
看看大家都做对了多少。
是不是觉得贼坑?
记住:不要小看任何一个笔试题,基本上都是公司精挑细选为你准备的。
关于上述笔试答案详情,我们下期再聊。
最后,给你推荐一个刷java面试题的神器(已录入1000多题):
网站:www.woaijava.cc