《Java程序员面试宝典》中提到的i++问题在现在的面试中还经常被问到么?

「已注销」 「已注销」 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
开一贴,说三个话题:

1. 楼主最近在为找工作做准备,如果有某公司人力资源在csdn潜水看到在下,宁愿收走的。请私信给我,或者直接去看我的简历。http://blog.csdn.net/zhang5476499/article/details/52768251,工作地点意愿:北京。这第一个话题是找工作问题,有内推的朋友么?有HR在这里么?

2.之前看到网友说《Java程序员面试宝典》这本书不错,去年我就是在学校图书馆借阅这本书,凭借运气+准备+实力在校招获得offer的。后来看到网友说这本书有很多诟病。http://bbs.csdn.net/topics/290025400被论坛的大神吐槽。去年看了这本书的第一版,由于还没有到达大神的境界,所以很多东西半懂不懂就面试去了。今年还是买这本书的第四版本,前言就说了:内容主要取材于2013年至2015年多家公司的面试题。可是翻开里面的题目,发现很多东西和第一版的没有什么变化,题目也有还是2005年的题目。我就觉得纳闷了,怎么第一版到第四版几乎没有改动了,都10年前的题目了,技术都已经变化了。Struts 1.x都被Struts 2淘汰,然后又被Spring mvc淘汰了。这说的2013年到2015年的内容,这内容是可靠的么?第二个话题是:有没有大神看过这本书的最新版,第四版。有什么评价,值不值得一读?

3.我们回答i++这个话题上面来,先来讨论讨论技术本身。自信的你,请不用编译器算出,自己算出下面几道题目的答案。
题目一:下列程序输出结果是多少?

public class Test1 {
static {
int x= 5;
}
static int x, y;
public static void main(String[] args) {
x--;
myMethod();
System.out.println(x + y++ + x);
}

public static void myMethod() {
y = x++ + ++x;
}
}

题目二:
Given the following class:(给定下面的类)

public class Test1 {
public static void main(String[] args) {
int i = 0;
//Here
}
}
哪个选项替换掉类中的//Here不会输出结果为0?
A. System.out.println(i++);
B. System.out.println(i);
C. System.out.println(i+'0');
D. System.out.println(i--);

题目三:
下了重新的输出结果是:

public class Test1 {
public static void main(String[] args) {
int j = 0;
for(int i = 0; i < 100; i++) {
j = j++;
}
System.out.println(j);
}
}

题目四:
假如"int a = 5, b = 3;"则执行

if( !(a==b) && (a==1+b++) ){
}

后a和b的值分别是
题目五:以下代码执行结果是多少?

public class Test1 {

public static void main(String[] args) {
int i = 0;
i = i++ + ++i;
int j = 0;
j = ++j + j++ + j++ + j++;
int k = 0;
k = k++ + k++ + k++ + ++k;
int h = 0;
h = ++h + ++h;
int p1 = 0, p2 = 0;
int q1 = 0, q2 = 0;
q1 = ++p1;
q2 = p2++;

System.out.println(i);
System.out.println(j);
System.out.println(k);
System.out.println(h);
System.out.println(p1);
System.out.println(p2);
System.out.println(q1);
System.out.println(q2);
}

}

别着急,慢慢算,五道题,一道题20分,看看自己能够拿多少分。楼主发现自己才作对一道题。

4.楼主今年刚毕业,有半年的工作经验就跳槽。这卑微的自尊心一下子被这几个题目镇住了。当然这几个题目在去年的第一版本也是看过了。不过今年再看i++问题,我还是不能一眼(花了半个小时)就选出正确的答案。但是书上说:无论是C++还是Java,对i++类的面试问题总是很多。我记得我去年的面试过程中,问到i++问题很少。尤其是这句代码:
k = k++ + k++ + k++ + ++k;

我怀念在公司的代码规范中,用sonar扫描是不是报严重的错误?都说i++问题是谭浩强遗c语言遗留下来的产物。试问下,现在研究i++问题还有必要么?尤其是对于一个java coder来说。还是我的技术深度不够?
...全文

相关推荐

评论 20
收藏 已收藏
分享
返回顶部
「已注销」
「已注销」 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
Java SE 62,620 成员 307,251 内容