记录个面试经历,关于java内存区域,感觉被玩了一遍,怀疑人生

来源:互联网 发布:java排序函数使用 编辑:程序博客网 时间:2024/04/28 10:12

今天偶然得到一个面试java高级工程师(本人目前刚大四,出来实习两个月了)的机会,则想着去经历经历,总有一些收获。

笔试题还算简单,都没什么难度,后面进入面试阶段。


面试官用简单的String,StringBuffer开了个头;之后的一连串的疑问,直接把我弄晕了,导致后面很多懂的知识点,都没回答上来,对自己所掌握的知识产生疑问。

面试官: 我们来讨论下java内存区域吧;

我: java内存区域? 是java虚拟机运行时数据区域吗

面试官没回答我。

面试官 问:程序运行时,String对象存放在哪个区域;

答:通过new 的对象存放在堆空间, 直接用" "的存放在常量池;

面试官:????常量池?什么常量池 ,紧接着继续追问:什么是堆空间???, 通过new String对象放在堆内存,你确定?     ps: ????难道我回答错了 ,还有,这里我 想了一下,堆空间不就是堆内存吗,(因为我一直喜欢说‘堆空间’)

我: 确定吧?

面试官: 你确定??  那好, new 对象存在堆内存;

我:    ???我记得是放在堆空间,没错才对阿;


后面回答到,局部变量,方法返回值那些,放在线程栈;静态变量,常量放在方法区;

面试官:   线程栈????什么线程栈??   ps:他表现出一种,他不知道什么叫线程栈的样子,不知道是不是装的;   所以我就质疑自己了,难道不叫线程栈,我记得也叫虚拟 机栈+本地方法栈来的,难道他不知道吗?

我:  所以我又想着,难道我回答错了?,毕竟他是高级工程师,我才实习两个月,所以没有什么想法去质疑他
面试官(表现出): ???方法区? 什么方法区?

面试官追问:  什么是方法区?

我:   这是,我已经彻底混乱了,直接说出,服务一些本地方法的地方,c语言的方法 (这里是我答错了,因为之前心里活动想到本地方法区,所以被自己弄混了)

面试官:   ???怎么又跑出个c语言来了。


后面:感觉自己前面已经回答崩塌了,这面试没法继续了,所以后面就迷迷糊糊随便应付了他的问题。

结果可想而已,面试失败!。

总结:  回到家,第一反应就是,没想到自己懂的这么少,这一个月内要把java基础啃得更透一些。

             但是: 洗澡的时候回顾一下,发现,我刚开始回答得没问题阿,怎么感觉回答全错的一样;

 反省:  巩固基础的同时, 以后面试,不要轻易质疑自己所学知识!!!!!

原创粉丝点击