预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9
在线预览结束,喜欢就下载吧,查找使用更方便
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第PAGE\*Arabic\*MERGEFORMAT9页共NUMPAGES\*Arabic\*MERGEFORMAT9页第PAGE\*MERGEFORMAT9页共NUMPAGES\*MERGEFORMAT9页第PAGE\*MERGEFORMAT9页共NUMPAGES\*MERGEFORMAT9页第PAGE\*MERGEFORMAT9页共NUMPAGES\*MERGEFORMAT9页第PAGE\*MERGEFORMAT9页共NUMPAGES\*MERGEFORMAT9页第PAGE\*MERGEFORMAT9页共NUMPAGES\*MERGEFORMAT9页第PAGE\*MERGEFORMAT9页共NUMPAGES\*MERGEFORMAT9页第PAGE\*MERGEFORMAT9页共NUMPAGES\*MERGEFORMAT9页第PAGE\*MERGEFORMAT9页共NUMPAGES\*MERGEFORMAT9页第PAGE\*MERGEFORMAT9页共NUMPAGES\*MERGEFORMAT9页第PAGE\*MERGEFORMAT9页共NUMPAGES\*MERGEFORMAT9页2022java面试官如何面试别人java面试官如何面试别人java面试官如何面试别人(一)java面试官的;面试心得;在公司当技术面试官几年间,从应届生到工作十几年的应聘者都遇到过。先表达一下我自己对面试的观点:1.笔试、面试去评价一个人确定是不够精确的,了解一个人最精确的方式就是;路遥知马力,日久见人心;。通过一、二个小时内的做题、沟通,只是没有其他方法下进行的无奈之举,所以通过了面试不代表有多胜利,没通过也不代表有多失败。2.好的面试官本身交谈的时候就不应当把自己一个居高临下的角色上,应当把自己和应聘者当做两个做技术的人同等的沟通,把自己当作权威往往就会受到观点的角度、语言表达、工作领域的惯性的制约。3.好的考察题目则是大家能常常接触,不同层次的人能有不同层次的答案,能从问题引申出后面接着探讨的话题。举个例子抛砖引玉,下面这个问题是我以前常问的,从应届生到工作十几年的人都问过:引用;地球人都知道,Java有个东西叫垃圾收集器,它让创建的对象不须要像c/cpp那样delete、free掉,你能不能谈谈,GC是在什么时候,对什么东西,做了什么事情?;我自己分析一下这个问题,首先是;什么时候;,不同层次的回答从低到高排列:1.系统空闲的时候。分析:这种回答大约占30%,遇到的话一般我就会打算转向别的话题,譬如算法、譬如SSH看看能否发掘一些他擅长的其他方面。2.系统自身确定,不行预料的时间/调用System.gc()的时候。分析:这种回答大约占55%,大部分应届生都能回答到这个答案,至少不能算错误是吧,后续应当细分一下究竟是语言表述导致答案太笼统,还是本身就只有这样一个模糊的相识。3.能说出新生代、老年头结构,能提出minorgc/fullgc分析:到了这个层次,基本上能说对GC运作有概念上的了解,譬如看过《深化JVM虚拟机》之类的。这部分不足10%。4.能说明minorgc/fullgc的触发条件、OOM的触发条件,降低GC的调优的策略。分析:列举一些我期望的回答:eden满了minorgc,升到老年头的对象大于老年头剩余空间fullgc,或者小于时被HandlePromotionFailure参数强制fullgc;gc与非gc时间耗时超过了GCTimeRatio的限制引发OOM,调优诸如通过NewRatio限制新生代老年头比例,通过MaxTenuringThreshold限制进入老年前生存次数等……能回答道这个阶段就会给我带来比较高的期望了,当然面试的时候正常人都不会记得每个参数的拼法,我自己写这段话的时候也是翻过手册的。回答道这部分的小于2%。PS:加起来不到100%,是因为有的确少数干脆说不知道,或者干脆拒绝回答的==#分析其次个问题:;对什么东西;:1.不运用的对象。分析:相当于没有回答,问题就是在问什么对象才是;不运用的对象;。大约占30%。2.超出作用域的对象/引用计数为空的'对象。分析:这2个回答站了60%,相当高的比例,估计学校教java的时候老师就是这样教的。第一个回答没有解决我的疑问,gc究竟怎么推断哪些对象在不在作用域的?至于引用计数来推断对象是否可收集的,我可以会补充一个下面这个例子让面试者分析一下obj1、obj2是否会被GC掉?classC{publicObjectx;}Cobj1、obj2=newC();obj1.x=obj2;ob